• Content count

  • Joined

  • Last visited

Community Reputation

612 Good

About teutonicus

  • Rank
  1. Mods/community content. I play through the Baldur's Gate trilogy once a year or so. There's always something new to try out.
  2. Intuition - flipcode.com

    omg it's flipcode Maybe it wasn't merely a hunch. Maybe the power of Mitra compelled you to visit the tombstone of flipcode, that you would then post about your discovery of its resurrection, which I would read on my hourly F5 of the gamedev New Content page, causing me to visit flipcode forthwith and fondly reminisce.
  3. 9/11 Never Forget.

    [quote name='Dynamo_Maestro' timestamp='1347418264' post='4979149'] OMG it is the right vid, holy shit it was badly done, wow how can anyone get offended by it, its soo bad its funny [media]http://www.youtube.com/watch?v=qmodVun16Q4[/media] That,.. Was,.. TERRIBLE!! I was laughing the whole way through, it was truly awful, so funny how bad the sound, acting and scene was, I cant wait for the full movie hahaha [/quote] http://worldnews.nbcnews.com/_news/2012/09/11/13807579-american-killed-in-libya-during-protests-about-prophet-muhammad-video?lite I wonder what the response will be to the full movie ...
  4. Assimp and COLLADA bind shape matrix

    Odd ... can you verify that the collada file you're using has those transformations in it? If you aren't using the aiProcess_PreTransformVertices flag when reading the file, the transformations for your aiMesh instances should be in the aiNodes that they're attached to. Are you using the aiProcess_OptimizeGraph flag?
  5. I prefer to use a GUI for version control. I recommend [url="http://www.syntevo.com/smartgit/index.html"]SmartGit[/url], which is free for non-commercial use. It's also available on Windows, OSX and Linux. Can't help you with redmine as I've never used it before.
  6. Most favorite Games

    Mine's definitely Gambling and bettig at Casino Megamall.
  7. Macs vs PCs?

    Programmers use both (out of necessity more than anything; Mac is required to develop for iOS/OSX but existing engine and toolchain is Windows based), artists and everyone else use Windows exclusively. This from standpoint of an iOS/OSX developer. Main issue for developers is usually development environment + tools. Everything else you adapt to pretty easily. XCode does some things better than VS and vice versa, but overall I prefer working in VS and with the tools available to me on Windows. This is probably more because of familiarity than anything else though.
  8. Game engine demos, looking for feedback.

    Ouufff the Quick Hack Spaceship video was starting to give me motion sickness! Loved the racing vid though; reminded me of GTA2. Looking forward to seeing where you take this.
  9. The OpenGL equivalent is [url="http://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveAttrib.xml"]glGetActiveAttrib[/url] and related functions. The manpage explains it all very well.
  10. The most likely culprit: [code] void StaticMesh::Render() { for(std::vector<ObjectData*>::iterator mesh = m_meshData.begin(); mesh != m_meshData.end(); mesh++) { glBindVertexArray((*mesh)->GetVAO()); glDrawElements(GL_TRIANGLES,(*mesh)->GetNumFaces(),GL_UNSIGNED_INT,0); } } [/code] The second argument to glDrawElements (count) must specify the number of indices to use for the draw call, not the number of primitives. So multiply by three for triangle lists. From what I could see, everything else looked okay. In case you're interested in other feedback, here are some things that stood out as I had a quick look at your code: [code] for(unsigned int face = 0, vertexIndex = 0; face < numFaces; face++, vertexIndex += 3) { const struct aiFace* meshFace = &thisMesh->mFaces[face]; memcpy(&indices[vertexIndex],meshFace->mIndices,sizeof(unsigned int) * 3); } [/code] This loop assumes that meshFace->mNumIndices == 3, which could cause problems if your mesh is not triangulated You've written destructors for some of your classes, but no copy constructors or assignment operators. I almost freaked out when I saw standard containers being used to store ObjectDatas but then realised that you were actually storing pointer-to-ObjectDatas ;) [url="http://www.drdobbs.com/c-made-easier-the-rule-of-three/184401400"]http://www.drdobbs.c...three/184401400[/url] Destructors delete/[]ing things that haven't been initialised. If ObjectData::Init is not called for some reason, bad things will happen when that object's destructor is called. I prefer one-step initialisation, but if that's not an option then be sure to initialise member pointers to nullptr in your constructors.
  11. OpenGL Texture Loading with FreeImage

    To debug this problem, these are the steps I'd take: 1. Make sure you're initialising the library correctly if necessary. 2. Make sure FreeImage isn't giving you any errors (give it an output message callback using FreeImage_SetOutputMessage). 3. Assuming there aren't any useful errors, separate logic for opening/reading the file and parsing the file. Use a FILE* or whatever you're comfortable with to open and read the file yourself, verify that the contents of it are what you're expecting, then tell FreeImage to parse it from memory. This way you will be absolutely sure that the path's correct and the file exists. So the first few lines of your loadAtlas functions would look something like this: [code] FILE * file = fopen(filename, "rb"); // ... verify file exists, contents are correct, check format if necessary, etc. FIMEMORY stream = FreeImage_OpenMemory(file_data, file_size); dib = FreeImage_LoadFromMemory(format, stream); // ... [/code] The above's untested but you should get the idea; open the file itself separately and use FreeImage's load from memory functions so that you can be sure that FreeImage isn't/SDL wasn't doing something strange or unexpected under the hood with your file path. 4. If FreeImage is still failing to parse the file correctly and doesn't give you any useful errors after you've gotten the above working, then try using different formats for your images. 5. Use stb_image instead.
  12. You've only really got one graphics API per platform (except Windows, where you have to worry about D3D9/D3D11), so you switch renderer implementation at compile time. No dynamic casts. Something like: Renderer.h [code] #if defined ZZZ_PLATFORM_WINDOWS #include "RendererD3D9.h" #elif defined ZZZ_PLATFORM_OSX #include "RendererGL.h" #elif ... #endif [/code] RendererD3D9.h [code] class Renderer { ... }; [/code] RendererGL.h [code] class Renderer { ... }; [/code] Create separate D3D9/D3D11 builds for Windows and select most appropriate in game's launcher.
  13. Localized Resource Systems

    When I read your post I could have sworn that you were describing the Settlers series. I really enjoyed those games (Settlers 2 in particular). If you haven't played them yet, I highly recommend that you check them out; pretty much everything that you mentioned in your post is in there! One of the main differences I can see is that in Settlers you need to build and upgrade supply routes to/from buildings in order for resources to get around. You can get Settlers 2 for 10 bucks or so at gog.com.
  14. [quote name='dpadam450' timestamp='1339997817' post='4950144'] You are talking about memory. I'm specifically talking about overdraw/ trying to draw stuff that is outside the frustum. By grouping everything into 1 vbo, you are wasting time drawing/shading triangles that are outside the frustum or occluded. [/quote] A draw call does not have to touch all vertices in a VBO. Read Hodgman's post.
  15. creating cooldown effect