root/OpenSceneGraph-TrainingMaterials/trunk/Presentations/PortingToOpenSceneGraph/PerformerToOSG.p3d @ 10195

Revision 10195, 4.9 kB (checked in by robert, 5 years ago)

Updated presentations to handle relative path to data.

Cleaned up old image referenced.

Created a single index.p3d to use a menu presentation.

Line 
1<?xml version="1.0" encoding="UTF-8"?>
2
3<presentation>
4<name>Siggraph Menu</name>
5<textcolor>YELLOW</textcolor>
6<title-settings character_size="0.05"></title-settings>
7<text-settings character_size="0.03.5"></text-settings>
8
9<env>DATA_DIR=../../Data</env>
10
11<path>${DATA_DIR}</path>
12<path>${DATA_DIR}/OpenSceneGraph-Data</path>
13<path>${DATA_DIR}/Images</path>
14<path>${DATA_DIR}/Models</path>
15<path>${DATA_DIR}/Earth</path>
16
17<template_slide name="front">
18  <background>Images/default_blue.jpg</background>
19  <title></title>
20  <base>
21     <click_to_event>Home</click_to_event>       
22     <bullet character_size="0.025" position="0.5 0.02 0.05">Home</bullet>
23     <click_to_event>Next</click_to_event>       
24     <bullet character_size="0.025" position="0.9 0.02 0.05">Next</bullet>
25  </base>
26</template_slide>
27
28<template_slide name="middle">
29  <background>Images/default_blue.jpg</background>
30  <title></title>
31  <base>
32     <click_to_event>Previous</click_to_event>       
33     <bullet character_size="0.025" position="0.1 0.02 0.05">Previous</bullet>
34     <click_to_event>Home</click_to_event>       
35     <bullet character_size="0.025" position="0.5 0.02 0.05">Home</bullet>
36     <click_to_event>Next</click_to_event>       
37     <bullet character_size="0.025" position="0.9 0.02 0.05">Next</bullet>
38  </base>
39</template_slide>
40
41<template_slide name="end">
42  <background>Images/default_blue.jpg</background>
43  <title></title>
44  <base>
45     <click_to_event>Previous</click_to_event>       
46     <bullet character_size="0.025" position="0.1 0.02 0.05">Previous</bullet>
47     <click_to_event>Home</click_to_event>       
48     <bullet character_size="0.025" position="0.5 0.02 0.05">Home</bullet>
49  </base>
50</template_slide>
51
52
53<slide inherit="front">
54<background>Images/default_blue.jpg</background>
55<title> </title>
56<layer>
57<paragraph position="0.5 0.5 0" alignment="CENTER_CENTER" character_size="0.07">
58Performer to OpenSceneGraph</paragraph>
59<image position="0.5 0.90 0" scale="0.55">Images/logops.rgb</image>
60</layer>
61</slide>
62
63<page inherit="middle" title="Similarities">
64
65Scene Graph paradigm
66
67Performance - Solid 60Hz
68
69View Frustum Culling
70
71State Sorting
72
73Scalability :
74
75    Multi-threaded
76    Multi-pipe
77</page>
78
79<page inherit="middle" title="Differences">
80 
81Standard C++
82
83Design Patterns
84
85Extensibility
86
87Support for latest OpenGL vesions/extensions
88
89Licensing - Can't beat Open Source!
90
91Community - OSG 10 times as active
92
93Prospects - OSG is going strong
94
95Market share  - OSG now bigger than rest put together
96
97</page>
98
99<page inherit="middle" title="Nodes">
100 
101pfNode -> osg:::Node
102
103pfGroup -> osg::Group
104
105pfSCS -> osg::Transform
106
107         DataVariance()==STATIC
108                 
109pfDCS -> osg::Transform
110
111         DataVariance()==DYNAMIC
112
113osg::Transform -> osg::MatrixTrasform
114                  osg::PositionAttitudeTransform
115                  osg::AutoTransform
116                  osgSim::DOFTransform
117</page>
118
119<page inherit="middle" title="Nodes cont.">
120 
121pfSwitch -> osg::Switch
122
123         -> osgSim::MultiSwitch         
124
125pfLOD -> osg::LOD
126
127pfClipMap -> no equivilant but...
128
129      we have osg::PagedLOD
130         
131pfScene -> any osg::Node
132
133</page>
134
135
136<page inherit="middle" title="Geometry">
137pfGeoSet -> osg::Geometry
138
139OSG had alternatives:
140
141    osg::Drawable base class
142    osg::ShapeDrawable
143</page>
144
145<page inherit="middle" title="State">
146pfGeoState can be attached to:
147
148    - pfGeode
149    - pfScene
150    - hardwired
151   
152osg::StateAttribute
153    - osg:Drawable
154    - any osg::Node
155    - inheritence top down
156    - flexible
157    - Native multi-texturing
158    - native GLSL support
159    - OpenGL modes decoupled
160</page>
161
162<page inherit="tetamiddle" title="State continued.">
163osg::StateAttribute
164    - Exensible state
165    - Almost all OpenGL state
166   
167osg::State
168    - tracks OpenGL state
169    - per graphics context
170</page>
171
172<page inherit="middle" title="Traversals">
173Performer
174    - App
175    - Cull
176    - Draw
177    - Isect
178   
179OpenSceneGraph
180
181    - UpdateVisitor
182    - EventVisitor
183    - CullVisitor
184    - DrawVisitor
185    - IntersectVisitor   
186    - PickVisitor
187</page>
188
189<page inherit="middle" title="Threading">
190Performer:
191
192    - Multi-buffered
193    - App - frame 1
194    - Cull - frame 2
195    - Draw - frame 3
196    - 3 frame latency
197   
198OpenSceneGraph:
199
200    - Single threaded Update - frame 1
201    - Multi Cull-Draw pairs - frame 1
202    - 1 frame latency
203   
204    - DatabasePaging   
205</page>
206
207<page inherit="middle" title="Application Framework">
208Perfomer:
209   
210    - perfly (argggg!!!)
211
212pfChannel -> Producer::Camera
213          -> Producer::CameraGroup
214          -> osg::CameraNode
215         
216pfPipe -> Producer::RenderSurface
217       -> osg::GraphicsContext
218
219</page>
220
221<page inherit="middle" title="Performer to OpenSceneGraph">
222
223
224
225
226Questions?
227
228</page>
229
230</presentation>
Note: See TracBrowser for help on using the browser.