47 Pages

l9_n

Course: CS 437, Fall 2009
School: Stevens Institute of...
Rating:
 
 
 
 
 

Word Count: 1902

Document Preview

Graphics Building Computer and Viewing an Interactive Scene Transformations CS 437 CG tasks A computer graphics program has to take care of the following main tasks Build a scene, or a sequence of scenes (animation) View the scene Facilitate interaction with the user and the windowing system The basic structure of the prototype OpenGL program reflects these tasks CS 437 Program structure void main(int...

Register Now

Unformatted Document Excerpt

Coursehero

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
Graphics Building Computer and Viewing an Interactive Scene Transformations CS 437 CG tasks A computer graphics program has to take care of the following main tasks Build a scene, or a sequence of scenes (animation) View the scene Facilitate interaction with the user and the windowing system The basic structure of the prototype OpenGL program reflects these tasks CS 437 Program structure void main(int argc, char** argv ) { glutInit(&arg, argv) glutInitDisplayMode(GLUT_RGB|GLUT_DOUBLE ); //set display mode glutInitWindowSize(700,700); //initial size in pixels glutInitWindowPosition(0,0); //initial position glutCreateWindow( Program Template ); init(); //additional initialization (could include modeling and viewing related code) glutDisplayFunc( display ); //Scene building and viewing glutKeyboardFunc( key ); //Interaction glutReshapeFunc( resize ); //Responds to changes of the physical window glutIdleFunc( idle ); //Animation related computations glutMainLoop(); } CS 437 Summary SG stages. Transformation pipeline. Outline several approaches to building a scene. More advanced techniques in particular advanced techniques for improved the appearance will be covered later in the course. CS 437 Building and Viewing a Scene The dominant approach to this task is to it break in parts Construct shapes from geometric primitives, thereby creating mathematical descriptions of objects. Arrange the objects in three dimensional space and select the desired vantage point for viewing the composed scene. Calculate the color of all the objects. The color might be explicitly assigned by the application, determined from specified lighting conditions, or obtained by pasting a texture onto the objects. This process involves different coordinate systems and coordinate transformations. The detailed math machinery will be presented in later modules. The following example illustrates the basic concepts and ideas. CS 437 Step by step Construct shapes from geometric primitives, thereby creating mathematical descriptions of objects. Arrange the objects in three dimensional space and select the desired vantage point for viewing the composed scene. Calculate the color of all the objects. The color might be explicitly assigned by the application, determined from specified lighting conditions, or obtained by pasting a texture onto the objects. Convert the mathematical description of objects and their associated color information to pixels on the screen. This process is called rasterization. During these stages, an API might perform other operations, such as eliminating parts of objects that are hidden by other objects. CS 437 The Rendering Getting this rendering: a topdown approach Build the scene. It consists of three objects defined in terms of the scene/world coordinate system. Build each object separately its representation is w/r to specific object-related coordinate system Put together the scene by placing the objects appropriately Specify the viewer CS 437 World Coordinates and Model Coordinates objects CS 437 World/scene Building the scene by positioning objects in it. Involves modeling transformations CS 437 Modeling transformations CS 437 Viewing the World Once the world is build one can introduce the camera World World viewed by a camera CS 437 Viewing Transformation The World The Cameras View of the World CS 437 Transformations and Attributes Model View Transformation (MVT) Model transformations: Position objects inside the scene. The MT are composed of translations, scaling, rotations. Viewing Transformation: Specifies the position and orientation of "the view" (i.e., eye or synthetic camera). There is only one viewing transformation and it is applied to ALL vertices of all 3D objects in a scene. It is composed of a translation and one or more rotations. Specifying additional attributes, like color, material properties, lights, shading, viewport is needed to obtain the rendering. Projection transformation: define the camera and its attributes: view volume, focus length, projection mode lead are used in clipping and culling, projection. CS 437 MVT, Lights, Material, Shading, Rendering CS 437 Today Coordinate systems and transformations The matrix pipeline Modeling: Building a scene Symbols and instancing Hierarchical models Attributes and rendering states (see pages 14 to 32 of the previous lecture.) Animation CS 437 Coordinate Systems in CG Object/Model World/Scene Camera/eye/viewer Image/Normalized View Volume Screen Pixel CS 437 Rendering and the Transformation Pipeline The rendering process in most APIs amounts to passing all the primitives (vertices determining them) trough a sequence of transformations. This process is implemented as a pipeline of transformations. The transformations are represented as matrices, and one usually speaks of the matrix pipeline. CS 437 The Transformation Pipeline The Current Transformation (CT) Later Modules Vertex data Modelview Transform (MVT) Eye coord data Projection Transform (PT) clip coord data CS 437 Perspective division Viewport map NDC Window coordinates Current Transformation CTmatrix=PTmatrix*MVTmatrix. State component MVT and PT are usually part of the current state Matrix Stacks in OpenGL: used in manipulation and (re)positioning of objects See OpenGL Programming Guide, 4th edition, Chapter 3 Viewing, pages 111-143 CS 437 Building Scenes and Transformations in OpenGL It is done in the display function which is used to process a redisplay event. If one uses GLUT, then the function is registered via glutDisplayFunc. Building the scene and positioning the camera (viewer) is achieved by modifying the MODELVIEW matrix. The transformation matrices can be loaded explicitly (e.g. glLoadMatrix) or by specifying the operations they perform (e.g., glRotate, glTranslate). Note that building an object is usually viewed as building a scene, so the same ideas apply. CS 437 Transformations in OpenGL We discussed this in the previous class. Notes TBP CS 437 Modeling, Scene Graphs CS 437 Possible approaches Symbols and instancing, instancing transforms: can be represented by a table. Hierarchical modeling. Scene graphs (SG). (Scene) Trees DAG CS 437 Symbols & Instances CS 437 Instancing in OpenGL In OpenGL, instancing is created by modifying the model-view matrix: glMatrixMode( GL_MODELVIEW ); glLoadIdentity(); glPushMatrix( ); glTranslatef( ... ); glRotatef( ... ); glScalef( ... ); symbol(); glPopMatrix( ); CS 437 Village code glMatrixMode(GL_MODELVIEW); glLoadIdentity(); setview(); //instance 1 Basic simple house glPushMatrix(); house(); glPopMatrix(); //simple house instance 2 Big house Translated glPushMatrix(); glTranslatef(6, 0, 0); glScalef(2,2,2); house(); glPopMatrix(); //simple house instance 3 Intermed. house Rotated 15deg and Translated glPushMatrix(); glTranslatef(0, 6, 0); glRotated(15, 0,0,1); glScalef(2,1,1); glPopMatrix(); house(); //david house Instance 1 glPushMatrix(); glTranslatef(-6,0,0); glScalef(2,2,2); david_house(); glPopMatrix(); glutSwapBuffers(); CS 437 Hierarchical modeling Objects are grouped hierarchically according to spatial location. Natural for many objects (think of a human body, a car, a city) Locality of reference: important in memory management. Objects of current interest often occur in the same spatial region. SG enable us to eliminate other regions from further processing (important in rendering, collision detection) Persistence issues: saving a scene can be done recursively (each node save itself) The symbol/instance paradigm is like a tree of depth one. CS 437 Trees vs DAG DAG allow high-level sharing of objects but often make the memory costs and code complexity too high. DAGs are natural in many applications, e.g., modeling polygonal meshes where many edges and vertices are shared by higher level objects. CS 437 DAG example: polygonal mesh surface Polygon 1 Polygon 2 Polygon 3 Polygon n Edge 1 Edge 2 Edge 3 Vertex 1 Vertex 2 Vertex 3 CS 437 Hierarchical Modeling and Structures Primitives that can be drawn directly, at leaves Internal nodes become instances Transformations that position instances of objects label the edges Traverse in pre-order (left to right, depthfirst). Stack based implementation Model independent traversal algorithm CS 437 Example: simple 2D drawing CS 437 Hierarchical modeling: tree of transformations T1.T2.T5.T7.T9(LINE) Final picture, obtained by traversing in pre-order the tree CS 437 Compress the tree If an edge (A,B) is labeled with identity transformation, remove it , and move any drawings from node B into A If edges (A,B) and (A,C) have the same labels, merge the nodes B and C Example: in the previous tree T8 will be removed, and the unit square moved to the parent node CS 437 Model to OpenGL code: Stack based implementation Start from the root, traverse tree in pre-order When visiting a node, if there is a primitive at the node that can be drawn, draw it If going down from a node which has more then one unvisited child, store(push) CTM and attributes before continuing down If coming back up an edge to a node which has unvisited children, pop CTM and attributes Mixes DS with implementation, it is hard wired to the example, dynamic use is clumsy CS 437 The scene glScalef(1.0,-1.0,1.0); //T1 glPushMatrix(); glTranslatef(1.5, 3.0, 0.0); //T2 glScalef(1.0, 2.0, 1.0); //T5 glBegin(GL_LINE_LOOP); //BOX glVertex3f(0.0,0.0,0.0); glVertex3f(1.0,0.0,0.0); glVertex3f(1.0,1.0,0.0); glVertex3f(0.0,1.0,0.0); glEnd(); glTranslatef(0.5,0.0, 0.0); //T7 glRotatef(90.0,0.0,0.0,1.0); //T9 glBegin(GL_LINES); //LINE glVertex3f(0.0,0.0,0.0); glVertex3f(1.0,0.0,0.0); glEnd(); glPopMatrix(); glPushMatrix(); glTranslatef(2.0,1.0,0.0); //T3 glScalef(0.5, 0.5, 1.0); //T6 drawUnitCircle(NUM_SLICES); glPopMatrix(); glScalef(4.0,5.0,1.0); // T4 glBegin(GL_LINE_LOOP); // BOX glVertex3f(0.0,0.0,0.0); glVertex3f(1.0,0.0,0.0); glVertex3f(1.0,1.0,0.0); glVertex3f(0.0,1.0,0.0); glEnd(); glFlush(); CS 437 Model independent traversal algorithm All information is stored in the nodes: (Pointer to a) drawing function Transformation positioning the node w/r to its parent (the local transform matrix LTM) Pointer to right sibling Pointer(s) to child(ren) Attributes color, shading info, bounding volume,. State nodes and scene graphs (see later) CS 437 Tree node typedef struct treenode{ GLfloat m[16]; GLfloat clr[3]; int display_list_id; struct treenode *child; struct treenode *sibling; } treenode; CS 437 Traversal function void traverse(treenode* root){ if (root==NULL) return; glPushMatrix(); glPushAttrib(.); glMultMatrixf(root->m); glColor3f((root->clr)[0],(root->clr)[1],(root->clr)[2]); glCallList(root->display_list_id); if(root->child != NULL) traverse(root->child); glPopMatrix(); glPopAttrib(); if(root->sibling != NULL) traverse(root->sibling); } CS 437 Display function void display(){ glClear(GL_COLOR_BUFFER_BIT); glLoadIdentity(); traverse(&root_node); glFlush(); } CS 437 Basic tasks Set up the tree Define t...

Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

Stevens Institute of Technology - CS - 437
Math Foundations of CG TransformationsMath 2CS4371Today: The issuesnHow do we manipulate, move, reposition, etc? Particular applications:n n n n nInstancing transformations Local transformation matrix Animation Camera positioning Viewing and proje
Stevens Institute of Technology - CS - 437
Computer Graphics CS437 A Frame Buer Primer. Double Buering and Animation BasicsGeorge KamberovStevens Institute of Technology, Hoboken, NJ 07030, USATopics The frame buer (FB) The color buer, double buering and animation The z-buer and hidden surface
Stevens Institute of Technology - CS - 437
Shadows and TransparencyInteractive Computer Graphics G. Kamberov1Introduction Shadows in CG Why? What? Basic Algorithms. Transparency Algorithms Readings: Angel Chapter 5.10, Red Book 4th edition, 446-450, 485, 603 and ff; Real Time Rendering by Hain
Stevens Institute of Technology - CS - 535
Black-Scholes AnalysisCS 535 George KamberovToday Black-Scholes analysis The Black-Scholes Formula Greeks Implied VolatilityG. Kamberov CS535: Black-Scholes Analysis1The PDE: from last timeV (t , S ) = the price of the derivative on an underlying X
Stevens Institute of Technology - CS - 437
Intersection Testing Ray-XCS437: X-testing1The problemQuestion: Given a ray Does it intersect an object, a primitive? Where? Here we will be concerned with the first intersectionP + tv , t 0vPCS437: X-testing2ApplicationsRay tracing Animation,
Stevens Institute of Technology - CS - 535
Fokker-Plank, Normal Distribution, Wiener Process, and Ito IntegralsCS 535 George KamberovToday Normal distribution Wiener process Ito integral. Stochastic DE Log normal asset price modelG. Kamberov CS535: Lecture 4b: Normal Distribution, Wiener Proce
Stevens Institute of Technology - CS - 535
Asset Price Walks, Fokker-Plank, Wiener Process, and Ito IntegralsCS 535 George KamberovToday Introduction and motivation Asset price walks, the stochastic DE approach Random noise. From discrete to continuous random walks Fokker-Plank Heat equation
Stevens Institute of Technology - CS - 535
Crash Course in Probability and Stochastic ProcessesCS 535 George KamberovFermat, Laplace, Gauss, Kolmogorov, ItoG. Kamberov CS535: Lecture 3: Probabbility 11Lebesgue, Dini, Fatou, Fubini,Wiener, DiracG. Kamberov CS535: Lecture 3: Probabbility 1Top
Stevens Institute of Technology - CS - 535
Put Call RatioCS 535 George KamberovPessimism : Optimism 0.7 : 1Pessimism : Optimism 1.7 : 1P/C Jan 02 - May 31, 20021.56Pessimism0.78Optimism0.00 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 97 101April 1 to May 31G. Ka
Stevens Institute of Technology - CS - 537
ReflectionsInteractive Computer Graphics G. KamberovTechniques Ray tracing-based Environment mapping Doing it on the cheap planar reflectors Using texture mapping Using the stencil bufferInteractive Computer Graphics G. Kamberov1Today Planar refle
Stevens Institute of Technology - CS - 537
Shadows and TransparencyInteractive Computer Graphics G. Kamberov1Introduction Shadows in CG Why? What? Basic Algorithms. Transparency Algorithms Readings: FVDFHP Chapter 14.4 and 14.5 Angel Chapter 5.10, Red Book 4th edition, 446-450, 485, 603 and f
Stevens Institute of Technology - CS - 537
Texture MappingReadings:Angel: Chapter 9 (2nd edition), Chapter 7 (3d edition) Red Book: Chapter 9 Foley Van Dam, et al Chapter 14.3 Angels OpenGL Primer: Chapter 8, see also Chapter 7 about more Angel details on the pixel pipelineTexture Mapping Revie
Stevens Institute of Technology - CS - 537
ReadingsShadingFoley, Van Dam, et al, Chapters 14.1 and 14.2; Angel, Chapter 6; Angels OpenGL primer, Chapter 6; The Red Book, Chapter 5.CS437/CS537CS437/CS5371Shading 1Move from flat to 3-D models Orthographic view of sphere was uniformly color, t
Stevens Institute of Technology - CS - 537
Building and Viewing an Interactive Scene TransformationsCS 437/537Today Coordinate systems and transformations The matrix pipeline Modeling: Building a scene Symbols and instancing Hierarchical models Attributes and rendering states Animation Readings
Stevens Institute of Technology - CS - 537
Intersection Testing Ray-XCS437: X-testing1The problemQuestion: Given a ray Does it intersect an object, a primitive? Where? Here we will be concerned with the first intersectionP + tv , t 0vPCS437: X-testing2ApplicationsRay tracing Animation,
Stevens Institute of Technology - CS - 537
Lines, planes, affine combinations, and containmentG. Kamberov CS437/537Line: parametric equationA line, defied by a point P0 and a vector d consists of all points P obtained by Velocity vector P () = P0 + d where varies over all scalars. P () is a poi
Stevens Institute of Technology - CS - 537
Math Foundations of CG TransformationsMath 2CS4371Today: The issuesHow do we manipulate, move, reposition, etc? Particular applications:Instancing transformations Local transformation matrix Animation Camera positioning Viewing and projectionMath 2
Stevens Institute of Technology - CS - 537
Math Foundations of CGGK: 437/537What is this all about?Building 3D graphics does need much more math than 2D graphics. In the next two modules we will cover the basics. The components needed to build objects and scenes: points, lines, planes The repre
Stevens Institute of Technology - CS - 537
Stevens Institute of Technology - CS - 537
Computer GraphicsSelection and Picking 1In this moduleInteraction Keyboard, mouse, menus Selection and picking Readings: Angel OpenGL Primer, Chapter 3; The Red Book, Chapter 1, pp 20-27, Chapter 13.1Interaction We can interact with the program (thu
Stevens Institute of Technology - CS - 537
3D Primitives and Polygonal ADT and DSCS 437/5373D PrimitivesCurvesSurfacesVolume ObjectsCS 437/53713D PrimitivesObjects With Good Characteristics Described by their surfaces; thought to be hollow Specified through a set of vertices in 3D Compose
Stevens Institute of Technology - CS - 537
CS537 Final project requirementsINSTRUCTOR: G. KAMBEROV The final project must show your mastery of the fundamentals of computer graphics covered in the course: Modeling and scene hierarchy Smooth animation of camera and object motions Entertaining and e
Stevens Institute of Technology - CS - 537
Computer Graphics CS537 A Frame Buer Primer. Double Buering and Animation BasicsGeorge KamberovStevens Institute of Technology, Hoboken, NJ 07030, USATopics The frame buer (FB) The color buer, double buering and animation The z-buer and hidden surface
Stevens Institute of Technology - CS - 537
CS 537 Homework 3Problem The goal in this homework is to build a small world and a ying camera which will enable you to navigate smoothly in a 3D world. The user is identied with a the ying camera. You must use hierarchical modeling to build the scene. M
Stevens Institute of Technology - CS - 537
CS 537 Homework 2 In this homework we will concentrate on building a simple scene, interaction techniques, and some advanced viewing. The scenario you should keep in mind is a game in which you can pick one of several objects in your hand and then explore
Stevens Institute of Technology - CS - 384
C+ I/Ocs384Lecture Plan File I/O Reading: Carrano and Prichard A47-A60C+: The stream concept A stream is an object modeling a flow of data (a sequence of bytes). The physical sequence of bytes attached to a stream can live on (come from) a disc file,
Stevens Institute of Technology - CS - 384
Simulation 2 Building it Intro to Priority Queues384Today Building the simulation Intro to priority queues384Queueing system Statistics to be gathered Waiting time Queue length Server utilization Event types Arrival Departure System state Serve
Stevens Institute of Technology - CS - 384
Lists384ADT list Specification: a sequential collection of items (nodes).John Rebecca Uma Ahmed Number of items unbounded a priori Nodes are accessed by position relative to neighbors or absolute position Rank vs sequential order. If ordering by rank
Stevens Institute of Technology - CS - 384
Lecture 5 RecursionCS384 G. KamberovToday Recursion Principles Recursion vs Iteration. Improving recursive algos and implementations. User maintained stacks, Tail recursion, Dynamic programming Thinking about recursion, recursion trees, recursion trace
Stevens Institute of Technology - CS - 384
Pointers to FunctionsCS384Overview Using pointers to functions Typical applications Solving equations and other numeric applications Sorting/searching arrays (lists) using different key comparisons Event driven programming, e.g., graphicsGK cs38421
Stevens Institute of Technology - CS - 384
C+ Basics III Pointers Continued Arrays, StringsCS 384Today Pointers, pointer arithmetic Arrays Strings of characters basics Dynamic data objects1Pointers: definition An object of type pointer-to-some_type contains the address of an object of type s
Stevens Institute of Technology - CS - 384
C+ Basics IV Overloading, template functionsCS 384GK: CS 384 Overloading, template functionsToday Overloading Template functionsGK: CS 384 Overloading, template functions1Overloaded function names Allow us implement polymorphic routines. We can us
Stevens Institute of Technology - CS - 384
CS 384Spring 2004Assignment 6Assigned: April 22, 2004 Submission Instructions: You must submit 1. Hard copies (Submit in class) Typed or legibly written descriptions of your code Printout of your code (it must be identical with the electronic submissio
Stevens Institute of Technology - CS - 384
CS 384: Homework 4Due date: Tuesday 03/30/04. The goal of this homework are to think about the design and implementation of a data structure representing a link list and to practice classes in general. You have to provide implementations and a driver. Th
Stevens Institute of Technology - CS - 384
CS384: S2004Homework 3Instructions Due date: Th 02/26/2004 Submission Instructions: You must submit a typed or printed paper in class. All of your answers must be explained and justified. Grading: Point breakso o oProblem 1 is worth 15%. Problems 2
Stevens Institute of Technology - CS - 384
CS 384Spring 2004Assignment 1February 5, 2004 Submission Instructions: You must submit 1. Hard copies (Submit in class) Typed or legibly written descriptions of your code Printout of your code (it must be identical with the electronic submission) 2. A
Stevens Institute of Technology - CS - 384
CS 384: FINAL EXAM PRACTICE v 01Instructions Review all homework and quiz problems and the previous practice set. Some additional practice problems are given below the emphasis of these problems is on the later material: template classes, inheritance, li
Stevens Institute of Technology - CS - 384
Trees384Today General trees overview Why and what. Basic examples. ADT specs Applications basic examples again Binary trees ADT specs Implementations Binary search trees ADT specs Applications Readings: Chapter 103841Trees: Motivation Data with com
Stevens Institute of Technology - CS - 384
Intro to Simulations384Today Simulation: why and what. Different strokes for . Time driven Event driven Example: Simulating a queueing system consisting of a single server and a stream of clients3841Simulation and C+ C+ was strongly influenced by
Stevens Institute of Technology - CS - 384
CS384: Notes on Mathematical Induction and Verication of Recursive Functions G. KamberovMathematical induction is a useful tool to verify whether a function satises its specication, and to study the complexity of programs. Consider the following example.
Stevens Institute of Technology - CS - 384
ADT: Queue384ADT queue Specification: a sequential collection of items (nodes, clients, jobs). The access to the items depends on their sequential order.JohnfrontRebeccaUmaAhmedEnd/tail Deletion (dequeueing) and retrieval are allowed for the fro
Stevens Institute of Technology - CS - 384
Lecture 5aCS384 G. KamberovToday Overloading Recursion QuizCS384 G. Kamberov1Overloaded function names Allow us implement polymorphic routines. We can use the same function name to designate a set of functions that perform similar actions, they mus
Stevens Institute of Technology - CS - 384
C+ Basics III Reference Types Pointers First Look Arrays, StringsCS 384Today Passing by value vs passing by reference. Reference type Pointers gleaned Arrays Intro to strings of characters1Simple and elegant: the swap A function which exchanges the
Stevens Institute of Technology - CS - 384
C+ Basics II Activation Frames and Passing ParametersCS 384Today Activation Frames Passing by Value vs Passing by Reference. Reference type Pointers gleaned From source to executable1Activation frames (AF) High addressesHeap RAM Free Call Stack: con
Stevens Institute of Technology - CS - 384
My First ProgramG. Kamberov: Cs384cs384:How to?1Things to do: Logging on Log on lab.cs.stevens-tech.edu. Get an account on lab.cs.stevens-tech.edu See the instructions in the class page. You will be getting an account on guinness.cs.stevens-tech.edu s
Stevens Institute of Technology - CS - 384
rand()generate random numberSYNOPSIS#include <stdlib.h> int rand(void);DESCRIPTIONThe rand() function generates uniformly distributed pseudo-random in the range from 0 to RAND_MAX (a symbolic constant defined in the header file stdlib.h). You can pri
Stevens Institute of Technology - CS - 384
CS 384: FINAL EXAM PRACTICE, Fall 2002 Final UpdateInstructions Review all homework and quiz problems and the practice set for the previous two exams. Some additional practice problems are given below the emphasis of these problems is on the later materi
Stevens Institute of Technology - CS - 535
Financial Computing: Asset Price Walks, Pricing Bonds and Options SyllabusIntroduction to Markets1. Markets, assets, derivatives. 2. Interest rates and present value. 3. Options, futures, forward contracts, and hedging strategies. Readings [WHD: Chapter
Stevens Institute of Technology - CS - 537
Texture MappingTexture Mapping ReviewnnnMotivation: to model realistic objects need surface detail: wood grain, stone roughness, scratches that affect shininess, grass, wall paper. Use geometry, model surface detail with polygons; good for large scal
Stevens Institute of Technology - CS - 537
Viewing and Projectionscs53712/7/20021Modeling and Viewing Modeling Use modeling (local) coordinates and geometric transformations to build hierarchically more complex objects and scenes. The final scene is in world frame Viewing Model the camera:
Stevens Institute of Technology - CS - 537
Shading 1 Shadingn nMove from flat to 3-D models Orthographic view of sphere was uniformly color, thus, a flat circlenA circular shape with many gradations or shades of colorReadings: Chapter 6: "Shading" .12/7/2002CS537: Shading112/7/2002CS537:
Stevens Institute of Technology - CS - 537
Math Foundations of CG TransformationsMath 2CS5371Today: The issuesnHow do we manipulate, move, reposition, etc? Particular applications:n n n n nInstancing transformations Local transformation matrix Animation Camera positioning Viewing and proje
Stevens Institute of Technology - CS - 537
Math Foundations of CGMath 1CS5371What is this all about?nnn n nThe components needed to build objects and scenes: points, lines, planes The representations and operations on the components (frames, translations, etc) The ADT The architecture of t
Stevens Institute of Technology - CS - 537
Computer GraphicsLecture 5GK:Cs537 Lecture 5: Animation, Viewing, PickingToday Dynamic scenes and animation Double buffering Updating the scene Orthogonal projection and rendering, resizing Selection and picking Math and other nightmaresGK:Cs537 Lect
Stevens Institute of Technology - CS - 537
Computer GraphicsLecture 4 Transformations Building a SceneGC537 G. KamberovToday Coordinate systems and transformations The matrix pipeline Modeling: Building a scene Symbols and instancing Hierarchical models Attributes and rendering states (see pag
Stevens Institute of Technology - CS - 537
Computer GraphicsLecture 3 OpenGL as a rendering API Programming BasicsToday The pipeline More on libraries OpenGL Primitives: graphics and The state machine The pipeline GLUT Event driven programming. The callbacks. Managing windowsBasic program
Stevens Institute of Technology - CS - 537
CS 537: Fall 2002 Homework 2 Due date: Novemmber 14, 2002 You should submit with the source code and a report stating: what you did; how you did it; any particular features you want to draw attention to; or any problems with the program you know about. Su
Stevens Institute of Technology - CS - 410
Stevens Institute of Technology - CS - 537
CS 537: Fall 2002 Homework 1 Due date: October 9, 2002 You should use 2D graphics for this assignment.The goal is to get your feet wet in OpenGL with GLUT programing and and the basic methods for building scenes and interactive applications. Make sure you
Stevens Institute of Technology - CS - 410
Stevens Institute of Technology - CS - 410