OpenGL Demo Trident Assault

This slideshow requires JavaScript.

Project Background: Infographic class
Genre: Tech Demo
Duration: 3 months (~2h/week)
Team Members: François Potvin Naud (alone)
Developed with :  Visual Studio 2010
Platforms: Windows
Language: C/C++

Description :

Simple tech demo demonstrating my ability to display graphics using the base functionalities of OpenGL using Phong and the default shaders. The main ship (Trident Assault from the series Star Wars: Clone Wars) is entirely rendered by code using call-lists with manual texturing for each faces. The mesh have around 400 polygons. In the scene, there is also a semi-transparent cube that can be shot by an adjacent Enterprise (from Star Trek) by pressing “L” on the keyboard. Doing so make the cube vanish gradually. Around all this, there are planets, each having it’s own rotating speed. The moon rotate around the earth, with a speed proportional with earth’s rotation speed (so it’s moving at a realistic pace) and always shows the same face to the earth, as in real life. I also added Pluto. I love poor Pluto even if it’s not a planet anymore. 😦

Constraints:

  • OpenGL
  • Had to do the mesh for a Star Wars spaceship of our choice purely by programmation (Trident Assault, Star Wars: Clone Wars)
  • First coded in C, had to convert to C++ to better integrate some C++ libraries asked by the teacher
  • Used a third party library to integrate a 3D model done using a 3D animation software (the Enterprise models)

Personal realisation:

  • Everything:
  • Manually calculate each vertex for the mesh of the main ship
  • Manually applicate the textures to each faces (and drawing/designing them using Paint.NET)
  • Calculate the ship’s animation
  • Importing external meshes using a library
  • Calculate planets rotations and the moon’s position
  • Changing an object’s transparency in real time
  • Creating and displaying a custom skybox in two pass (drawing the skybox without depth test, then rendering everything else)

Instructions:

WASD: move
Shift: go faster (you have to stop moving first)
Mouse: Control camera
L: one of the Enterprise will fire a laser toward the cube

Download:

Windows runnable: Trident_Assault_OpenGL_Demo.zip (26.0 MB)

Source code: Trident_Assault_OpenGL_Demo_src.zip (54.5 MB)

Advertisements