/420_OpenGL_Projects

Class projects of USC CSCI-420 Computer Graphics

420_OpenGL_Projects

These are class projects from USC CSCI-420 Computer Graphics

Roller Coaster Project

In this project, I experimented with OpenGL version 3.3 to create a physically realistic roller coaster.

implemented features

  1. Railways are created with Catmull-Rom splines

  2. Camera. You can use WASD to move, use mouse to rotate, and mid-button to zoom in/out. Camera can also move along the railway

  3. T-shaped rail cross-sections that are auto-generated by the program.

  4. Double rail and railway sleepers between them

  5. Implemented sky and ground using cubemap.

  6. Environment mapping for railways. If you look closer, you can see the railways are reflecting the environment.

  7. Lighting! I added a directional light in the scene, and railway sleepers are rendered with Blinn-Phong model. If you move and rotate the camera around, you can see the specular.

  8. Physically realistic movement.

Video

animation.mp4

Ray Tracing Project

In this project, I implemented a CPU-based ray tracer.

Implemented features

  1. Bounding Volume Hierarchy for acceleration

  2. Multisample Anti-Aliasing to generate high-quality images

  3. multithreading to accelerate recursive reflection.

Image Example

003_extra

005_extra