A2 - CS 535 Fall 2011 Due Tuesday September 20 at 6:00 am Assignment2-Hello3Dword Extend your application to allow the user to navigate a 3D scene

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: CS 535, Fall 2011 Due Tuesday September 20 at 6:00 am. Assignment2--Hello3Dword Extend your application to allow the user to navigate a 3D scene interactively. Concretely: Develop a planar pinhole camera (PPC) class o Stores vectors a, b, c, and C, as well as scalars hither and yon o Also stores inverse of camera matrix for efficient projection (should be updated every time the camera changes) o Constructor from resolution and horizontal field of view o 6 degrees of freedom (dof) navigation (3 translations and 3 rotations) o Zoom, change of resolution o Linear interpolation of PPCs o Projection of 3D points o Visualize method that draws the PPC frustum given a desired view PPC and a frame buffer; show a few pixel rows and columns on hither quad; parameters should be line color and spacing of pixel rows and columns Develop a triangle mesh class o Stores vertices (coordinates and colors) and connectivity data defining triangles, as well as number of vertices and number of triangles o Load from file (see accompanying code and geometry files) o Render method that draws the mesh given a desired view PPC and a frame buffer; correct visibility by zbuffering, enhance your frame buffer class with a depth channel pointbased mode: vertices drawn as 2D dots of size kxk (k is a parameter) wireframe mode: projected triangle edges are drawn as lines, color is interpolated between vertex colors Develop a path class o Stores keyframe PPCs and number of frames between each consecutive key frames o Loads and saves path from text file o Render method that draws the centers of projection of the keyframes as big points connected by line segments, given a desired view PPC and a frame buffer. User interface should allow the user to o Navigate the desired view (6 dof) o Change field of view of desired view o Change rotation and translation steps o Define, save, play back path o Save frame buffer image 1 o Save and load current desired view Miscellaneous o Application should start out with meaningful view and navigation steps for the geometry loaded o Make a scene with the geometric models given; the geometric models should be placed in a directory called geometry off the current directory o Save an interesting path with multiple key frames Extracredit Make a movie file corresponding to your path (2%) Nonlinear path interpolation (2%) Contour line rendering mode (2%) Turnininstructions Turn in your work in an archive submitted via Blackboard Vista. The archive should contain: [email protected], 2011 Source code and executables Path text file DO NOT turn in the geometry files External libraries used Code should compile, link, and run A Readme.txt or Readme.doc file that lists special GUI features and extra credit attempted 2 ...
View Full Document

This note was uploaded on 02/23/2012 for the course CS 535 taught by Professor Daniel,a during the Fall '08 term at Purdue University-West Lafayette.

Ask a homework question - tutors are online