Version 8, last updated by pcadi052 at April 20, 2008 11:50 UTC
User Manual
Star Trek: Voyager
Our project was an attempt to reproduce the introduction to the ST:Voyager tv show. A video of this introduction can be found on youtube:
... and here's what we got so far
The project was built using OpenGL 2.0 (though only 1.5 is required to run it), OpenAL, , models created in Blender*, and the textures created in The GIMP**. All these tools are open source and can be downloaded freely.
*except for the Voyager model, thank you to Sarod at http://www.trekmeshes.ch/for making it
**except the skybox texture, it was taken from NASA's website
Downloads:
- OpenGL (http://www.opengl.org/)
- OpenAL (http://www.openal.org/)
- Blender (http://www.blender.org/)
- The GIMP (http://www.gimp.org/)
To Run the Project
Our project is composed of two executables. The first is the MeshConverter.exe which is used to convert the Lightwave models (.lwo) into glMeshes. To run the converter you must have it in it's folder and all the models in the parent folder. The converter is a command line application that requires uses a path parameter towards the lwo files (wildcare characters can be used, we are using "..\*.lwo" excluding the quotation marks).
The second executable VoyageIntro3D.exe can be ran out of the box if you have all the necessary components listed above. The animation will not start until you press on the 'space' key.
Features:
- A script interpreter which allowed us to script the scene quickly with a custom set of verbs.
- The mesh converter that allowed us read Lightwave files and convert them to our own format.
- We use compressed textures that are decompressed on the gpu for better performance.
- An Ogg Vorbis player for the Star Trek soundtrack.
- Quaternion rotations to simplify the orientation of models in 3d space.
- Alpha blending
Wishlist
- Particle System
- Pixel Shaders
- Volumetric shadows
- Bump mapping
- Better quality textures
The Script
The script allowed us to build the scene without having to mess with too much code in the backend. It also allowed us to change the script without having to rebuild the project. We'd simple pause our application using the 'space' key, change a few lines in the script file, and press the 'space' key again to restart the animation. Here are the lines for the first scene (the sun flyby)
0.0 - Create Voyager voyager at 0,0,0 until 120.0
0.0 - Orient voyager to 180.0,0,0
0.0 - Move voyager to 0, -25, 250
0.0 - Create OrangeSun sun at 0,0,0 until 22.0
0.0 - Move sun to 6000, -5000, -12500
0.0 - Move camera to 55, 0, 0
0.0 - Orient camera to 45,0,0
0.0 - Rotate camera locally around yAxis at -5.625 until 8.0
0.0 - Rotate voyager locally around zAxis at -30.0 until 1.0
8.0 - Translate voyager locally on zAxis at 500.0 until 22.0
8.0 - Rotate voyager locally around zAxis at 10.0 until 13.5
8.0 - Rotate voyager locally around yAxis at -1.0 until 13.5
11.5 - Translate voyager locally on yAxis at 20.0 until 21.0
Screenshots:
(Right-click and view or save the images to see them fully)



