root/trunk/RBRapier/doc/DesignLayout.xml

Revision 369, 7.7 kB (checked in by sholloway, 6 years ago)

General cleanup and testing

Line 
1 <?xml version='1.0'?>
2 <project name='RuneBlade Rendering Project'>
3     <package name='Renderer'>
4         <package name='Geometry'>
5             NOTE: Don't forget support for selection and picking
6
7             <module name='Data'>
8                 <object name='VertexArray'/>
9                 <object name='NormalArray'/>
10                 <object name='ColorArray'/>
11                 <object name='TexCoordArray'/>
12                 <object name='EdgeFlagArray'/>
13                 <object name='WeightArray'/>
14             </module>
15
16             <module name='Traversal'>
17                 <object name='Array Traversal'/>
18                 Outstanding issues:
19                     * NV_element_array and NV_vertex_array_range
20                     * ATI_element_array and ATI_vertex_array_object
21                     * EXT_multi_draw_array
22                     * NV_primitive_restart
23             </module>
24
25             <object name='Immediate Mode'>
26                 Provide something to derive from/implement so that
27                 immediate mode tests are possible and simple.
28
29                 Not really intended for production usage.
30             </object>
31         </package>
32
33         <package name='Image and Raster'>
34             <module name='Image Bitmaps'>
35                 To be explored
36             </module>
37             <module name='Texture Objects'>
38                 To be explored
39             </module>
40             To be explored
41
42             Look at:
43                 Standard/simple
44                 Multitexturing
45                 Dot/Bump/Blend/Specular/Min/Max etc...
46                 Spherical/Cubic environment mapping
47         </package>
48
49         <package name='Transformations'>
50             Model View (multiple)
51             Projection
52             Color
53             Texture (multiple?)
54         </package>
55
56         <package name='Appearance'>
57             <module name='Accumulation' />
58             <module name='Lighting and Lights' />
59             <module name='LogicOp'>
60                 NOTE: Avoid using -- slow
61             </module>
62             <module name='Fog'>
63                 Outstanding issues:
64                     height fog
65             </module>
66             <module name='Blending'>
67                 Blend seperation
68             </module>
69             <module name='Materials'>
70                 Normal
71                 Colored Materials
72             </module>
73         </package>
74
75         <package name='Environment'>
76             <module name='Selection'>
77                 Don't Forget this!
78             </module>
79
80             <module name='Stenciling'>
81                 Outstanding issues:
82                     stencil wraping
83                     EXT_stencil_two_side
84             </module>
85
86             <module name='Fragment Tests' >
87                 Scissor
88                 Alpha
89                 Stencil
90                 Depth
91                 See fragment programs and Cg as well
92             </module>
93
94             <module name='Buffers' >
95                 Color
96                 Accumulation
97                 Depth
98                 Stencil
99                 Aux[]
100                 PBuffer?
101             </module>
102         </package>
103
104         <package name='Programable Operations'>
105             Placeholder for Vertex, Fragment, and Texture programs
106             Cg also might here?  Not sure.
107         </package>
108
109         <package name='Managers'>
110             <module name='States'/>
111             <module name='ClientStates'/>
112             <module name='Attributes'/>
113             <module name='BufferClearing'/>
114             <module name='Display List Cache' />
115         </package>
116     </package>
117
118     <package name='Tools'>
119         <module name='Vector Library'/>
120         <module name='Quaternion Library'/>
121         <module name='Transformation Library'/>
122
123         <package name='Geometric'>
124             <package name='Analysis'>
125                 <module name='Index matching' priority='0'>
126                     TODO: Describe this?  But how?
127                 </module>
128                 <module name='Index locality remaping' priority='1'>
129                     Rearranges indices so that ones referenced first are first in
130                     the collection.
131                 </module>
132                 <module name='Line connectors' priority='1'>
133                     Converts a set of independent lines into sets of connected lines.
134                 </module>
135                 <module name='Mesh stripification' priority='1'>
136                     Converts a mesh of faces into a collection of triangle strips
137                     fans and lists in an effort to decrease the quantity of data
138                     submitted to the rendering engine.
139                 </module>
140             </package>
141             <package name='Synthesis'>
142                 <module priority='-1'>
143                     Convert a collection of (position, scalar) values to a mesh.
144                     Variations for:
145                         * regular/irregular positions.
146                         * dimensionality of data.  (functional, parametric, etc...)
147                 </module>
148
149                 <module priority='0'>
150                     Heightfield from image data
151                 </module>
152             </package>
153             Also belonging in this area:
154                 Level of detail algorithms
155                 Deformations -- specifically terrain
156         </package>
157
158         <package name='Primitives'>
159             <module name='Axis'/>
160             <module name='Grid / Checkerboard / Plane'>
161                 Using evaluators, or
162                 Using immediate mode, or
163                 Using texture mapped geometry, or
164                 Using projected textures
165             </module>
166         </package>
167
168         <package name='Animation'>
169             Variations: Simple, Spline, Sperhical
170             <module name='Linear interpolation'/>
171             <module name='Cubic interpolation'/>
172             <module name='Mass-spring interpolation'/>
173             <module name='Other physics-based interpolation'/>
174         </package>
175     </package>
176
177     <package name='Formats'>
178         optimized internal, 3d Skins, SVG, LWO, OBJ, MDL, ...
179         <package name='(Wavefront, LWO, SVG) Object Format'>
180             These have been moved to seperate top level packages so that
181             they don't have to be perfect... as inclusion in the render seems
182             to imply to my brain.  Out at this level, they "use" the Rendering
183             Tools and OpenGL renderer to accomplish rendering of their format.
184
185             Call me obsessed...  It's probably true.  ;)
186
187             <module name='Load' />
188             <module name='Save' />
189             <package name='Adaptors for OpenGL'>
190                 <module name='As-is mesher' />
191                 <module name='Optimizing stripifying mesher'  />
192                 <module name='As-is lineset' />
193                 <module name='Connected lineset' />
194                 <module name='Pointset' />
195             </package>
196         </package>
197     </package>
198
199     <package name='Models'>
200         <package name='Windowing, Viewport'>
201         </package>
202
203         <package name='Event, interaction, and animation'>
204         </package>
205
206         <package name='Objects'>
207             Collision testing
208         </package>
209
210         <package name='Effect Libraries'>
211             Partical engine, shaders, fog, lens flares, fresnel effects
212         </package>
213     </package>
214
215     Assure support for:
216         http://nehe.gamedev.net/tutorials/lesson.asp?l=09
217         http://nehe.gamedev.net/tutorials/lesson.asp?l=19
218         http://nehe.gamedev.net/tutorials/lesson.asp?l=20
219         http://nehe.gamedev.net/tutorials/lesson.asp?l=26
220         http://nehe.gamedev.net/tutorials/lesson.asp?l=27
221         http://nehe.gamedev.net/tutorials/lesson.asp?l=30
222         http://nehe.gamedev.net/tutorials/lesson.asp?l=35
223         http://nehe.gamedev.net/tutorials/lesson.asp?l=36
224 </project>
Note: See TracBrowser for help on using the browser.