OGRE(O-O Graphics Rendering Engine) - PowerPoint PPT Presentation

1 / 98
About This Presentation
Title:

OGRE(O-O Graphics Rendering Engine)

Description:

Title: OGRE O O Graphics Rendering Engine Last modified by: Yeshuang Created Date: 12/5/2003 3:09:18 AM Document presentation format: (4:3) – PowerPoint PPT presentation

Number of Views:90
Avg rating:3.0/5.0
Slides: 99
Provided by: educ5460
Category:

less

Transcript and Presenter's Notes

Title: OGRE(O-O Graphics Rendering Engine)


1
??????????
2
??
  • ??????(???) 10
  • ????proposal (??) 10
  • ???????proposal???(??)10
  • ??OGRE?????? 10
  • ????
  • ????
  • ????(????)
  • ???? 40
  • ???? 20

3
??Quake3???
4
????????????
  • ?????????????????
  • ??????????
  • ?????????
  • ????????,???????????
  • ????????,??????
  • ???????????????
  • ????????????
  • ????????????????????,????????????OGRE?????????

5
????????????
  • ??????????
  • ?????????
  • ???????????????
  • ??????????
  • ??????

6
?????(Scenegraph)??????
  • ???
  • ?????????????????
  • ????????,?????????
  • ???
  • ?????????

???????
7
???????????
  • ?????????????

??????A ? ???? ? ???? ? ???? ? ????? ??????B ? ???? ? ???? ? ???? ? ????? ??????C ? ???? ? ???? ? ???? ? ????? ??????D ? ????? ? ??? ? ???? ? ??????
????????
8
???????
9
????????????
  • ???????????????,???????
  • ??????????,????????????????
  • ????

10
????????
11
?????????
?????????
12
OBB???????
13
???????
  • ?????
  • ???(incremental)
  • ???(gift-wrapping)
  • ???(divide-and-conquer)
  • ??????(quick-hull)
  • k-dop(discreted orientation polytope,???????)
  • ????????????????,??????????

14
8-dop??
15
?????????
  • ????????????????????
  • ??
  • ????,?????????????
  • ??
  • ???????!

16
???
17
?????????
  • BSP?

(?)???BSP???(?)BSP??????
18
BSP??????
(?)???????????(?)??????BSP?
(?)???????????(?)??????BSP?
19
BSP??????????????
  • ?????????????????????

20
???
(a)????? (b)????? (c)?????
21
???
(a) (b)
(c)
(a)???? (b)????? (c)?????
22
??????????????
(?)???????(?)??????
23
??????????????
? ? ? ? ? ? ? ? ????? ? ? ?
??? ?????????????? ?? ?????????
??? ?????????? ?? ???????
??? ????????????? ?? ????????
????? ???????????????? ?? ????????
24
??????????????
??????? ??????
? ? ? ? ?????? ??????
? ? ? ? ???? ????
? ? ? ? ??????? ???????
? ? ? ? ?????? ??????
? ? ? ? ????????????? ???????????
? ? ? ? ????OBB-??AABB??k-DOPS ???????????????????kD?
25
????(LOD)??
  • ?????LOD
  • ?????LOD
  • ??LOD
  • ??LOD

26
LOD
27
???????
  • ????
  • ???
  • ???!
  • ???

??????????
28
?????????
29
LOD Models
30
???????????????
  • ????????????
  • LOD?????????????????
  • ??????????????
  • ???LOD???,Huppe???1995???
  • ??????(Progressive Mesh)
  • ??????????????????
  • ???????????????

31
?? SpeedTree?LOD??
32
?? SpeedTree?LOD??
33
??SpeedTree?LOD??
34
Demo
35
????????
36
?????????
37
???????
38
???????
  • ??????????????
  • ????????????

(?)??????(?)??????????
39
?????
(?)?A ?????????,?B???????,??????????????????,?C??
??????????????????(?)????????????????????????,????
????
40
?????(???????)
  • ???(Visibility)????????????????
  • ?????????????????????????
  • ??????????????????,??????
  • ??,????????????????????????????????????
  • ?????????????????????
  • ????????????????????,???????????????
  • ??,??????????????????????????

41
???????
  • Cell-to-Cell ???
  • ?????cell????????????????
  • ?????????????????????,???????????????????????????
  • Cell-to-Region ???
  • ???????,?????????????
  • Cell-To-Object ????????,???????????
  • Eye-To-Region ???
  • ?????????????????????
  • ??,Eye-to-Cell ?? Eye-To-Object

42
????(Portal)????????
  • ?????????????,???????????????????

43
???????????
  • ????
  • ?????????
  • ?????????
  • ??
  • ??????
  • ????
  • ??
  • ???????,???????
  • ???????

44
Cell-Portal ??
  • ???????????????????
  • ???????????????,????
  • Portals?????????????????
  • Portal ????????
  • ???????????Portals
  • ??????????
  • Kd-trees ??BSP?????cell??????????? portals
  • ????????
  • ??????????

45
Cell Portal ??
  • Portals ????????(???)
  • Graph????????
  • ???????????(?portals)

A
B
A
B
C
D
C
D
E
F
E
F
46
Cell-Portal ???
  • ??????????
  • ????graph?????????
  • ?????,??????????????potentially visible set (PVS)
  • Cell-to-region ???,?? cell-to-object ???
  • ?????????????????????
  • ???????????
  • Eye-to-region ?? Eye-to-cell ???
  • ????????? vs. ?????????????
  • ???????,??????????????

47
PVS?????
  • PVS ?????????,?????????/??/??/???
  • ???,?????????????
  • ?????????
  • ????????
  • ?????????????????
  • ??
  • ????? ??????,????PVS?????
  • ??????????????,???????

48
Cell-to-Cell PVS
  • Cell A ? B? PVS?,?????????,?B????A,?????????????
  • ?????????PVS??

I ?PVS ?? B, C, E, F, H, J
49
Stab ?
  • ????????
  • ?????PVS
  • ????????portal??
  • ???????????
  • ???????????cells/portals ??

A
A
B
A/C
C
C/D2
C/E
C/D1
C
D
D
E
D
D/F
F
E
F
50
Cell-to-Cell???
  • ??????cell-to-cell????????
  • ?????? ????99.6????????????,??????90???,
    ??????????98
  • ??,??cell-to-cell??????????
  • ????????????
  • ????????

51
Cell-to-Cell???
  • ?????
  • ???????????????????,?????????????
  • ????????????-??????????????????????
  • ????????????,???????????????
  • ?????????????

52
Cell-To-Region ???
  • ??????????????????????
  • ??,???????????
  • ???????????(????,?????)

??????portal????
53
???????
  • PVS ??????????
  • ?????,?????PVS??
  • ??????????????
  • ????PVS??
  • ?????????
  • ????????????????,?????? Eye-to-Region????

54
Eye-to-Region (1)
View
55
Eye-to-Region (2)
56
??Cell ??Portals????
  • ?????????cell?portal??
  • ????????????????????????
  • ????-??????????,??????????Cell
  • ?????
  • ????????,??occluders????????????

57
Occluders
  • ? occluder??????
  • ??,??????????
  • ???????????????
  • ??????Supporting planes
  • ???????????????
  • Occluder?????????
  • ??????????

supporting planes
eye
occluder
58
Occluders(?)
  • Occluders ??????????
  • ??????
  • ??????????
  • ????????????,??????
  • ???????????????????occluders
  • ??,?????billboards??
  • occluding ?????????,??,??occluder ???????????
  • ???????????occluder????,??????????,
    ????????????????

59
Occluders(?)
  • ???occluders????????????????
  • Hierarchical Z-Buffer ?????(??)???????
  • ??????????????
  • ????Hierarchical Occlusion Maps(?????)
    ?????????????,??????????
  • Schaufler Occluder Fusion ????????????????

60
???????
?????????,????7,000????,???50fps??????????,??????
????17,300, ?????20 fps
61
??????????
(??)????????? (??)???(??)???????????
(??)???????
62
????????
63
????
  • ??????????
  • ????????
  • ????
  • ????
  • ????
  • ????
  • ?????????????????
  • ?????????????

64
?????????
  • ?????????????????????
  • ????????????????
  • ????
  • ??????????????1???
  • ?????????????????

65
???????
  • ????????
  • ??
  • ????????????
  • ?????
  • ???????????

66
????????
  • ????,??????
  • ?????
  • ????
  • ???????????????!

67
???????????????
68
OGRE????
69
OGRE??????
  • ?OGRE????????????
  • ST_GENERIC ????
  • ST_EXTERIOR_CLOSE ??????
  • ST_EXTERIOR_FAR ??????
  • ST_INTERIOR ????

70
????
  • ????????????
  • BspApplication()
  • // Load Quake3 locations from a file
  • ConfigFile cf
  • cf.load("quake3settings.cfg")
  • mQuakePk3 cf.getSetting("Pak0Location")
  • mQuakeLevel cf.getSetting("Map")

71
??????????
  • void chooseSceneManager(void)
  • mSceneMgr mRoot- gtgetSceneManager(ST
    _INTERIOR)

72
???????
  • void createScene(void)
  • // Load world geometry
  • mSceneMgr-gtsetWorldGeometry(mQuakeLevel)
  • // modify camera for close work
  • mCamera-gtsetNearClipDistance(4)
  • mCamera-gtsetFarClipDistance(4000)
  • // Also change position, and set
    Quake-type orientation
  • // Get random player start point
  • ViewPoint vp mSceneMgr-gtgetSuggestedView
    point(true)
  • mCamera-gtsetPosition(vp.position)
  • mCamera-gtpitch(90) // Quake uses X/Y
    horizon, Z up
  • mCamera-gtrotate(vp.orientation)
  • // Don't yaw along variable axis, causes
    leaning
  • mCamera-gtsetFixedYawAxis(true,
    Vector3UNIT_Z)

73
(No Transcript)
74
(No Transcript)
75
????
  • OGRE???????Plugin_OctreeSceneManager.dll??????????
    ??????ST_EXTERIOR_CLOSE??????????

76
????
77
??????
  • ?????????????,????
  • virtual void chooseSceneManager(void)
  • // Get the SceneManager, in this case a
    generic one
  • mSceneMgr mRoot-gtgetSceneManager(
    ST_EXTERIOR_CLOSE )

78
??????
  • ???????????,?????????????????
  • void createScene(void)
  • // Set ambient light
  • mSceneMgr-gtsetAmbientLight(ColourValue(0.5,
    0.5, 0.5))
  • // Create a light
  • Light l mSceneMgr-gtcreateLight("MainLig
    ht")
  • // Accept default settings point light,
    white diffuse, just set position
  • // NB I could attach the light to a
    SceneNode if I wanted it to move automatically
    with
  • // other objects, but I don't
  • l-gtsetPosition(20,80,50)
  • mSceneMgr -gt setWorldGeometry(
    "terrain.cfg" )
  • mSceneMgr-gtsetFog( FOG_EXP2,
    ColourValueWhite, .008, 0, 250 )
  • mRoot -gt showDebugOverlay( true )

79
(No Transcript)
80
(No Transcript)
81
WhiteBlack
82
????
  • ??????
  • ????????????????????????
  • ????
  • ???????????????????????
  • ??
  • ?????????????????????,???????????????????????????,
    ?????????????

83
????????
  • ????????????????
  • ?????????
  • ?????????

84
??????????????
  • ?????????????????
  • ????????
  • ???????????
  • Dobkin 1985Agarwal 1991Chazelle 1989
  • ????????
  • ????????????????
  • ????????? Lin 1998Jiménez 2001

85
??????????????
  • ????????
  • ????
  • ??????
  • ?????????
  • ????????
  • ??????????????
  • ???????
  • Cameron 1990Canny 1986Redon 2001Redon
    2002a

86
??????????????
  • ?????????????
  • ?????????????

87
??????????????
  • ?????????????
  • ???????????????
  • ?????????????

88
??????????????
  • ?????????????
  • ???????????????
  • ???????
  • ?????,???????
  • ????????
  • CSG????,?????,????,?????

89
??????????????
  • ?????????????
  • ???????????????
  • ????????????????
  • Hubbard 1995Gottschalk 1996 Klosowski
    1998Zachmann 1998
  • ???????????

90
??????????????
  • ?????????????
  • ???????????
  • ???????????
  • Lin-Canny????????Lin 1991, Lin1993
  • Lin 1995, Cohen 1995, Chung 1996, Mirtich
    1998, Ehmann 2000, Ehmann 2001
  • ?????(Simplex)???????
  • Gilbert?Johnson?Keerthi Gilbert 1988Gilbert
    1990???GJK??
  • Cameron 1997Bergen 1999

91
??????????????
  • ?????????????
  • ???????????????
  • ??CSG????
  • Zeiller 1993Su 1996Poutain 2001
  • ?????????
  • Farouki 1989Miller 1991Shene 1991
  • ????????
  • ?????B????(NURBS)
  • Turnbull 1998
  • ?????
  • ???????????????????
  • Heidelb 2003Boyles1999??? 2001

92
??????????????
  • ?????????????
  • ???????????????
  • ?????????????
  • ?????(space decomposition)
  • ?????BSP??k-d?????(Octree)?Samet 1989Naylor
    1990Bourma 1991
  • ???????(hierarchical bounding volume trees)

93
??????????????
  • ?????????????
  • ?????????????
  • ???????,?????????????
  • ??????Hubbard 1993Hubbard 1995Palmer
    1995OSullivan 1999?
  • AABB???(Aligned Axis Bounding Box)Zachmann
    1997Bergen 1997Larsson 2001?
  • OBB???(Oriented Bounding Box)Gottschalk 1996
  • k-dop???(Discrete Orientation Polytope)Klosowski
    1998Zachmann 1998
  • QuOSPO ???(Quantized Orientation Slabs with
    Primary Orientations) He 1999
  • ?????Ehmann 2001
  • ????????Wan 2001??

94
??????????????
  • ?????????????
  • ?????????????
  • ???????,?????????????

(a) ??? (b) AABB??? (c)OBB??? (d) 6-dop???
(e)????? ????????
95
??????????????
  • ?????????????
  • ?????????????
  • ??????
  • ??????????
  • ???????

96
??????????????
  • ?????????????
  • Shinya?Shinya 1991?Rossignac?Rossignac 1992
  • Myszkowski?Myszkow 1995
  • Baciu?Baciu 1997Baciu 1999
  • Hoff?Hoff 2001,Kim?Kim 2002, Lombardo
    1999,Vassilev 2001,Heidelb 2003,Govindar
    2003
  • ?????????.

97
?????????
demo
98
????????
  • ????????????????

video
Write a Comment
User Comments (0)
About PowerShow.com