CG Lecture 22, Wed 2016-10-26

  1. 3D Object Manipulation in a Single Photograph using Stock 3D Models (Siggraph 2014).

    From here Photo-editing software restricts the control of objects in a photograph to the 2D image plane. We present a method that enables users to perform the full range of 3D manipulations, including scaling, rotation, translation, and nonrigid deformations, to an object in a photograph. As 3D manipulations often reveal parts of the object that are hidden in the original photograph, our approach uses publicly available 3D models to guide the completion of the geometry and appearance of the revealed areas of the object. The completion process leverages the structure and symmetry in the stock 3D model to factor out the effects of illumination, and to complete the appearance of the object. We demonstrate our system by producing object manipulations that would be impossible in traditional 2D photo-editing programs, such as turning a car over, making a paper-crane flap its wings, or manipulating airplanes in a historical photograph to change its story.

  2. Iclicker questions.

  3. Today's big new idea: Textures.

    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.
  4. 9_1 Buffers.

    Ignore anything marked old or deprecated.

    Not a lot of content in this file.

  5. 9_2 Bitblt.

  6. 9_3 Texture mapping.

    Start of a big topic.

  7. 9_4 Texture mapping.

  8. 9_5 WebGL Texture mapping I.

  9. 9_6 WebGL Texture mapping II.

  10. Texture mapping programs.