Realistic modelling and texturing in openGL, incorporating 3D Studio Max

Showcasing the World War II P38 Lightning, with 1722 triangles

Author: Justin Kleffman
Date: 12/01/04

Readme.txt

zipped executable


Description:

This project implemented an Object File Loader for use with 3D Studio Max, so that one may model their own object and load it into an openGL scene with ease. It turned into a full featured object file loader that can handle texture coordinates and normals for you quickly.

Also implemented was texture "sheet" texturing similar to that used commonly in video game design. The uvw coordinates in 3DS can be modified to fit your texture sheet making it possible to create much more complicated textures for any object. As for animation the propellers spin. It's serious stuff. The camera can be rotated around the object and zoomed in and out for viewing from any direction. I was going to load up more objects to show that it really will load anything you feed it, but sadly I don't feel like it. Just take my word for it.

Lastly is the reflective floor uses the stencil buffer to trick the viewer into not seeing the fact that it's really just redrawn beneath a transparent floor. I'm tricky. It gives a decent enough effect for me.

Now to the real juicy insider information, the facts they don't want you to know, if you will. This is where I talk about the things I don't like about my project. Number one, the window. I failed miserably with the glass there. I think it might be something to do with rendering the faces back to front but alas I didn't fix it. Stupid painter's algorithm! I don't think it looks terrible black, but not awesome.

I'm sick of writing and you're sick of reading. Move on with your life already.


Controls:

(lights)
'1' - Toggle white light
'2' - Toggle red light
'3' - Toggle green light
'h' - toggle positional vs. directional lights

right-mouse-button -> Menu to toggle any or all lights.

(eye candy)
'a' - toggle animation (spinning props)
'w' - toggle wireframe to see your model
'f' - toggle reflective floor
'c' - toggle backface culling
'M' - faster spinning propellers
'm' - slow down propellers
's' - flat/smooth shading

(viewing direction)
'z' - Zoom in
'Z' - Zoom out
'o' - Counter-clockwise rotation
'O' - Clockwise rotation

arrow-right - less rotate angle
arrow-left - more rotate angle
arrow-up - increase azimuth
arrow-down - decrease azimuth

____________________________________________________________________________

P38 Lightning

From behind...

Showing the reflection on the floor

Can't see anything below the floor, reflection disappears

Wireframe - 1722 Triangles later

Wireframe - close-up on propeller and nose cone