Search Results

Search found 681 results on 28 pages for 'sean hill'.

Page 5/28 | < Previous Page | 1 2 3 4 5 6 7 8 9 10 11 12  | Next Page >

  • Problems Rendering Text in OpenGL Using FreeType

    - by Sean M.
    I've been following both the FreeType2 tutorial and the WikiBooks tuorial, trying to combine things from them both in order to load and render fonts using the FreeType library. I used the font loading code from the FreeType2 tutorial and tried to implement the rendering code from the wikibooks tutorial (tried being the keyword as I'm still trying to learn model OpenGL, I'm using 3.2). Everything loads correctly and I have the shader program to render the text with working, but I can't get the text to render. I'm 99% sure that it has something to do with how I cam passing data to the shader, or how I set up the screen. These are the code segments that handle OpenGL initialization, as well as Font initialization and rendering: //Init glfw if (!glfwInit()) { fprintf(stderr, "GLFW Initialization has failed!\n"); exit(EXIT_FAILURE); } printf("GLFW Initialized.\n"); //Process the command line arguments processCmdArgs(argc, argv); //Create the window glfwWindowHint(GLFW_SAMPLES, g_aaSamples); glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2); g_mainWindow = glfwCreateWindow(g_screenWidth, g_screenHeight, "Voxel Shipyard", g_fullScreen ? glfwGetPrimaryMonitor() : nullptr, nullptr); if (!g_mainWindow) { fprintf(stderr, "Could not create GLFW window!\n"); closeOGL(); exit(EXIT_FAILURE); } glfwMakeContextCurrent(g_mainWindow); printf("Window and OpenGL rendering context created.\n"); glClearColor(0.2f, 0.2f, 0.2f, 1.0f); //Are these necessary for Modern OpenGL (3.0+)? glViewport(0, 0, g_screenWidth, g_screenHeight); glOrtho(0, g_screenWidth, g_screenHeight, 0, -1, 1); //Init glew int err = glewInit(); if (err != GLEW_OK) { fprintf(stderr, "GLEW initialization failed!\n"); fprintf(stderr, "%s\n", glewGetErrorString(err)); closeOGL(); exit(EXIT_FAILURE); } printf("GLEW initialized.\n"); Here is the font file (it's slightly too big to post): CFont.h/CFont.cpp Here is the solution zipped up: [solution] (https://dl.dropboxusercontent.com/u/36062916/VoxelShipyard.zip), if anyone feels they need the entire solution. If anyone could take a look at the code, it would be greatly appreciated. Also if someone has a tutorial that is a little more user friendly, that would also be appreciated. Thanks.

    Read the article

  • Is it customary to write Java domain objects / data transfer objects with public member variables on mobile platforms?

    - by Sean Mickey
    We performed a code review recently of mobile application Java code that was developed by an outside contractor and noticed that all of the domain objects / data transfer objects are written in this style: public class Category { public String name; public int id; public String description; public int parentId; } public class EmergencyContact { public long id; public RelationshipType relationshipType; public String medicalProviderType; public Contact contact; public String otherPhone; public String notes; public PersonName personName; } Of course, these members are then accessed directly everywhere else in the code. When we asked about this, the developers told us that this is a customary performance enhancement design pattern that is used on mobile platforms, because mobile devices are resource-limited environments. It doesn't seem to make sense; accessing private members via public getters/setters doesn't seem like it could add much overhead. And the added benefits of encapsulation seem to outweigh the benefits of this coding style. Is this generally true? Is this something that is normally done on mobile platforms for the reasons given above? All feedback welcome and appreciated -

    Read the article

  • Failed to retrieve share list from server

    - by Eric Sean Tite Webber
    UBUNTU 11.10 NAUTILUS 3.2.1 We ARE able to see Windows PCs on our network from Ubuntu's NAUTILUS, yet we are NOT able to access their shares from NAUTILUS, even though they work fine with each other, i.e. each windows PC IS able access the other Windows PC's shares just fine. Please infer from this information the answers to any questions about our situation you may have. Note this is a default/pristine configuration, i.e. no changes have been made whatsoever. Our version of Ubuntu is: 11.10, NAUTILUS is 3.2.1 Linux tite-HP-630-Notebook-PC 3.0.0-15-generic #26-Ubuntu SMP Fri Jan 20 17:23:00 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux A screenshot is available upon request. Thanks in advance for your assistance.

    Read the article

  • What would be the level of effort required to implement a screencapture command on a PS3 game?

    - by Sean Scott
    Looking to see what the level of effort is for implementing a screen capture command into PS3 game by a mid-level PS3 game developer. Bonus for a description of what is involved in the process... EDIT Not sure how to get back my question since it was the first but let me clarify some things. @Nate Bross, nope I am not the actor although i've fielded calls for him on occasion @coderanger my intent was to try and speak to other PS3 developers, however coming from a web development no one in my social circle close or extended develops on the PS3. Additionally i'm interested in hearing the effort required in terms of hours so that this information can be passed on to a client. A client who has a game on the PS3 using the unreal engine. Convo with devs sometimes go something like "can you implement feature a" which gets a response "this will take us 8 weeks and an army". Trying to be educated before the ask. I hope that helps If anyone here is a PS3 game dev and would like to respond off site so as not to break NDA that would be awesome. @Roger it would be from within the game, something that users can use. Something akin to the iphone screencap utility. No need to get fancier than that.

    Read the article

  • Run On Sentences in Technical Writing

    - by Sean Noodleson Neilan
    This is just a question to think about. When you write technical documentation and programming comments, do you ever find yourself writing run-on sentences in order to be more precise? Is packing more technical information into one sentence better than creating many little sentences each with a little bit of technical information? I know it's better to have lots of little classes in their own little files. Perhaps this doesn't apply to writing?

    Read the article

  • Samsung Series 5 overheating

    - by Sean Brad
    I bought a Samsung Series 5 Ultra 2 weeks ago and installed Ubuntu 12.04 LTS. I am experiencing problems with overheating. When streaming, watching a movie or when having several programms/actions going on at the same time the CPU temperature rises to 95 degrees and the computer freezes. This happens sometimes when the computer is on battery and always when it is recharging. When I am using the computer on battery the CPU temperature is floating from around 75-95 degrees depending what it's doing. When the battery is recharging the CPU temperature is ranging from 88-95 degrees no matter what tasks it performs. Have anyone experienced this and how may the problem be solved? Best regards

    Read the article

  • Creating collection with no code (almost)

    - by Sean Feldman
    When doing testing, I tend to create an object mother for the items generated multiple times for specifications. Quite often these objects need to be a part of a collection. A neat way to do so is to leverage .NET params mechanism: public static IEnumerable<T> CreateCollection<T>(params T[] items) { return items; } And usage is the following: private static IEnumerable<IPAddress> addresses = CreateCollection(new IPAddress(123456789), new IPAddress(987654321));

    Read the article

  • Simple MVVM Walkthrough – Refactored

    - by Sean Feldman
    JR has put together a good introduction post into MVVM pattern. I love kick start examples that serve the purpose well. And even more than that I love examples that also can pass the real world projects check. So I took the sample code and refactored it slightly for a few aspects that a lot of developers might raise a brow. Michael has mentioned model (entity) visibility from view. I agree on that. A few other items that don’t settle are using property names as string (magical strings) and Saver class internal casting of a parameter (custom code for each Saver command). Fixing a property names usage is a straight forward exercise – leverage expressions. Something simple like this would do the initial job: class PropertyOf<T> { public static string Resolve(Expression<Func<T, object>> expression) { var member = expression.Body as MemberExpression; return member.Member.Name; } } With this, refactoring of properties names becomes an easy task, with confidence that an old property name string will not get left behind. An updated Invoice would look like this: public class Invoice : INotifyPropertyChanged { private int id; private string receiver; public event PropertyChangedEventHandler PropertyChanged; private void OnPropertyChanged(string propertyName) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } public int Id { get { return id; } set { if (id != value) { id = value; OnPropertyChanged(PropertyOf<Invoice>.Resolve(x => x.Id)); } } } public string Receiver { get { return receiver; } set { receiver = value; OnPropertyChanged(PropertyOf<Invoice>.Resolve(x => x.Receiver)); } } } For the saver, I decided to change it a little so now it becomes a “view-model agnostic” command, one that can be used for multiple commands/view-models. Updated Saver code now accepts an action at construction time and executes that action. No more black magic internal class Command : ICommand { private readonly Action executeAction; public Command(Action executeAction) { this.executeAction = executeAction; } public bool CanExecute(object parameter) { return true; } public event EventHandler CanExecuteChanged; public void Execute(object parameter) { // no more black magic executeAction(); } } Change in InvoiceViewModel is instantiation of Saver command and execution action for the specific command. public ICommand SaveCommand { get { if (saveCommand == null) saveCommand = new Command(ExecuteAction); return saveCommand; } set { saveCommand = value; } } private void ExecuteAction() { DisplayMessage = string.Format("Thanks for creating invoice: {0} {1}", Invoice.Id, Invoice.Receiver); } This way internal knowledge of InvoiceViewModel remains in InvoiceViewModel and Command (ex-Saver) is view-model agnostic. Now the sample is not only a good introduction, but also has some practicality in it. My 5 cents on the subject. Sample code MvvmSimple2.zip

    Read the article

  • Problems with 3D Array for Voxel Data

    - by Sean M.
    I'm trying to implement a voxel engine in C++ using OpenGL, and I've been working on the rendering of the world. In order to render, I have a 3D array of uint16's that hold that id of the block at the point. I also have a 3D array of uint8's that I am using to store the visibility data for that point, where each bit represents if a face is visible. I have it so the blocks render and all of the proper faces are hidden if needed, but all of the blocks are offset by a power of 2 from where they are stored in the array. So the block at [0][0][0] is rendered at (0, 0, 0), and the block at 11 is rendered at (1, 1, 1), but the block at [2][2][2] is rendered at (4, 4, 4) and the block at [3][3][3] is rendered at (8, 8, 8), and so on and so forth. This is the result of drawing the above situation: I'm still a little new to the more advanced concepts of C++, like triple pointers, which I'm using for the 3D array, so I think the error is somewhere in there. This is the code for creating the arrays: uint16*** _blockData; //Contains a 3D array of uint16s that are the ids of the blocks in the region uint8*** _visibilityData; //Contains a 3D array of bytes that hold the visibility data for the faces //Allocate memory for the world data _blockData = new uint16**[REGION_DIM]; for (int i = 0; i < REGION_DIM; i++) { _blockData[i] = new uint16*[REGION_DIM]; for (int j = 0; j < REGION_DIM; j++) _blockData[i][j] = new uint16[REGION_DIM]; } //Allocate memory for the visibility _visibilityData = new uint8**[REGION_DIM]; for (int i = 0; i < REGION_DIM; i++) { _visibilityData[i] = new uint8*[REGION_DIM]; for (int j = 0; j < REGION_DIM; j++) _visibilityData[i][j] = new uint8[REGION_DIM]; } Here is the code used to create the block mesh for the region: //Check if the positive x face is visible, this happens for every face //Block::VERT_X_POS is just an array of non-transformed cube verts for one face //These checks are in a triple loop, which goes over every place in the array if (_visibilityData[x][y][z] & 0x01 > 0) { _vertexData->AddData(&(translateVertices(Block::VERT_X_POS, x, y, z)[0]), sizeof(Block::VERT_X_POS)); } //This is a seperate method, not in the loop glm::vec3* translateVertices(const glm::vec3 data[], uint16 x, uint16 y, uint16 z) { glm::vec3* copy = new glm::vec3[6]; memcpy(&copy, &data, sizeof(data)); for(int i = 0; i < 6; i++) copy[i] += glm::vec3(x, -y, z); //Make +y go down instead return copy; } I cannot see where the blocks may be getting offset by more than they should be, and certainly not why the offsets are a power of 2. Any help is greatly appreciated. Thanks.

    Read the article

  • What should I use Ubuntu for? [closed]

    - by Sean francis Ballais
    I need some of your precious advice co-Ubuntu users. I have been a full Ubuntu user for a few months now and our old 2005 model PC just broke down and so my parents gave me a new PC (notebook). I have installed Windows 7 Ultimate for some reason. Now, my problem is that, since I am a amateur graphic designer, website developer, software developer and other professions a normal teenager won't try and I am using Adobe Creative Suite CS6 Master Collection for my multimedia creation and web development needs, what could I use Ubuntu Linux for? Software development? Website Usability Testing? Other Multimedia stuff? Etc.? Need real help because my mind is getting confused in what should I use Ubuntu for... Any help will be welcomed with appreciation. :D P.S. Don't suggest to me any games because I'm no gamer.

    Read the article

  • Direct X-forwarding

    - by Sean Houlihane
    I'm struggling to set up X-forwarding between 2 different machines on my local network and my ubuntu desktop. I'm able to connect using ssh x-forwarding one one machine, but the other machine (a Qnap TS-219P II) seems to have a less functional build of SSH on it, and I'd rather use a simpler approach. I've set $DISPLAY, and done 'xauth list $DISPLAY' on the desktop, then 'xauth add ' on the remote machine. From the remote machine, I just get xterm xterm Xt error: Can't open display: 192.168.0.4:0.0 Now, oddly, if I connect via ssh -X, there is a different magic cookie for the tunnelled port (but neither seems to work). I'm wondering if there is a port which needs to be enabled to permit X connections from the LAN? If so, how? The proper solution might be to re-build all the packages which are preventing X-forwarding from working on my QNAP machine, but lets assume for the purposes of this question that I've tried building enough packages on that architecture already and want to run X without the overhead of encryption.

    Read the article

  • Is there a way to add Google Docs-like comments to any web page?

    - by Sean
    You know the comments on Google Docs word processing documents? And how it creates a little discussion over in the right-hand margin? I love it. Great for collaboration. I want to free it from Google Docs so I can use it with clients to discuss mock-ups or scaffolded websites. Searching Google for "add comments [or discussions] to any website" only gets you results for adding blog-like comments (Disqus, JS-Kit, etc.) Anyone know of a solution for what I'm after here?

    Read the article

  • Ubuntu on USB does not boot on MacBook

    - by Sean H
    Ubuntu is installed on a 32 gigabyte flash-drive and it successfully booted every time up until I partitioned my hard-drive and installed Windows as a secondary boot (for programming reasons). Now every time I attempt to boot the Ubuntu flash-drive it boots into Windows XP. The same goes for partitions, I partitioned my hard-drive and installed Ubuntu and it only booted Windows XP. I am on a MacBook 6,1 with Mac OS X 10.6.8, 2 partitions, and I am using ReFit as my boot-loader. EDIT: I had Ubuntu working fine from FLASH DRIVE and at one point as a partition. I later uninstalled Ubuntu from my hard-drive and installed Windows. I then had to re-image my computer for certain reasons and I installed windows. Now when I attempt to boot anything other than Windows or OS X it boots into windows. Ubuntu was never on my hard drive while Ubuntu was on it. The flash-drive has been its own thing and has the boot-loader installed to it and loads from ReFit but boots into windows.

    Read the article

  • Novice prototyping a massive multiplayer webpage based gaming system

    - by Sean Hendlin
    I'm trying to build a website based game in which various pages of the site act as different areas of the game. I am wondering what you would recommended as a design structure. Which languages would be best if building what will hopefully becomes a massive system able to scale to massive amounts of users. I am wondering if and how various elements from differing languages could be meshed to interact with each other. For example could I use html5, javascript, and PHP? What about asp.net how might that factor in? I'm a newbie programmer but I've been working on this idea for years and I want to build it to reality. Your comments and suggestions are appreciated. P.S.: The game is not all graphics and animation (though flash like appearance and some animation would be nice). What I am thinking of is essentially a heavily gamified system of forms. And LOTS of data in many different categories cross referencing each-other. I'm not sure how to go about structuring the collection of data. Also while I know javascript can be used to process some functions, I'm wondering what sort of base system I would need to handle the server side processing of what I am expecting to be some pretty significant algorithm processing. That is to say I expect to have many many many functions and I'm not sure how to mange this using javascript. I feel like they would be forgotten, mixed up, disorganizes as they essentially only exist where they are coded. I guess I need to learn something of libraries? OK, Thank you! Is enough from me for now.

    Read the article

  • How do I install packages like Oracle Java?

    - by Sean
    I've been trying to install various things, and I need some packages that just aren't showing up in Ubuntu's Software Center. In fact, no packages are showing up there, just whole programs. I need to install sun-java6-jre for some of these things, but it's simply not in the Software Center. I had Ubuntu last year (and due to various circumstances, had to get rid of it shortly thereafter) and these things were there then. So why can't I find them now?

    Read the article

  • Simple NAS setup for Ubuntu

    - by Sean Houlihane
    So, I want to connect my shiny new NAS (QNAP TS-210p II) to my Ubuntu 11.10 box. I have a 2nd Ubuntu machine, but I don't use that enough to be too worried about it. Use is ideally to offload all storage except for system (which can then run off a 30GB flash drive). The main machine also runs Myth front/backends. Both are on a wired network currently. I have got a basic setup working, mounted over NFS, but have some issues, and whenever I look for answers, I seem to get unto the UbuntuServer domain, with what seems like more detail than I want in an answer. Questions I have identified so far: 1) Sharing UIDs to get file permissions correct. LDAP or something else? What is necessary to make this work? 2) Mounting an NFS device reliably. Do I just add it in fstab or is some sort of auto-mount advisable? Its a wired network, but I shouldn't need to worry about reboot after power-outages and sequencing...

    Read the article

  • What can I put in my software development blog to make it a good showcase of me?

    - by Sean
    I have been itching to write a software development blog for some time now. The best advice I've received about blog writing is "Write the blog you would have want to read". Its good advice but its only half the story, Once you write a blog it becomes your showcase on the Internet, it is bound to come up on any search conducted by a future colleague or employer. It can be a good thing or it can do some serious damage. So if there are any hiring managers out there, can you give me a few pointers on what it is in a blog that give you a good impression about candidate and/or the kind of stuff that causes you to throw the candidate's resume to the nearest bean? Does a blog have to come up with a clever piece of code every week? (Don’t think I can manage it) Is it OK to blog more then not about development methods to improved quality and productivity (have a lot of ideas about that). Can I blog about stuff I did not try first hand but seems noteworthy?

    Read the article

  • Is there an alternative to k3dsurf in 12.10?

    - by Sean Fitzpatrick
    I've just upgraded to Quantal Quetzal on my home computer and discovered that the program K3dSurf has been removed from the repositories. (Presumably since it doesn't seem to be in active development and still depends on qt3 libraries.) Does anyone know of a similar program (user-friendly and versatile) for drawing 3D surfaces? This has been a mission-critical program for me when teaching multivariable calculus, so I won't be able to upgrade at work unless I can find a replacement. (Yes, I could install directly from the program's website, but dealing with obsolete libraries sounds like a giant headache.)

    Read the article

  • Why am I getting domainpark.cgi being called from my website?

    - by Sean
    I used to test my site on www.exampleone.com and now I have moved to the real domain www.realdomain.com now and www.exampleone.com is now parked by 1and1 (default). Now when I test to see which requests are made by the www.realdomain.comI see domainpark.cgi and park.js from Sedo Parking also being requested as well as the js that serves the ads by adclicks. How do I get rid of this? It's not on the index page at all, and it's causing a lot of strain and slowing my site down.

    Read the article

  • 14.04 default locales

    - by Seán Ó Séaghdha
    After a new install of 14.04 I have quite a few extra locales/languages. Is this normal? I installed using English (GB) I think since en_AU isn't an option. At some point apt offered a list of unused files which I removed. Now when I open Language Support it warns me that "Language support is not installed completely" and offers to reinstall this list... kde-l10n-zhcn thunderbird-locale-en-gb thunderbird-locale-es libreoffice-l10n-en-gb libreoffice-help-es libreoffice-help-en-gb wspanish thunderbird-locale-zh-cn myspell-es ibus-sunpinyin mythes-en-au kde-l10n-es libreoffice-l10n-zh-cn fonts-arphic-uming ibus-table-wubi thunderbird-locale-es-es thunderbird-locale-zh-hans libreoffice-l10n-en-za thunderbird-locale-es-ar hunspell-en-ca libreoffice-l10n-es libreoffice-help-zh-cn kde-l10n-engb fonts-arphic-ukai So are Spanish and Chinese installed by default in all installations now? Why do I need Canadian English spellchecking installed?

    Read the article

  • What determines which Javascript functions are blocking vs non-blocking?

    - by Sean
    I have been doing web-based Javascript (vanilla JS, jQuery, Backbone, etc.) for a few years now, and recently I've been doing some work with Node.js. It took me a while to get the hang of "non-blocking" programming, but I've now gotten used to using callbacks for IO operations and whatnot. I understand that Javascript is single-threaded by nature. I understand the concept of the Node "event queue". What I DON'T understand is what determines whether an individual javascript operation is "blocking" vs. "non-blocking". How do I know which operations I can depend on to produce an output synchronously for me to use in later code, and which ones I'll need to pass callbacks to so I can process the output after the initial operation has completed? Is there a list of Javascript functions somewhere that are asynchronous/non-blocking, and a list of ones that are synchronous/blocking? What is preventing my Javascript app from being one giant race condition? I know that operations that take a long time, like IO operations in Node and AJAX operations on the web, require them to be asynchronous and therefore use callbacks - but who is determining what qualifies as "a long time"? Is there some sort of trigger within these operations that removes them from the normal "event queue"? If not, what makes them different from simple operations like assigning values to variables or looping through arrays, which it seems we can depend on to finish in a synchronous manner? Perhaps I'm not even thinking of this correctly - hoping someone can set me straight. Thanks!

    Read the article

  • (SOLVED) Problems Rendering Text in OpenGL Using FreeType

    - by Sean M.
    I've been following both the FreeType2 tutorial and the WikiBooks tuorial, trying to combine things from them both in order to load and render fonts using the FreeType library. I used the font loading code from the FreeType2 tutorial and tried to implement the rendering code from the wikibooks tutorial (tried being the keyword as I'm still trying to learn model OpenGL, I'm using 3.2). Everything loads correctly and I have the shader program to render the text with working, but I can't get the text to render. I'm 99% sure that it has something to do with how I cam passing data to the shader, or how I set up the screen. These are the code segments that handle OpenGL initialization, as well as Font initialization and rendering: //Init glfw if (!glfwInit()) { fprintf(stderr, "GLFW Initialization has failed!\n"); exit(EXIT_FAILURE); } printf("GLFW Initialized.\n"); //Process the command line arguments processCmdArgs(argc, argv); //Create the window glfwWindowHint(GLFW_SAMPLES, g_aaSamples); glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2); g_mainWindow = glfwCreateWindow(g_screenWidth, g_screenHeight, "Voxel Shipyard", g_fullScreen ? glfwGetPrimaryMonitor() : nullptr, nullptr); if (!g_mainWindow) { fprintf(stderr, "Could not create GLFW window!\n"); closeOGL(); exit(EXIT_FAILURE); } glfwMakeContextCurrent(g_mainWindow); printf("Window and OpenGL rendering context created.\n"); glClearColor(0.2f, 0.2f, 0.2f, 1.0f); //Are these necessary for Modern OpenGL (3.0+)? glViewport(0, 0, g_screenWidth, g_screenHeight); glOrtho(0, g_screenWidth, g_screenHeight, 0, -1, 1); //Init glew int err = glewInit(); if (err != GLEW_OK) { fprintf(stderr, "GLEW initialization failed!\n"); fprintf(stderr, "%s\n", glewGetErrorString(err)); closeOGL(); exit(EXIT_FAILURE); } printf("GLEW initialized.\n"); Here is the font file (it's slightly too big to post): CFont.h/CFont.cpp Here is the solution zipped up: [solution] (https://dl.dropboxusercontent.com/u/36062916/VoxelShipyard.zip), if anyone feels they need the entire solution. If anyone could take a look at the code, it would be greatly appreciated. Also if someone has a tutorial that is a little more user friendly, that would also be appreciated. Thanks.

    Read the article

  • XNA: Runtime differences in ClickOnce install versus development version

    - by Sean Colombo
    I have a game written in XNA, and I use ClickOnce installers to distribute the game to testers. I keep once computer as a test machine which does NOT have development environments installed, so that I can test the installed version. We've found a reproducible bug in our game, but the bug ONLY occurs on the non-development machines that use the ClickOnce installer. The bug is related to some of our code for moving around 3D objects and is not tied to Networking or GamerServices. Are there known differences in the ClickOnce runtime and the version on dev? Are there any best-practices for debugging something like this?

    Read the article

  • Creating a voxel world with 3D arrays using threads

    - by Sean M.
    I am making a voxel game (a bit like Minecraft) in C++(11), and I've come across an issue with creating a world efficiently. In my program, I have a World class, which holds a 3D array of Region class pointers. When I initialize the world, I give it a width, height, and depth so it knows how large of a world to create. Each Region is split up into a 32x32x32 area of blocks, so as you may guess, it takes a while to initialize the world once the world gets to be above 8x4x8 Regions. In order to alleviate this issue, I thought that using threads to generate different levels of the world concurrently would make it go faster. Having not used threads much before this, and being still relatively new to C++, I'm not entirely sure how to go about implementing one thread per level (level being a xz plane with a height of 1), when there is a variable number of levels. I tried this: for(int i = 0; i < height; i++) { std::thread th(std::bind(&World::load, this, width, height, depth)); th.join(); } Where load() just loads all Regions at height "height". But that executes the threads one at a time (which makes sense, looking back), and that of course takes as long as generating all Regions in one loop. I then tried: std::thread t1(std::bind(&World::load, this, w, h1, h2 - 1, d)); std::thread t2(std::bind(&World::load, this, w, h2, h3 - 1, d)); std::thread t3(std::bind(&World::load, this, w, h3, h4 - 1, d)); std::thread t4(std::bind(&World::load, this, w, h4, h - 1, d)); t1.join(); t2.join(); t3.join(); t4.join(); This works in that the world loads about 3-3.5 times faster, but this forces the height to be a multiple of 4, and it also gives the same exact VAO object to every single Region, which need individual VAOs in order to render properly. The VAO of each Region is set in the constructor, so I'm assuming that somehow the VAO number is not thread safe or something (again, unfamiliar with threads). So basically, my question is two one-part: How to I implement a variable number of threads that all execute at the same time, and force the main thread to wait for them using join() without stopping the other threads? How do I make the VAO objects thread safe, so when a bunch of Regions are being created at the same time across multiple threads, they don't all get the exact same VAO? Turns out it has to do with GL contexts not working across multiple threads. I moved the VAO/VBO creation back to the main thread. Fixed! Here is the code for block.h/.cpp, region.h/.cpp, and CVBObject.h/.cpp which controls VBOs and VAOs, in case you need it. If you need to see anything else just ask. EDIT: Also, I'd prefer not to have answers that are like "you should have used boost". I'm trying to do this without boost to get used to threads before moving onto other libraries.

    Read the article

  • Do you think Windows 8 will be a success? [closed]

    - by Sean Dexter
    I'm a c# developer so far and just about to head into getting my skills up to date in WinRT. However, I'm having a crisis of faith and wondering if it might be a better career move to jump on the Objective-C bandwagon. The way I see it, Windows 8 might be a success or it might not. Apple technologies are a sure bet. Honestly, I don't want to get into Apple development. I'd prefer to pretend AAPL doesn't exist, but, unfortunately, that's not possible.

    Read the article

< Previous Page | 1 2 3 4 5 6 7 8 9 10 11 12  | Next Page >