Welcome to the repository for the various projects from my CS 330 Computer Graphics and Visualization class at SNHU Online! This class focused on creating 3-dimensional objects in space using the OpenGl libraries for C++. The base program originated from various tutorials, but the URender method for rendering shapes to the screen was refactored by me. Additionally, the separate classes for ShapeBuild(er)ing and SceneBuild(er)ing were developed from scratch by me. The final project showcases how these classes and their methods work together to create a module, user-friendly program that anyone can use to create a simple 3D scene.
Feel free to browse my code and check out the various applications that I developed during the semester. The culmination of my learning can be found in the Final Project folder. For more information about the project, see the
documentation. Also check out my summary report of the project.
You are welcome to clone any files and use them for your own projects as you see fit. I've included commenting in the "Scenebuilder.cpp" file to explain how to use it properly. If all you want to do is render shapes in an environement, then that file is all you'll need to modify!
Below are some sample images from the Final Project, as well as a brief animation showing the project's interactivity.
There were several requirements of the final project (as can be seein the documentation above). In this animation the multiple light sources can be seen, including one that is colored. The colored light can be turned on and off with the '[' and ']' keys, and the revolving white light can be made stationary with the left or right 'alt' keys. The white light can also be repositioned with the letter keys on the right of the keyboard.
The camera can be moved using the WASD keys, as well as QE for altitude changes. The speed of the camera can be changed with the mouse wheel, and the view is changed through mouse movement. Wireframe models are viewable with left and right arrow keys.
***Please be patient as the gif loads below...
If you're interested, you can see more about my process in this video about the final project, and for more details about the structure of the program, algorithms developed, and texture design, you can watch this much longer video.
Check out my YouTube channel for more videos about coding projects I've done.
Also, check out my Personal Website for more information about me, and my LinkedIn to see if I'd be a good fit for your team.
much love -L