The main technologies I incorporated into my final project include:
-FMOD audio library
This involved the most outside-of-class work merely due to figuring out how to set
up the FMOD library and reading in the live sound data. There are many tutorials online
but most deal with an outdated version of FMOD that you have to actually e-mail the developer
to download. The links I found most helpful to do this are listed in "Resources" below.
-Interactive matrix transforms
This mostly involved scaling the buildings' height in relation to the sound data being
read in. The transforms were relatively simple, but also involved some hierarchical
modeling as some of the buildings contained multiple objects.
---Hierarchical Model Transforms
The two building clusters in the corners of my plane are made of many objects and
scale relative to each other and the skyscrapers around them. The hot air balloon circling
the empire state building also relies on the size scaling of the central cluster of buildings.
-User-controlled camera movement (dollying, strafing, rotation)
The user can control camera rotation through clicking and dragging, and translation
through use of WASD keys. This involved calculating dolly and strafe vectors based
off of the lookAt, eye, and up vectors that we defined/calculated.
-Blinn-Phong lighting
I incorporated a gradient of building material throughout my spectrum of surrounding
buildings. This gradient goes from a shiny blue plastic to a shiny red plastic that
are both have high specular constants and use Blinn-Phong shading.
-Skybox
I incorporated a skybox that I found online. The website is listed below in "Resources."
Skybox
Helpful Project/FMOD Links:
Music Visualizer Example
Main Code
to Read In Frequency Spectrum
Example Music Visualizer Code
Tutorial for Linking FMOD in Visual Studio
@KyleKing for help setting up this webpage!