OpenGL Program
An interactive 3D graphics application built with OpenGL, featuring real-time rendering, lighting effects, and user interaction.
Technologies Used
About This Project
Project Overview
Built from the ground up over an entire semester as part of my computer graphics class, this program contains a variety of 3D computer graphics functions which many programs and games use to date. Each feature is built at a low level, and uses many manual computations instead of packaged libraries. This is a program I can be truly proud about and am excited to show.
Graphics Features
• 3D shapes that can be transformed (translated, rotated, scaled) across multiple coordinate systems (MCS, WCS, VCS) • Culling using either backface culling or backface + depthbuffer • Lighting which is controlled and toggled at a single point, which the source can also be transformed using the same operations as the 3D shapes • Shading using different techniques such as constant shading, flat shading, smooth shading, texture shading, as well as phong shading • Animations that can be played on each 3D object, showing how each feature updates in real time and interacts with the above features • Ability to plot and display bezier curves, as well as display the rotation surface around these curves
Download & Run
Download the executable to run the program on your Windows machine and explore all the graphics features interactively. Note: Texture shading is not included here since they require additional image files to be present in the same directory as the executable. To use the program, simply right click to open a dropdown menu with each feature. To apply certain properties to specific objects, first select the object via the dropdown menu, then select the desired property to apply. Enjoy! BUG: Animations vary from machine to machine depending on hardware performance, may run too fast or too slow on some systems. This program was designed to run on my system without the idea of letting other users run it, so please forgive any issues that may arise.