Blogs
Cool Simulations
I ran across these simulations when I was searching for something to do for lab 5 and I thought they were really cool.
There are two simulations. The first simulation has to do with fire and how it burns. You can build a wooden structure and light it on fire to see how it burns. You can also add wind or stone to see how they effect the burning process. The second simulation has to do with water and oil. You can also add wind and foam to this simulation to see how it effects the motion of the mater and how the oil and water mix. I think both of these simulations were done in processing. I thought they were interesting because they show a cool graphic simulation of elements mixing with each other and how they affect each others movements.
Fire Simulation:
http://www.escapemotions.com/experiments/fluid_fire_3/
Water Simulation:
http://www.escapemotions.com/experiments/fluid_water_2/index.html
There are also other cool applets like flame painter and fluid painter.
http://www.escapemotions.com/experiments/flame/index.html#top
http://www.escapemotions.com/experiments/fluid_painter/index.html
Complex Mathematics with Computer Graphics
Algebraic Topology, a field of mathematics known very well to mathematicians, but not to Computer Scientists, has hidden applications to Computer Science. Algebraic topology can be used to determine how to procedurally generate a 3D mesh or examine the relationship between neurons in a neural network. The subject in which I will be blogging about pertains to a sub-field of Computer Graphics called Computer Vision. Algebraic topology can be used to find holes in a binary image efficiency. The paper below explains this in detail:
Study done by HP researchers:
http://www.hpl.hp.com/techreports/2009/HPL-2009-375.pdf
Website that explains the importance of Algebraic Topology with Computer Science:
http://comptop.stanford.edu/u/events/atmcs1.html
Interested even further?
http://inperc.com/wiki/index.php?title=Introductory_algebraic_topology:_...
Warning: The information presented in the links above lie WAY beyond the scope of the course. You have been warned. ;)
Water Simulation
Water simulation is a big topic so this blog will show a few example of some of the techniques people use to make water in computer look like the real thing. First is product of a research: "Real-time Realistic Ocean Lighting using Seamless Transitions from
Geometry to BRDF" (E. Bruneton, F. Neyret, N. Holzschuch, Eurographics
2010) and FFT-based ocean synthesis method of "Simulating Ocean Water" (J. Tessendorf, Siggraph 2005.
http://www.gamedev.net/page/resources/_/technical/graphics-programming-a...
For those of you who want to learn more about the math:
http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CC0QFjAB&url=http%3A%2F%2Fgraphics.stanford.edu%2Fpapers%2Fwater-sg02%2Fwater.pdf&ei=dMPZTsaJNMqQiAKrv-nbCQ&usg=AFQjCNFKTx-QohVBVqG39eFVczHEoVUB9A
Programmable Shaders Showcase By Alexander McCaleb (amccaleb)
Last thing you guys will probably hear from me on the blogs, but here's a video showcasing my shaders from Lab 4. What's featured in the video is actually a beta build of my project before I altered the skybox, but nonetheless, what's showcased is a 107% project. Hope you guys have gotten as much of an amazing experience from CMPS 160 as I have.
Animated Animal Tutorial By Alexander McCaleb (amccaleb)
Hope the lab 5/xp crunch is going well for everyone. To keep you guys entertained, I whipped up another video showing the criteria for lab 2. The video also goes into large detail on the extras. On a personal level, I was very pleased with myself with all the extras I was able to implement in this project, albiet that it took two all-nighters. It's my honor to share with you all my process.
Some cool c++/openGL/GLSL stuff
Here are some very cool projects done in c++/opengl/glsl combo and the results are amazing.
Interior Mapping
There are some games and CGI short clips that show high detail when it came to city skyscrapers. They would often show detailed rooms inside the building with small things like chairs and tables and bed. None of that is modeled and all of that is just the mapping on the rectangular building. This method is the interior mapping and it improves the visual quality by adding more realistic details in an urban environment. 
As you can see the building looks like it was modeled to have many rooms inside. In fact, the gray scale model is just a rectangle. This can be achieved easily through a shader. 
Here is a link to some research done: http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=14&ved=0CDUQFjADOAo&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.49.8043%26rep%3Drep1%26type%3Dpdf&ei=cLfZTvXLFaahiAKYz92kBA&usg=AFQjCNFnlhLhoMavLzUKXrbMczbLztdUCw
Tessalation
I recently played a gamed called Crysis 2 and I loved it. The graphics on the game looked very real; especially the water and the vegetation. One of the amazing techniques Crytek, the company, used is higher levels of tessalation. Tessalation or tiling of the plane is a pattern of plane figures that fills the plane with no overlaps and no gaps.of the plane is a pattern of plane figure that fills the plane with no overlaps and no gaps. Higher dimensions means more detail. Below is a demonstration of the effect it has on how the water is rendered.
Painterly Rendering Tutorial By Alexander McCaleb (amccaleb)
My previous video documented the features of my lab 1 implementation. This video goes into a little more detail and shows the mapping between my implementation and the grading criteria. While it's probab;y far too late for anyone to make changes to their lab 1 to match what I've shown, hopefully it serves more as a hindsight deal.
Painterly Rendering Demo By Alexander McCaleb (amccaleb)
As I'm sure that everyone who isn't working on lab 5 right now is doing, here's a short video showcasing my implementation of Lab 1. I took some creative liberties in implementing the assignment as my brush types vary by the number of sides the brush polygon has as well as implementing both loading and saving canvases.