Topics from Graphics 1

Image taken from http://www.felixgers.de/teaching/game/game-modules-talk/GameEngineAndModules.html 1 Synthetic Camera Model

Images copied from http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/ART/ 2 Camera Specification

 Six degrees of freedom  Position of center of lens (COP)  Orientation  Lens – focal length  Film size (h,w)  Orientation of film plane

Images copied from http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/ART/ 3 LookAt

Images copied from http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/ART/ 4 Perspective

Frustum: a truncated pyramid

Images copied from http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/ART/ 5 and slightly modified Using Field of View

front plane

fovy – angle in up direction aspect = w/h

Images copied from http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/ART/ 6 Clipping

Just as a real camera cannot “see” the whole world, the virtual camera can only see part of the world or object space  Objects that are not within this view volume are said to be clipped out of the scene

Images copied from http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/ART/ 7 Projection  Projection: from 3D objects to 2D image  Perspective projections: all projectors meet at the center of projection  Parallel (orthogonal) projection: projectors are parallel, center of projection is replaced by a direction of projection

8 Orthogonal Viewing

Images copied from http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/ART/ 9 and slightly modified Texture Mapping

Image copied from http://blog.tartiflop.com/2008/11/first-steps-in-away3d-part-3-texture-mapping/ 10 Mapping a Texture

 A function f(u,v)=(x ,y ,z ) defines (u,v) (u,v) (u,v) the object position of each pixel in the texture, see this. The color of each pixel is the color of the point (u,v) of the texture.

Images copied from http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/ART/ 11 Texture Mapping General Triangles

When the triangle does not fit properly on the texture, one has to use interpolation to determine the color associate with the a point on the object. This is done automatically by graphic systems. All one needs to give are the (u,v) coordinates of the vertices. For the upper triangle counterclockwise from lower left they are (0,0), (1,1), (0,1). The counterclockwise order is used in right hand coordinate systems, like Ogre and Opengl. DirectX and uses a left hand system Most graphic systems will let one map textures to quadrilaterals, in that case the texture coordinate are (0,0), (1,0), (1,1), (0,1) counterclockwise from lower left.

12 Texture Mapping and the Hardware

 Images and geometry flow through separate pipelines that join at the rasterizer  “complex” textures do not affect geometric complexity

vertices Vertex shader rasterizer image Fragment shader

13 Planet Earth-Picture

Images copied from http://www.3dstudio-max.com/textures/images/earth.jpg 14 Example-Planet Earth 3D

15 Planet Earth-Mesh

Use Spherical Coordinates to determine the mesh coordinates

16 Planet Earth-Mapping

17 Meshes

 A mesh of quadrilaterals as shown in the last slide or a mesh of triangles is used in graphics to draw surfaces. When textures are attached to the quadrilaterals or triangle the surface appears solid.  See Ogre Mesh Class, Describing a mesh Dynamically generating a mesh for information on how Ogre reads and stores meshes

Images copied from http://www.codesampler.com/d3dbook/chapter_05/chapter_05_files/image001.jpg 18 Ogre Camera and Textures

 Ogre camera class, http://www.ogre3d.org/docs/api/1.9/class_ogre_1_1_camera.html  Ogre Third Person Camera http://www.ogre3d.org/tikiwiki/tiki-index.php?page=Simple+3rd+person+camera  Ogre First Person Camera http://www.ogre3d.org/tikiwiki/Creating+a+simple+first-person+camera+system  Ogre Texture http://www.ogre3d.org/tikiwiki/-Texture

19 Scene Graph

 In unity each object has a transformation and can include other objects and meshes. Together these produce the scene graph for the scene.

Images copied from http://wiki.jmonkeyengine.org/doku.php/jme3:the_scene_graph 20