Advanced Computer Graphics I (CS6610)
In this course I explored advanced graphics topics, utilizing the features in the OpenGL graphics library. The textbook I referred was the “OpenGL Programming Guide” and lots of handouts consisting of research papers where graphics ideas were presented. For my final project I implemented a paper from the SIGGRAPH proceedings.
Assignment No1:
I wrote an OpenGL program which renders an animated, anthropomorphic figure. I used hierarchical modeling to achieve the desired animation effect. I added a GLUI interface that would stop/start the figure walking, control the translation of the figure and control the speed of walking of the figure. I also implemented picking operation that allowed mouse movements to move the limb, constrained by the joint.
Assignment No2:
In this assignment I included a 4-sided room such that one wall does not appear using culling concept, multi-textured the floor using multi-texturing concept of OpenGL with the wood-floor texture and lightmap texture provided to us, added a white point light source (positional) using the OpenGL lighting model, placed a white emissive semi-transparent cone which was texture mapped with the image of the earth texture, placed perfectly reflective sphere balanced on the cone which was environment map using cube mapping. I also used mip-mapping of the textures included in the program.
Assignment No3:
I created room and placed a cone at the center of the room and balanced a sphere on that. I also rendered double-linked tori which were floating above the floor. I implemented projective shadow algorithm as well as shadow map and shadow volume algorithms to display shadows of the objects in the room. I provided a simple GLUI interface to allow the user to switch between the types of the shadows.
Assignment No4:
The assignment 4 was experimenting with the shaders. I first created a floor and then a wriggling snake using sin function. I used GLSL shading language to bump map the floor and the snake. I provided a GLUI interface to control the number of 'wriggles' (wavelengths) along the length of the snake body and also the speed of wriggling.
Final project
Download: Report
My final project was an implementation of the paper "An Approximate Image-Space Approach for Interactive Refraction" by Chris Wyman. Chris Wyman’s paper presents an algorithm that allows refraction of a distant environment through two interfaces. I had used GLSL shading language to implement the refraction concept.
![]()
Above screen shot shows reflection.
Above screen shot shows single refraction.
Above screen shot shows single refraction with fresnel terms.
![]()
Above screen shot shows double refraction.