GLART Week 4 Assignment

1) Look through the example programs on the Week 4 class notes page.  Look at
   how normals are assigned to vertices (using the glNormal() command)
   and follow through the smoothed surface example.  You don't need
   to get into the normal calculation (unless you want to), but be
   sure you understand how you can smooth a surface by averaging
   the normals across several triangles.

2) Create a simple "still life"

   Arrange and light some simple shapes.  Include at least two shapes in your
   arrangement, at least two materials, and at least two lights.

   -- You have several basic shapes that you can use: sphere, cube, plane,
   disc (see the JOApp functions renderSphere(), renderPlane(), renderCube()
   and drawCircle()).

   -- You can scale these objects to create different proportions (flat
   boxes, squashed spheres) and different sizes.

   -- Think about material qualities you want to represent, such as polished
   stone, or wood, or cloth.  Should the surface be shiny or matte or in between?

   -- What color is the surface, what color is the reflected light?  How is it
   lit and why? For example, do you want to suggest sunlight (maybe use a
   directional light instead of positional?).  How much ambient light do you
   want (overall scene lighting) and what color should that be?  Is it a high-
   contrast scene, or low contrast?

   -- You can use textures to suggest materials as well. You should first
   create your materials to have the right reflectivity and color, then add
   the texture.  In other words, don't put a light yellowish wood texture on
   an object that has a shiny dark blue material.  It'll probably look wrong.
   First try to make a material color that suggests a wood surface, then add
   the texture and you should get results that make sense.

   -- You can find texture images in Google image search.  These may give you
   ideas for surface qualities you would like to represent, such as metal,
   cloth patterns, wallpaper, various kinds of wood.

   -- Remember that OpenGL has up to 7 lights, so if you want to draw 500
   fireflies lighting up a room you can't make 500 lights. In cases like that
   you need to create the illusion of many lights while still using only a few.

   -- For starters you can look at code from these examples:
   GLART_4_light_example.java example.
   GLART_4_orbit_lights.java
   and you can try the DemoLight.java example in the demo folder