For my final project, I decided to combine my two favorite things, music and nautre. I created a music visualizer, set in an alpine environment. The scene starts off statically. While I hoped to have an external music library linked up so that a song could be playing when the application is opened, I unfortunately dealt with some linker errors and was not able to solve them before the project was due. However, it is probably for the best as the user would likely want to listen to their own music anyways instead of being subject to my obscure music taste. The user can then use the keys and mouse movement to create different animations and lighting modes based on what is going on in the song.
The technologies I used were blinn-phong shading for the lighting, particle systems, hierarchical modeling for animation, a skybox texture, user interaction, and (I tried, but failed, and hopefully will still implement) irrklang for audio.
A/D: strafe left and right
W/S: dolly forward and backward
Mouse: Change the view of the user
M: interpolate a new material for all meshes
Z: polygon mode activated while pressed
V: turn on/off particle systems
F: turn on/off partial build-up animation
X: turn on/off full climax animation
O: turn on/off strobing sun meshes
C: turn on/off color mode A: randomly changes light color each frame to give strobing effect
L: turn on/off light mode A: randomly changes light position each frame to give strobing effect
B: turn on/off color/light mode B: randomly changes light position and color every .5 seconds to give slower pulsing effect
**Note: X and F can be combined for a faster, even more climactic and epic animation. C and L can be combined for maximal strobe effect.
Images
Turbo Squid I got all of my 3D OBJ Meshes here
opengameart They have a ton of great skyboxes
Discord Big shoutout to my classmates - whenever I had a question it was answered most of the time in our class server
w3schools They have some very helpful tutorials as this was the first time I programmed in C++