GLSL: Getting active uniforms

When you load a vertex and fragment shader in OpenGL you need to pass in data such as the current viewport transform, camera transform and lighting data. You do this via Uniform variables.

Each of these Uniforms is addressed via a location which in true OpenGL style is a GLuint …


QMAKE_BUNDLE_DATA doesn’t bundle frameworks

I’ve been playing with building an App using qmake as the build system. I started with a simple QT App built using the wizard in QTCreator and tweaking it.

I ran in to the problem that I needed to copy the SFML frameworks in to the App Bundle. The …


iPhone App Version Information In XCode

When you create an iOS Application in XCode by default the version of the application is stored in-Info.plist. It would be really handy to get this in to code for compile time checks and #defines.

PList files are actually XML files which makes them easy to read in a …


Metalify - A Spotify Clone

For a few months I’ve wanted to make a clone of Spotify but I haven’t been able to justify the time. Last week I decided to take a week off and give it a go. The justification for this is that I wanted to deploy a Django website …


NvStrip and Blender – Stripifying Models for the iPhone/iPad.

What Is Stripification?

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.

Why would you stripify?

On most platforms Triangle Strips render more quickly. The …


Implementing glAlphaFunc in OpenGL ES2.0

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.

It’s actually quite simple to implement …


Integrating Bullet Physics

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 simulation system. At its core Bullet …


Starting Out On The iPad

Why the iPad?

When the iPad was announced I decided it was time to take the plunge and develop a game for it. Although the iPhone is a powerful piece of hardware I just find the screen too limiting. Every game leaves you wishing you had transparent fingers. The iPad …


Subversion and Apple Filemerge Integrtaion

NOTE: This is an old article I wrote in January 2007, it’s still relevant today. It was originally posted on luckydonkey.com which I am in the process of retiring.

If you want visual diff’s while developing on OSX using subversion then this page has a good description …