When coding with multiple threads it can get pretty tricky using system resources. Many can only be used in the main thread. The main thread is the thread that the OS creates to run your code and your first look at it is the main() entry point.
Many UI systems/compontents like Cocoa and QT can only be safely accessed when the code is running in the main thread. In general you should construct your code so that it's clear what is running in the main thread so the code should never need to ask. The simplest was to do this is to use a Thread Pool pattern but it's not always possible to write generic code that can be called from all threads....
This is more of a reminder to myself about confusing linker errors that can appear in XCode when you are working on large projects with many dependencies.
Everything compiles just fine but when it comes to linking you get errors like this....
I'm making some changes to the codebase that drives Max Astro before making my next game. The biggest change is that the engine is going to be controlled by Lua. Lua will run the main logic loop and lua will be the configuration language.
Stripification is the process of turning lists of triangles in an arbitrary order into as many lists of triangles that contain adjacent edges. There is a great explanation of a triangle strip of wikipedia.
In OpenGL ES 2.0 glAlphaFunc isn't available, you have to implement it in a fragment shader. There isn't a lot of reference out there for this (not that I could find anyway) so I thought I'd write this up.
Bullet is an open source collision and physics simulation library written by Erwin Coumans who I believe worked or maybe still does work at SCEA (Sony Computer Entertainment America). Bullet provides a C++ API to a very robust Collision, Rigid Body and Soft body...