Feature 10
For this feature, I decided to make my scene more immersive by adding thousands of stars in the not-so-far distance. I decided to use the non-geoshader method. Once I correctly set and used all of the regular attributes, I was seeing stars in no time at all. Here’s two images of some relevant code: http://imgur.com/a/dokDD#0 Lines […]
Feature 12
This feature was fairly simply, though so is the result. This is not anywhere near a realistic collision detection system. The way my collision detection works is this: Several box-shaped regions are defined and added to the collision object. These regions are defined by giving a vector for the center of the region and a […]
Feature 6
My biggest challenge this time was correctly reflecting the skybox off the water. The vector that needs to be reflected is the direction from the camera to the world position. There was no way to get this with the shaders written in the water tutorial video. Passing in the camera’s position as a uniform was […]
Feature 3
This feature adds specular lighting to my shuttle and water. The code for this is pretty straight forward, with changes only needing to be made to the fragment shaders. The only difference between the shaders is where the normal comes from. The shuttle’s normals are calculated by ObjUtilites and passed in as a uniform, and […]
Feature 8
This feature adds textures to the terrain and other objects. I already had added a texture to my terrain for previous features, so instead of doing nothing I added two more meshes that use textures, A space shuttle (credit to Jafit from blendswap.org for the mesh and texture) and water. The shuttle uses UV mapping […]
Feature 1
Editing ObjUtilities code from class to work on real obj files was fairly straight forward. I looped over the file, incrementing nvertices anytime a line started with ‘v ‘ and incremented nfaces anytime a line started with ‘f ‘. Other lines were simply ignored. Originally, I tried using the regex library for a bit more […]
Feature 4
Doing a skybox presented a few frustrations, but a very rewarding result. My general strategy for the skybox was to texture a cube (with all vertices at a -1 or 1 coordinate) that surrounded the camera, without depth testing. It would use the camera’s rotations, but ignore it’s translations. To ignore depth testing, simply disable […]
Feature 5
In order to get this feature to work I had to do two main things: Add a terrain class that I could use to sample the terrain height at a given location, and improve the camera class to function more like a fps camera. My terrain class is a height map that is generated from […]
Feature 2
Generating terrain wasn’t terribly hard. At first, I wanted to write my own generator, with an algorithm other than diamond square. I wanted a landscape that resembled mountain ranges more than rolling hills. I got about half way there. The issue was all of the mountains looked like long, skinny ramps due to the order […]
Mobile Web
For this assignment, I created a very simple number guessing game. The user can either type a number, or use the buttons (in a control group) to quickly increment or decrement their guess. Then they hit guess (with a custom star icon on the button), and gets some feedback. If their guess was correct, the phone will […]