15-462 Computer Graphics I Assignment 3: GLSL Author: John Nesky (jnesky@andrew.cmu.edu) 2006.04.15 Contributors fp, mig, aherrman, cmcamero Howdy! :) So, I have four floating spheres, a teddy bear, and a face on the floor. The face has a normal map, and also has specular mapping (using the normal texture to control the color of the specular reflection). It also has a planar reflection of the teddy bear and spheres, because I drew the same scene upside down underneath it and set it to be transparent. It also has a glow map, giving it red eyes. The teddy bear has a color texture map applied to it. All lighting is based on point lights. The controls have not been modified from the starter code. Left click to rotate the camera, right click to zoom, "F" key to disable the shaders. I attempted shadow maps at one point, but some of the given code made my program crash. I narrowed it down to the following line: glBindFramebufferEXT (GL_FRAMEBUFFER_EXT, shadow_fb); Anyhow, I enabled point light shading by subtracting the fragment position from the light position vector. I enabled texture mapping by copying code from the multitexture demo. I enabled normal mapping by finding the tangent and binormal vectors (1,0,0) and (0,0,-1) for the floor, and multiplying those by the red and green values of the normal texture and adding those to the normal. Specular Mapping was just like the color texture, except I used it in the specularColor variable instead of the diffuseColor variable in the fragment shader. And I used the glow texture with the ambientColor.