This project page includes a description of 3D graphics and 3D modeling features implemented in the program
Utilized: C programming, 3D graphics algorithms
A simplified version of a 3D graphics API like OpenGL, with some 3D modeling application functionalities. Designed and built during my summer internship at AMD under the mentorship of Mac 3D Graphics Driver Director Chris Bentley.
To avoid code duplication while separating features with different core functionalities, I created three main program modes: BASIC, SCENE, and IMAGE PROCESSING mode.
To make
things easier (no pun intended), I included a make-file in the top-level directory.
Unfortunately, I have only gotten the program to compile and run properly on Mac OS machines, but I hope to extend the program to different platforms in the future.
After you cd
into the 3d-renderer
directory:
Use to test 3D rendering techniques on a single object at a time.
make run-basic
Use to test 3D rendering techniques and modeling application features on multi-object scenes.
make run-scene file="scenes/<file-name">
Use to run various image processing algorithms on an image.
make run-image
Teapot frame
Teapot with alpha blending enabled
Bump mapping
Cube mapping
Flat shading
Phong shading
Phong shading with specular highlights
Pixelation (“Lincoln”) image processing effect
Depth of field post processing