I intend to load the IFS P51 Mustang model using G3D's IFSModel class.
This class has two static methods that appear to load an IFS model from disk, namely create() (two overloads) and load(). The former returns an IFSModelRef, the second populates three arrays, passed in as arguments, and named index, vertex, and texCoord. I think using the first is best for me. I need to pass in the filename as a minimum. Optional arguments set the scale, a transformation (as a CoordinateFrame), and whether to 'weld' together co-incident vertices.
For now, i'm going to attempt to load this in Game::init(), keeping hold of the IFSModelRef as a member variable.
I now feel I'm ready to have a go at creating my first simple OpenGL game. It's going to be pretty simple - there'll be no scene graph, just a simple array for storing objects in the world. I won't implement frustum culling either, at least not in the first instance.
My game will be based on space flight, so I will start with the player's ship. It should appear just in front and below of the camera, i.e. third person. It should turn and dive/climb in response to keyboard input, and have a speed that can be set.
I will start with the p51 IFS model that comes with G3D, as I don't have the means to create my own models as yet. The VC++ project is created as an empty Win32 Project. It needs as a minimum a main.cpp file containing the main() entry point.
compton
7:00 am, Saturday, 31 December 05
Calling run() on the App instance executes any code I have placed in App::main(), inside exception handlers. For this simple example, App::main() will simply instantiate my implementation of GApplet, and call run() on it. To begin with, I need to override GApplet::init() and GApplet::doGraphics(). I can then override GApplet::doLogic() and GApplet::doSimulation() later.