Implemented 3D Graphics Pipeline to render 3D models, knowledge includes:
World Space, View Space, Projection Space Transformations, Clipping
Scale, Translation and Rotation
Bresenham's Line Algorithm
Programmed the above concept from scratch based on the mathematical principles.
No other OpenGL function calls except glBegin(GL_POINTS)
Programming Languages: C++, OpenGL
Height Field Construction by Grayscale Level
Download Link
Given a 2D image, constructed a 3D height field. The height value for each pixel is its grayscale level.
You can scale, translate and rotate the height field with different axes(X, Y, Z)
You can also select the render mode(points, lines, triangles)
Programming Languages: C++, OpenGL
Created a roller coaster track using Catmull-Rom Splines
Implemented a first-person view camera system to follow the roller coaster as if users are riding it
The roller coaster speed follows the physics law
Programming Languages: C++, OpenGL
Implemented a ray caster to illuminate 3D objects and render shadows
Shot light rays to the view plane and calculated color for each pixel
Programming Languages: C++, OpenGL