teaching machines

CS 455 Ambient Occlusion

Watch the following videos: Ambient Occlusion – Theory Ambient Occlusion – Blender Ambient Occlusion – Renderer Additional Reading: If you want to look into ambient occlusion a bit more, here are some interesting sources that we stumbled across. For more on SSAO for quick dynamic ambient occlusion, this is a helpful article.  Simple and Practical […]

Feature 10 Post Mortem

For this feature, I decided to make some grass for my scenery out of billboards.  I ran a Google image search and came up with this nice little grass tuft, taken from unity3d.com. I thought it would be nice to make fields of grass, only I would need a way to place these guys into […]

Feature 6 Post Mortem

In order to implement this feature, I decided it best to totally rework my landscape to better integrate a source of water into the scene.  This was the result of some brief fiddling around in GIMP, making a height map and corresponding texture: Up close, the water looks more like this: This feature took quite […]

Feature 8 Post Mortem

This feature was fairly simple to implement.  Using the code supplied by Chris Johnson, I simply had to read in the .ppm image for my texture and send it off to the shaders.  One thing I had to worry about, was making sure my texture mapped to the terrain correctly.  Because I felt it would […]

Feature 4 Post Mortem

This feature was not all that difficult to implement.  I ran into some trouble trying to load the skybox texture initially, because I was already using a texture for the terrain.  My renderer is not set up to handle multiple textures currently, and from what I could tell, would take quite a bit of modification […]

Feature 5 Post Mortem

This feature wasn’t all that difficult to implement.  The hardest part was probably figuring out how to use vectors in c++.  I ended up writing another function in the ObjUtilities class that reads an obj and turns it into a 2D array of heights.  This is admittedly not the best way to do this, because […]

Feature 2 Post Mortem

For generating terrain, I decided to go with a heightmap approach, because I figured it would be more useful down the road.  I found a few great high resolution height maps and corresponding textures at http://www.crydev.net/project_db.php?action=project_profile&team_id=1873&project_id=1809 which I used for my terrain generation.  I leveraged the ruby script provided by Chris Johnson and converted it […]

Feature 3 Post Mortem

This feature is all about lighting.  We’ve covered this all in great depth in class already, so there really wasn’t a whole lot that gave me any trouble.  The lighting includes ambient, diffuse, and specular lighting (using the Blinn method in particular).  Everything I used as a reference came directly from Chris Johnson. Here are […]

Feature 1 Post Mortem

Loading a .obj mesh is a relatively straightforward task using the masterfully written code provided to us by Chris Johnson (Extra Credit?).  I decided to augment the ObjUtilities class to make it slightly more robust.  The utility can now handle comment lines or other odd lines throughout the file, as well as count the vertecies […]