Unformatted text preview: CS 535, Fall 2011 Due Thursday October 20 at 6am. Assignment4--Adifferentpointofview 1. Enhance your renderer with projective texture mapping functionality. Create a method that: takes a reference image defined by a planar pinhole camera (PPC) and a framebuffer with color and depth channels, a 3D scene modeled with triangle meshes, and a desired image defined by a PPC and an empty framebuffer, and, sets the desired image framebuffer by painting the scene with the reference image color where appropriate; use bilinear interpolation when looking up the color in the reference image and nearest neighbor when looking up the depth in the reference image. 2. Use the new functionality to implement: projective texture mapping, demonstrated with "matching" simulated photograph (reference image was obtained by rendering the scene), a projector, demonstrated by projecting a nonmatching photograph over original scene color, shadow mapping, demonstrated with a point light source, "invisibility"; known audience view modeled with PPC, projector above audience, object to be rendered invisible in the field of view of the audience and of the projector, projector hides object by projecting light on it; the illusion does not need be perfect, but it does have to be correct. 3. Make a movie to show your work: start with title slide, 3s, "Projective texture mapping" <First Name> <Last Name> "Purdue University"; sequence 1: 10s of projective texture mapping, change desired view from reference view to view that clearly shows that not all surfaces are colored; sequence 2: 10s of a projector moving in the scene and spraying "nonmatching" color on geometry; sequence 3: 10s of shadow mapping, static light moving desired view; sequence 4: 30s of "invisibility" and "the making of invisibility"; the sequence should start with the result and then should explain how it was done; all sequences should have a title slide, 3s (sequence name, no author name); all sequences should have a supporting audio track; audio should cover at least 75% of each sequence. Extracredit View dependent texture mapping (4%) Render a "Teapot disco" movie sequence: sidewalk, entrance to disco club visible, swinging "Teapot Disco" projector advertising the club on the sidewalk, many teapots queuing to get in, golden teapot cuts in front of the line and gets in, camera follows it, many teapots dance inside, following the beat of your favorite tune, giant ceiling disco ball spins and projects all sorts of images and light patterns on walls and dancing teapots (4%) Anything else that makes a compelling visual experience (check with Paul and me first) (x%) Turnininstructions
Turn in your work in an archive submitted via Blackboard Vista. The archive should contain: Source code and VC++ solution (please Build>Clean Solution to minimize submission size). The movie file and the path text files used to render the movie sequences. External libraries used. Code should compile, link, and run. A Readme.txt or Readme.doc file that lists the movie making library or software used, any special GUI features, and extra credit features attempted. [email protected], 2011 ...
View Full Document
- Fall '08
- Computer Graphics, Book of Optics, Bump mapping, Bilinear interpolation, projective texture mapping