CSE581 Lab4 - Texture mapping, transparent surfaces, billboards, first-person view, and drop shadows

FINAL VERSION
OBJECTIVE:
This lab introduces you to even more complex shading techniques. Modify Lab 3 to include:
  • texture mapping using mipmapping
  • billboard with transparent pixels
  • translucent panel using stippling
  • using a first-person point of view
  • day/night lighting sets
  • drop shadow implemented as a decal
Sample lab4. Note that the menu is more extensive than what you need - you only need day/night and toggle the view. A 'reset' menu item is also handy (resets the model and camera to initial values).


SPECIFICATIONS:
  1. Texture Mapping: Include at least two texture mapped walls using mipmapping. At least one of texture maps should be an image. The other can either be an image or a procedurally generated texture map. Use texture maps that create a reasonable visual environment such as mountains or other landscapes.
  2. Billboard with transparency: A third texture mapped surfaces should be a billboard that always faces the vehicle (so you can see the billboard effect from above) and has transparent pixels. Use a texture map that creates a reasonable visual environment such as a tree. Either find your own image or use tree.ppm.
  3. First-Person View: Put the camera on your vehicle looking in the direction that the vehicle faces. It doesn't have to actually be 'on' the vehicle - it has to be reasonably close to the vehicle and move and rotate with the vehicle so that it creates the impression of being on the vehicle. Toggle between the regular polar view and the first person view using a right menu button menu item.
  4. Translucency: Use some type of translucent surface in your scene. Implement translucency using stippling.
  5. Drop shadow: Implement a drop shadow for your vehicle using the stencil buffer and a black decal that moves and rotates with the vehicle. Use
          glEnable (GL_BLEND); 
          glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    
    with a black color that has the 4th component set to 0.5 for shadows.
  6. Day/Night Light Sets: Using the right mouse button, allow the user to toggle between a day light set and a night light set. The day set should only have a directional light and should include the vehicle's drop shadow. The night set should have at least the 2 non-directional light sets from lab3, the headlight of the vehicle, no drop shadow, and no directional light. You don't need to have the lights individually selectable in the menu.


NOTES:

NOTES:


EXTRA CREDIT: