CG Class 23, Mon 2017-10-30

1   Next week

  1. Prof Radke will talk on Mon.
  2. No class on Thurs.

2   Vive VR and Ricoh Theta V available

ECSE has bought a Vive VR fully immersive first-person experience system and a a Ricoh Theta V 360 degree camera for this class to play with.

You will be able to use the Vive in my lab in JEC6115 and to borrow the Ricoh. Contact the TAs to make a reservation. They will split the access among the interested people.

How many people are interested (show of hands)?

4   Computing surface normals

  1. For a curved surface, the normal vector at a point on the surface is the cross product of two tangent vectors at that point. They must not be parallel to each other.
  2. If it's a parametric surface, partial derivatives are tangent vectors.
  3. A mesh is a common way to approximate a complicated surface.
  4. For a mesh of flat (planar) pieces (facets):
    1. Find the normal to each facet.
    2. Average the normals of the facets around each vertex to get a normal vector at each vertex.
    3. Apply Phong (or Gouraud) shading from those vertex normals.

6   Textures

Today's big new idea.

  1. Textures started as a way to paint images onto polygons to simulate surface details. They add per-pixel surface details without raising the geometric complexity of a scene.
  2. That morphed into a general array data format with fast I/O.
  3. If you read a texture with indices that are fractions, the hardware interpolates a value, using one of several algorithms. This is called '''sampling'''. E.g., reading T[1.1,2] returns something like .9*T[1,2]+.1*T[2,2].
  4. Textures involve many coordinate systems:
    1. (x,y,z,w) - world.
    2. (u,v) - parameters on one polygon
    3. (s,t) - location in a texture.
  5. Aliasing is also important.

7   Chapter 9 slides

  1. 9_1 Buffers.

    Ignore anything marked old or deprecated.

    Not a lot of content in this file.

  2. 9_2 Bitblt.

  3. 9_3 Texture mapping.

    Start of a big topic.