ࡱ> lk;( / 0DTimes New Roman 60Wo 0DArialNew Roman 60Wo 0" DWingdingsRoman 60Wo 0c(.2  @n?" dd@  @@``   P!                     $ ,                         , 3'          )  ,h/                +   O              Yc $0e0e     A@ AjJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||@d g4AdAd04ppp@ <4BdBd 0L 7g4VdVd0zpu pp<4!d!d 0L 7~kʚ;a3ʚ;<4ddddЁ 0r0___PPT10 2___PPT9/ 0?D$ 0Essential Math for GamesO = The 3D Pipeline  MJim Van Verth (jim@essentialmath.com) Lars M. Bishop (lars@essentialmath.com).N~                    The 3D Pipeline  Three problems: want to construct hierarchy of objects transformation of object combined with its children want to manipulate camera viewing transformation want to render objects to screen projection/screen transformation'4!!'4! !  The 3D Pipeline  Where geometric objects are transformed through a series of spaces They are fed in as 3D objects in their own space (model space) They come out as pixels on the screen (screen space)   Model Space   AKA local space, object space Where object vertices are defined Origin at center of object (or at pivot) Right-handed is common Z up arbitrary, also see Y-axis up   World Space   Where objects are placed Origin at center of world or scene Right-handed is good (consistency) View position, orientation usually expressed here  Hierarchical Spaces  Suppose have arm connected to body in world First transform arm to body space Then transform arm to world space Standard order: scale, rotate, translate Often, objects are modeled around a  pivot point (e.g. shoulder for arm)  Hierarchical Transforms  !First transform arm to body space"  Hierarchical Transforms  Then body, arm to world space  Hierarchical Transforms  In practice, body and arm have separate transforms Arm transform is relative to body Draw body with its transform (MBW) Draw arm with concatenation of body and arm transforms (MBW MAB) Objects can move independentlypt :  !   Scene Graph   XCommon structure for hierarchical scenes Jointed (or skinned) characters are the most frequent applications Using like a tree  doesn t have to be Instancing makes it a DAG&  Example Scene Graph    Scene Graph (One Implementation)!  Spatial Base class, handles transforms, bounds Node Maintains hierarchy (array of children) Geometry Leaf nodes, contain renderable geometryt') (') ( *z        Using Scene Graph  Update transforms Pass down from top to geometry nodes Concatenate and store world transforms at each level Used for collision, culling Render Recursively call Render() on all children Bounding volumes allow for fast cullingTZvZZRZvR  ] References   `Foley, James D., Andries van Dam, et. al., Computer Graphics: Principles and Practice, Addison-Wesley, Reading, MA, 1990. Blinn, Jim, Jim Blinn s Corner: A Trip Down the Graphics Pipeline, Morgan Kaufman, San Francisco, 1996. Eberly, David H., 3D Game Engine Design, Morgan Kaufmann, San Francisco, 2001.V1+*159(    b         Q    *      /   ` f33` 3f3` ___>?" dd@,?" dd@  " @ `"  n?" dd@   @@``@n?" dd@  @@``PR    @ ` ` p>>D$ 0Essential Math for Games r(    N(qgֳgֳ ?P  X Click to edit Master title style!!  2  Hsgֳgֳ ?  RClick to edit Master text styles Second level Third level Fourth level Fifth level!    S    Z  r 4 S | f   H 4 0޽h ? 333y___PPT10Y+D=' = @B +  p0(  x  c $,P   x  c $  H  0޽h ? 33   k c  (  x  c $AP  A x  c $A A |  T 8c??" `|B  TD8c?  |B  TD8c?  |B  TD8c? _ O |B  TD8c?     NA 8c? c@ OModel 2  |   T 8c?? |   T 8c??  _ |   T 8c??    Nl A 8c? @ OWorld 2    N 8c? @ NView 2    NA 8c? @ PScreen 2  |  T 8c?? P   NA 8c? @ MNDC 2  H  0޽h ? 33  B: (  x  c $4AP  A x  c $A A pB  HD1?`pB @ HD1?``pB  HD1?`  3 :3WMMMԔ?xArial Black   3 :3WMMMԔ?zArial Blackp   3 :3WMMMԔ?yArial BlackpH  0޽h ? 33  B: (  x  c $#AP  A x  c $$A A pB  HD1?`pB @ HD1?``pB  HD1?`  3 :3WMMMԔ?xArial Black   3 :3WMMMԔ?zArial Blackp   3 :3WMMMԔ?yArial BlackpH  0޽h ? 33  0(  x  c $+AP  A x  c $,A A H  0޽h ? 33  >6(  x  c $2AP  A x  c $2A A F P8   @@L( r  BԔH8 N ]m =   PmB  TDjJ?m xB B HDjJ] = xB   HDjJ      H5A jJ?  b0Arm in Arm s Model Space 2   H9A jJ? `  d2Arm in Body s Model Space 2F  M       B   TDԔ? M _ xB B HDԔM `   xB  HDԔ ` c r  BԔ 0  xB  HDԔ  0 T P8  # ! dpr  BԔH8 N ]m =   PmB  TDjJ?m xB B HDjJ] = xB  HDjJ     c Z0e0e    BCDEF @  Ԕ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||pH,@  "` 0    H?A jJ?    MAB = TARAsA^ 2  HHA jJ? <l :DEMO 2H  0޽h ? 33^      (  x  c $NAP  A x  c $?@ABCDEFGHIJKLMNOPQRTUVWXYZ\]^_`abdefghijmRoot EntrydO)Current UsercSummaryInformation(SPowerPoint Document(8DocumentSummaryInformation8[