1 / 37

Pre-Test Results

Pre-Test Results. pass line: 50 pts. # students. Total Points: 75 pts Pass (2/3) 50 pts, 66%. Took Pretest: 26 out of 40 students Passed: 15 students (out of 26), 57% Class Average: 45 pts. By Category. pass line 66 %. score %. 66% = pass. By Question.

Télécharger la présentation

Pre-Test Results

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.


Presentation Transcript

  1. Pre-Test Results pass line: 50 pts #students Total Points: 75 ptsPass (2/3) 50 pts, 66% Took Pretest: 26 out of 40 studentsPassed: 15 students (out of 26), 57%Class Average: 45 pts

  2. By Category pass line66 % score%

  3. 66% = pass By Question Q1 Which of the following is not an OpenGL primitive?Q2 Which equation best describes specular lighting?Q3 Which of the following interpolates the surface normal?Q4 Which of the following gives correct silhouette shape?Q5 Which of these commands can be placed inside glBegin/E?Q6 What is the process of converting a polygon to pixels?Q7 When defining a texture, which do you need?Q8 Which of the following gives a yellow color?Q9 What does an illumination model describe?Q10 How many polygons in a tesselated cube?Q11 What is the equation for diffuse lighting?Q12 Short code to setup lighting in OpenGL?Q13 Describe the surface normal?Q14 Short code to render corners of a cube as points?Q15 Two problems associated /w texture mapping?Q16 How do you compute the surface normal on a sphere?

  4. Pre-Test Conclusions- Final exam will be same level of difficulty! Not same questions. Note: Pre-test had no math questions at all. The hardest was 6*4 = 24 You might be asked to calculate something in final exam.- Entire class needs to study to keep above 66% (50 pts).- If you were in 50s, studying will put you safely above passing, and additional studying puts you in reach of a good score.- If you were in 40s, you need to study to pass the final.- If you were in 20s/30s, you must study hard to ensure a passing grade.( Your pre-test will indicate which questions to focus on. )- Overall focus areas are OpenGL and Texturing. You must know: glEnable glLightfv / glMaterialfv glVertex3f / glColor3f / glNormal3f / glTexCoord3f glBegin..glEnd

  5. Scene Graphs Department of Architecture and Media TechnologyR. Hoetzlein

  6. How do we represent a dynamic scene with moving parts?

  7. Motivation:Car in OpenGL Wheels are attached to body..

  8. However.. All wheels should turn.. Front wheels should turntogether for steering.. Wheels need to stay attached ! Car should move forward..

  9. Reference Frames

  10. Scene Graphs 0 1 2 3 4 5 6 Sample problem #1:A ball is thrown inside a subway train which is 6 m long.The ball starts at 1m, and ends at 5 m, after 2 secs.What is the local position of the ball a 1 sec?What if the train is moving at 2 meters/sec?

  11. 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 9 10 What is the global position of the ball, seen from outside the train?

  12. Train Ball relative to ground relative to train Local Coordinates Time 0 0 m 1 mTime 1 2 m 3 m Time 2 4 m 5 m World Coordinates Time 0 0 m 1 mTime 1 2 m 5 mTime 2 4 m 9 m What is the speed of the ball in the train?What is the speed of the ball relative to the ground?

  13. Local Coordinates The position and orientation of an object relative to another object.World Coordinates The position and orientation of an object as it resides in a global space. Albert Einstein (Theory of Relativity): There is not absolute frame of reference. The most common one in graphics: the Earth. In astronomy, the Earth is moving.

  14. Scene Graphs Another example: How do we position robot arms?

  15. attached 50 deg 40 deg

  16. 50 deg 40 deg o -70 o -70 First joint: Angle changes 40 deg to 50 degSecond joint: Relative angle is the same. 70 degAbsolute angle changes.

  17. 50 deg 40 deg 0 deg 0 deg -20 deg -30 deg First joint: Angle changes 40 deg to 50 degSecond joint: Relative angle is the same. 70 degAbsolute angle changes.

  18. Arm #1 Arm #2 relative to ground relative to Arm #1 Local Angle Time 0 40 deg -70 degTime 1 50 deg -70 deg World Angle Time 0 40 deg -30 degTime 1 50 deg -20 deg Notice: Angles can also be relative ! Local angle may stay fixed. If parent object rotates, world angle will still change.

  19. Observation:The motion of objects is bound to the parent object. Thus, we can describe the motion of an objectas a compound transformation of the local and parent objects.

  20. Car body Wheels Compound Transformation: P’ = V Mparent Mchild pExample: P’ = V Mcar Mwheel p OpenGL: glLoadMatrixf ( view ); VglTranslatef ( x, 0 ,0 ); Mcar glTranslatef ( 2, 0 ,0 ); Mwheel glRotatef ( 45, 0, 0 );

  21. Compound Transformation: P’ = V Mparent Mchild pExample: P’ = V Mcar Mwheel p θ d Mcar = T ( d, 0, 0 ) = [ 1 0 0 0 0 1 0 0 0 0 1 0 x 0 0 1 ] Mwheel = T( 1, 0, 0 ) R( θ ) = [ cos θ -sin θ 0 0 sin θcos θ 0 0 0 0 1 0 0 0 0 1 ] [ 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 ] What is Mtotal ?

  22. Scene Graphs A languagefor describing the transformation, materials or otherproperties of objects by expressing them in a tree or graph.Scene graphs are descriptive, as opposed to imperative. C/C++, OpenGL are imperative languages:OpenGL does not support scene graphs.OpenGL is command-based.

  23. IRIS InventorPaul Strauss, SGI, 1993 Immediate mode libraries such as IRIS OpenGL [3], StarbaseTM [8], and RenderManTM [ 101 provide a set of drawing commands that can be used by applications to create visual representations of modeled 3D objects. Display lists are used by packages such as GKS [4] and PHIGS+ [7] (and, to a lesser extent, some immediate mode libraries) to collect drawing commands into simple linear lists. Neither of these approaches truly exploits any correlation between modeled objects, such as chairs and airplanes, with the commands used to represent them visually;By using object-oriented techniques, IRIS Inventor is able to provide a higher level of 3D graphics programming to application developers, compared to conventional 3D libraries.

  24. Cosmo 3D, 1990s

  25. IRIS Performer A High-Performance Multiprocessing Toolkit for Real-time GraphicsJohn Rohlf, James Helman (SGI), 1996Scene graph allows similar objects to be grouped for performance.Group: those outside camera, those with same texture, those part of same object

  26. Scene Graphs – In practice

  27. Scene Graphs – In practice Tank Tank Tread Turret Tread Turret box box curve cylinder Constructiongraph Transformationgraph (tread & turret are affixed to tank) (turret is constructed from box and cylinder) Turret Steel Rubber Engine Tread Tank Turret Tread Tank Material graph Motion graph (tank & turret are metal, tread is made of rubber) (engine and tread causes the tank to move)

  28. Maya Hypergraph

  29. Maya Hypergraph – Complex character

  30. Granted, it is probably impossible to find a single perfect organization for a scene graph that simultaneously optimizes for spatial, state, semantic, and CPU considerations. Some people try to hand-design theirs to straddle the fence and make the best of what they have. But a better idea is to remove one of the fundamental constraints: that there need be a single scene graph organization for a given visual database. Bar-Zeev, Avi. Scene Graphs: Past, Present and Future, 2007

  31. Game Engines – Most use a transformation graph, since mostly concerned with animation.

  32. Rendering – Rendering systems use a shader graph, since mostly concerned with visual appearance.

  33. Houdini – Procedural systems use a functional graph, since they are mostly concerned with complex, dynamic geometry and motion.

  34. Lab #9:Animate a moving car in OpenGL.1) Draw the body and wheels with glutSolidCube and glutSolidCylinder.2) Use glTranslatef to position the body of the car.3) Use glRotatef to orient the wheels of the car.4) See if you can get the wheels to stay attached to the car.Ideally: Car moves forward. Wheels rotate over time. User can control steering of the car.

More Related