]>
Commit | Line | Data |
---|---|---|
f2323723 JB |
1 | --- cal3d/docs/faq/cal3dfaq.doxygen.orig 2004-06-25 10:51:34.000000000 +0200 |
2 | +++ cal3d/docs/faq/cal3dfaq.doxygen 2004-12-02 20:17:29.991037316 +0100 | |
3 | @@ -18,196 +18,196 @@ | |
3a7828ac | 4 | * <b>What is Cal3D?</b> |
5 | * | |
6 | * <ul> | |
7 | - * Cal3D is a skeletal based 3D character animation library written in C++ | |
8 | + * <li>Cal3D is a skeletal based 3D character animation library written in C++ | |
9 | * in a way that is both platform-independent and graphics API-independent. | |
10 | * It was originally designed to be used in a 3D client for Worldforge, but | |
11 | * evolved into a stand-alone product which can be used in many different | |
12 | - * kinds of projects. | |
13 | + * kinds of projects.</li> | |
14 | * | |
15 | - * Cal3D's essentials can be boiled down to 2 parts: the C++ library and the | |
16 | + * <li>Cal3D's essentials can be boiled down to 2 parts: the C++ library and the | |
17 | * exporter. The exporter is what you would use to take your characters | |
18 | * (built in a 3D modeling package) and create the Cal3D-format files that | |
19 | * the library knows how to load. The exporters are actually plug-ins for 3D | |
20 | * modeling packages. This allows 3D artists to use the modeling tools that | |
21 | - * they're already comfortable with. | |
22 | + * they're already comfortable with.</li> | |
23 | * | |
24 | - * The C++ library is what you would actually use in your application, whether | |
25 | + * <li>The C++ library is what you would actually use in your application, whether | |
26 | * it's a game or a VR application. The library provides methods to load your | |
27 | * exported files, build characters, run animations, and access the data | |
28 | - * necessary to render them with 3D graphics. | |
29 | + * necessary to render them with 3D graphics.</li> | |
30 | * </ul> | |
31 | * | |
32 | * <b>What can I do with Cal3D?</b> | |
33 | * | |
34 | * <ul> | |
35 | - * Primarily, Cal3D is useful for putting animated 3D characters into your | |
36 | - * interactive graphical applications. | |
37 | + * <li>Primarily, Cal3D is useful for putting animated 3D characters into your | |
38 | + * interactive graphical applications.</li> | |
39 | * | |
40 | - * The exporters provide a bridge for users to take their characters created | |
41 | + * <li>The exporters provide a bridge for users to take their characters created | |
42 | * in a 3D modeling package to their own applications, where they will have | |
43 | - * control over the characters' actions. | |
44 | + * control over the characters' actions.</li> | |
45 | * | |
46 | - * Cal3D can perform animation blending. This means that you can execute | |
47 | + * <li>Cal3D can perform animation blending. This means that you can execute | |
48 | * multiple animations at the same time and Cal3D will blend them together | |
49 | * smoothly. This effect is best demonstrated in the Cally Demo, where the | |
50 | * walking, running, and strutting animations can be blended together in any | |
51 | - * ratio to get a wide variety of movement characteristics. | |
52 | + * ratio to get a wide variety of movement characteristics.</li> | |
53 | * | |
54 | - * Cal3D also provides an automatic level-of-detail control, which allows you | |
55 | + * <li>Cal3D also provides an automatic level-of-detail control, which allows you | |
56 | * to scale back the number of polygons that make up your character at runtime. | |
57 | * This can be a good performance boost when your character is farther away | |
58 | - * and the lower detail isn't noticable to the viewer. | |
59 | + * and the lower detail isn't noticable to the viewer.</li> | |
60 | * | |
61 | - * With a little work, you can fully manipulate the individual parts of your | |
62 | + * <li>With a little work, you can fully manipulate the individual parts of your | |
63 | * characters. This is useful when you want to create truly dynamic motion at | |
64 | * runtime without the aid of predefined animations. For instance, if you | |
65 | * wanted your character's head to turn as a car goes past him, you could | |
66 | - * control the head's rotation directly to keep facing the moving car. | |
67 | + * control the head's rotation directly to keep facing the moving car.</li> | |
68 | * </ul> | |
69 | * | |
70 | * <b>What DOESN'T Cal3D do?</b> | |
71 | * | |
72 | * <ul> | |
73 | - * Cal3D doesn't do graphics. The users are responsible for making a bridge | |
74 | + * <li>Cal3D doesn't do graphics. The users are responsible for making a bridge | |
75 | * between Cal3D and whatever graphics API they want to use. This includes | |
76 | * things like loading textures, handling materials, and rendering the models | |
77 | - * to the screen. | |
78 | + * to the screen.</li> | |
79 | * | |
80 | - * The source code for the Cal3D miniviewers is a good place to start, as it | |
81 | + * <li>The source code for the Cal3D miniviewers is a good place to start, as it | |
82 | * provides a full implementation for both OpenGL and Direct 3D graphics APIs | |
83 | - * that you can adapt for your own purposes. | |
84 | + * that you can adapt for your own purposes.</li> | |
85 | * | |
86 | - * Cal3D can't help you make animated models. Making a decent character will | |
87 | + * <li>Cal3D can't help you make animated models. Making a decent character will | |
88 | * require the use of a modeling package like 3D Studio MAX, using the tools | |
89 | * that it provides. Making a really excellent character requires a talented | |
90 | - * artist. | |
f2323723 | 91 | + * artist.</li> |
3a7828ac | 92 | * |
93 | - * Cal3D doesn't load configuration files. This is a responsibility left | |
94 | + * <li>Cal3D doesn't load configuration files. This is a responsibility left | |
95 | * on the users' shoulders for another degree of flexibility. And again, an | |
96 | - * example of how to do this is contained in the miniviewer examples. | |
f2323723 | 97 | + * example of how to do this is contained in the miniviewer examples.</li> |
3a7828ac | 98 | * </ul> |
99 | * | |
100 | * <b>Is Cal3D stable enough to use in a game?</b> | |
101 | * | |
102 | * <ul> | |
103 | - * Yes, Cal3D is quite stable and efficient enough for a lot of games. Several | |
104 | - * published games have used Cal3D successfully. | |
105 | + * <li>Yes, Cal3D is quite stable and efficient enough for a lot of games. Several | |
106 | + * published games have used Cal3D successfully.</li> | |
107 | * </ul> | |
108 | * | |
109 | * <b>How fast is Cal3D?</b> | |
110 | * <ul> | |
111 | - * This is a fairly subjective question, as Cal3D's speed is highly dependent | |
112 | + * <li>This is a fairly subjective question, as Cal3D's speed is highly dependent | |
113 | * on things not controlled by Cal3D. Developer choices like which graphics API | |
114 | * to use can impact the speed, as well as using GPU programming languages. The | |
115 | * complexity of the models plays a big role in this as well - not only the | |
116 | - * polygon count, but also the complexity of the underlying skeletal structure. | |
117 | + * polygon count, but also the complexity of the underlying skeletal structure.</li> | |
118 | * | |
119 | - * Cal3D is certainly capable of operating fast enough for many practical | |
120 | + * <li>Cal3D is certainly capable of operating fast enough for many practical | |
121 | * applications and games. While we don't have an official benchmark, tests | |
122 | * have been done in the past involving 20-30 characters at a time and | |
123 | - * reasonable framerates were achieved. | |
124 | + * reasonable framerates were achieved.</li> | |
125 | * </ul> | |
126 | * | |
127 | * <b>Can I use Cal3D for a commercial product?</b> | |
128 | * | |
129 | * <ul> | |
130 | - * The short answer is yes. Cal3D is released under the Lesser GNU Public | |
131 | + * <li>The short answer is yes. Cal3D is released under the Lesser GNU Public | |
132 | * License (LGPL), which allows you to link in the Cal3D library for your | |
133 | - * commercial game or simulator or whatever. | |
134 | + * commercial game or simulator or whatever.</li> | |
135 | * | |
136 | - * The catch, however, is that if you make <i>changes</i> to Cal3D and use | |
137 | - * them, you are obligated to release the source code under the same license. | |
138 | + * <li>The catch, however, is that if you make <i>changes</i> to Cal3D and use | |
139 | + * them, you are obligated to release the source code under the same license.</li> | |
140 | * </ul> | |
141 | * | |
142 | * | |
143 | * <b>What operating systems does Cal3D work on?</b> | |
144 | * | |
145 | * <ul> | |
146 | - * Cal3D is written to be cross-platform. It works on Windows, SGI Irix, | |
147 | - * various flavors of Linux, Mac OS X, etc. | |
148 | + * <li>Cal3D is written to be cross-platform. It works on Windows, SGI Irix, | |
149 | + * various flavors of Linux, Mac OS X, etc.</li> | |
150 | * | |
151 | - * Basically all you need is a decent C++ compiler with standard template | |
152 | + * <li>Basically all you need is a decent C++ compiler with standard template | |
153 | * library support. If you want to use the build system, you either need | |
154 | - * Visual Studio on Windows, or GNU's autotools on *nix systems. | |
155 | + * Visual Studio on Windows, or GNU's autotools on *nix systems.</li> | |
156 | * </ul> | |
157 | * | |
158 | * | |
159 | * <b>Can I use Cal3D with OpenGL / Direct3D / etc?</b> | |
160 | * | |
161 | * <ul> | |
162 | - * Cal3D is designed to be independent of any graphics API such as OpenGL or | |
163 | + * <li>Cal3D is designed to be independent of any graphics API such as OpenGL or | |
164 | * DirectX. While this makes Cal3D more flexible, it does put a little more | |
165 | - * work on the users. | |
166 | + * work on the users.</li> | |
167 | * | |
168 | - * We have several examples of our miniviewer application that can show you | |
169 | + * <li>We have several examples of our miniviewer application that can show you | |
170 | * how to use Cal3D with various graphics APIs such as OpenGL, Direct 3D, or | |
171 | - * even shader languages. | |
172 | + * even shader languages.</li> | |
173 | * | |
174 | - * Keep in mind that these examples only show one way how to do it; you are | |
175 | + * <li>Keep in mind that these examples only show one way how to do it; you are | |
176 | * free to develop your own methods and techniques specific to your | |
177 | - * application. | |
178 | + * application.</li> | |
179 | * </ul> | |
180 | * | |
181 | * | |
182 | * <b>Who else is using Cal3D?</b> | |
183 | * | |
184 | * <ul> | |
185 | - * <b><i>Worldforge</i></b> - http://www.worldforge.org - This is an open source project | |
186 | + * <li><b><i>Worldforge</i></b> - http://www.worldforge.org - This is an open source project | |
187 | * aimed at developing tools for massive-multiplayer online games. Cal3D was | |
188 | - * originally a part of Worldforge, but became a standalone tool. | |
189 | + * originally a part of Worldforge, but became a standalone tool.</li> | |
190 | * | |
191 | - * <b><i>A Tale in the Desert</i></b> - http://www.atitd.com - ATITD is a very unique | |
192 | + * <li><b><i>A Tale in the Desert</i></b> - http://www.atitd.com - ATITD is a very unique | |
193 | * massive-multiplayer online roleplaying game where strategy and management | |
194 | * take precedence over traditional combat. eGenesis used a derivative of Cal3D | |
195 | - * that they developed, which is also available on their "download" page. | |
196 | + * that they developed, which is also available on their "download" page.</li> | |
197 | * | |
f2323723 JB |
198 | - * <b><i>Desert Rats</i></b> - http://www.valusoft.com/ (no longer in their product list) - A WW2 |
199 | + * <li><b><i>Desert Rats</i></b> - http://www.valusoft.com/ (no longer in their product list) - A WW2 | |
3a7828ac | 200 | * action game where you fight the Nazis in northern Africa from a heavily |
201 | - * armed jeep. | |
202 | + * armed jeep.</li> | |
203 | * | |
204 | - * <b><i>Neverending ODC</i></b> - http://ne-odc.sourceforge.net - Tools to design and edit | |
205 | - * massive 3D fantasy worlds. | |
206 | + * <li><b><i>Neverending ODC</i></b> - http://ne-odc.sourceforge.net - Tools to design and edit | |
207 | + * massive 3D fantasy worlds.</li> | |
208 | * | |
209 | - * <b><i>The Nebula Device</i></b> - http://nebuladevice.sourceforge.net/cgi-bin/twiki/view/Nebula/NCal3DPackage | |
210 | + * <li><b><i>The Nebula Device</i></b> - http://nebuladevice.sourceforge.net/cgi-bin/twiki/view/Nebula/NCal3DPackage | |
211 | * - An open source 3D game/visualization engine designed to be highly scriptable. | |
212 | * Their package, nCal3D, allows Nebula users to easily integrate Cal3D into their | |
f2323723 JB |
213 | - * own applications (based on cal3d version 0.8). |
214 | + * own applications (based on cal3d version 0.8).</li> | |
3a7828ac | 215 | * |
216 | - * <b><i>Project FY</i></b> - http://fysoftware.com - A game still in development | |
217 | + * <li><b><i>Project FY</i></b> - http://fysoftware.com - A game still in development | |
218 | * featuring a 3D engine capable of handling both indoor and outdoor environments | |
219 | - * and transitioning seamlessly between them. | |
220 | + * and transitioning seamlessly between them.</li> | |
221 | * | |
f2323723 JB |
222 | - * <b><i>Poker3d</i></b> - http://freshmeat.net/projects/poker3d/ - Poker 3D client and server |
223 | - * released under the GNU GPL (pre-Alpha stage). | |
224 | + * <li><b><i>Poker3d</i></b> - http://freshmeat.net/projects/poker3d/ - Poker 3D client and server | |
225 | + * released under the GNU GPL (pre-Alpha stage).</li> | |
226 | * | |
227 | - * <b><i>osgCal</i></b> - http://osgcal.sourceforge.net/ - OpenSceneGraph adapter for cal3d | |
228 | - * released under the GNU LGPL (Beta stage). | |
229 | + * <li><b><i>osgCal</i></b> - http://osgcal.sourceforge.net/ - OpenSceneGraph adapter for cal3d | |
230 | + * released under the GNU LGPL (Beta stage).</li> | |
231 | * | |
232 | - * <b><i>ReplicantBody</i></b> - http://www.vrlab.umu.se/research/replicants/rbody.html - | |
233 | + * <li><b><i>ReplicantBody</i></b> - http://www.vrlab.umu.se/research/replicants/rbody.html - | |
234 | * ReplicantBody is a character animation toolkit released under the GNU LGPL, written in C++, | |
235 | - * built upon Cal3D, ConfigScript and OpenSceneGraph. | |
236 | + * built upon Cal3D, ConfigScript and OpenSceneGraph.</li> | |
237 | * | |
238 | - * <b><i>Soya</i></b> - http://oomadness.nekeme.net/en/soya/features.html - Soya 3D is a | |
239 | + * <li><b><i>Soya</i></b> - http://oomadness.nekeme.net/en/soya/features.html - Soya 3D is a | |
240 | * high-level 3D engine for Python, designed with games in mind. Soya is written partly in Python | |
241 | * and partly in C. Slune is a game based on Soya http://oomadness.nekeme.net/en/slune/index.html. | |
242 | - * Released under the GNU GPL. | |
243 | + * Released under the GNU GPL.</li> | |
244 | * | |
245 | - * <b><i>Genecys</i></b> - http://sourceforge.net/projects/genecys - Genecys is an online, multiplayer | |
246 | - * third person 3D MMORPG similar to Final Fantasy Online, or Everquest. Released under the GNU GPL. | |
247 | + * <li><b><i>Genecys</i></b> - http://sourceforge.net/projects/genecys - Genecys is an online, multiplayer | |
248 | + * third person 3D MMORPG similar to Final Fantasy Online, or Everquest. Released under the GNU GPL.</li> | |
249 | * | |
3a7828ac | 250 | - * If you know of anyone else using Cal3D, let us know! |
251 | + * <li>If you know of anyone else using Cal3D, let us know!</li> | |
252 | * </ul> | |
253 | * | |
254 | * <b>Can I just load my 3D Studio MAX files directly into Cal3D?</b> | |
255 | * | |
256 | * <ul> | |
257 | - * No. You have to export your character to Cal3D-format files. There are many | |
258 | + * <li>No. You have to export your character to Cal3D-format files. There are many | |
259 | * different things besides just animated figures that can be included in a | |
260 | * 3DS file, and to make the Cal3D library sort these things out automagically | |
261 | - * would be an incredibly difficult task. | |
262 | + * would be an incredibly difficult task.</li> | |
263 | * | |
264 | - * Plus, you can only have a single animation stored in a 3DS file and | |
265 | - * characters will typically have a variety of animations to choose from. | |
266 | + * <li>Plus, you can only have a single animation stored in a 3DS file and | |
267 | + * characters will typically have a variety of animations to choose from.</li> | |
268 | * </ul> | |
269 | * | |
270 | * <a name="MODELING"></a> | |
f2323723 | 271 | @@ -216,131 +216,131 @@ |
3a7828ac | 272 | * <b>How do I make new characters?</b> |
273 | * | |
274 | * <ul> | |
275 | - * This is a job for an artist. Generally, one would create a mesh model of | |
276 | + * <li>This is a job for an artist. Generally, one would create a mesh model of | |
277 | * a character, create a skeletal system for it, animate it, and then export | |
278 | * all of the pieces using the Cal3D exporters. (Skeleton, meshes, materials, | |
279 | - * and animations) | |
280 | + * and animations)</li> | |
281 | * </ul> | |
282 | * | |
283 | * <b>What modeling packages does Cal3D support?</b> | |
284 | * | |
285 | * <ul> | |
286 | - * We currently have exporters for 3D Studio MAX and Milkshape 3D. | |
287 | + * <li>We currently have exporters for 3D Studio MAX and Milkshape 3D.</li> | |
288 | * | |
289 | - * 3D Studio MAX - http://www.discreet.com/products/3dsmax<br> | |
290 | - * Milkshape 3D - http://www.swissquake.ch/chumbalum-soft | |
291 | + * <li>3D Studio MAX - http://www.discreet.com/products/3dsmax<br> | |
292 | + * Milkshape 3D - http://www.swissquake.ch/chumbalum-soft</li> | |
293 | * </ul> | |
294 | * | |
295 | * | |
296 | * <b>How do I export a character from 3D Studio MAX to Cal3D?</b> | |
297 | * | |
298 | - * <ul> | |
299 | - * 1. First, export the skeleton. | |
300 | + * <ol> | |
f2323723 | 301 | + * <li>First, export the skeleton.<br /> |
3a7828ac | 302 | * |
303 | - * The remaining steps can be performed in any order: | |
304 | + * The remaining steps can be performed in any order:</li> | |
305 | * | |
306 | - * 2. Export the mesh or meshes. | |
307 | + * <li>Export the mesh or meshes.</li> | |
308 | * | |
309 | - * 3. Export the materials. | |
310 | + * <li>Export the materials.</li> | |
311 | * | |
312 | - * 4. Export the animations. | |
313 | - * </ul> | |
314 | + * <li>Export the animations.</li> | |
315 | + * </ol> | |
316 | * | |
317 | * | |
318 | * <b>How do I export a skeleton?</b> | |
319 | * | |
320 | * <ul> | |
321 | - * First, you need to select the skeleton (and ONLY the skeleton). Then go to | |
322 | + * <li>First, you need to select the skeleton (and ONLY the skeleton). Then go to | |
323 | * File->Export and select the Cal3D Skeleton exporter. You will be asked to | |
324 | * choose from a list of bones. It's possible for each bone to appear more than | |
325 | - * once in the list, so make sure you only select each bone ONCE. | |
326 | + * once in the list, so make sure you only select each bone ONCE.</li> | |
327 | * </ul> | |
328 | * | |
329 | * | |
330 | * <b>How do I export meshes?</b> | |
331 | * | |
332 | * <ul> | |
333 | - * Before exporting your mesh(es), make sure you've already exported your | |
334 | + * <li>Before exporting your mesh(es), make sure you've already exported your | |
335 | * skeleton. And if your character has more than one mesh, you'll need to | |
336 | - * export each mesh separately. Be sure to select just one mesh at a time. | |
337 | + * export each mesh separately. Be sure to select just one mesh at a time.</li> | |
338 | * | |
339 | - * Once you're got your mesh selected, go to File->Export and choose the Cal3D | |
340 | + * <li>Once you're got your mesh selected, go to File->Export and choose the Cal3D | |
341 | * Mesh exporter. You will be asked to locate a skeleton file. Pick the | |
342 | * skeleton file (.csf) that was exported based on the same character as your | |
343 | - * mesh. | |
344 | + * mesh.</li> | |
345 | * </ul> | |
346 | * | |
347 | * | |
348 | * <b>How do I export materials?</b> | |
349 | * | |
350 | * <ul> | |
351 | - * There are some tricks to this. The main thing is that the materials have to | |
352 | + * <li>There are some tricks to this. The main thing is that the materials have to | |
353 | * be named properly. Each material name that the character uses needs to end | |
354 | - * with a number enclosed in brackets, starting with 0 and going up. | |
f2323723 | 355 | + * with a number enclosed in brackets, starting with 0 and going up.<br /><br /> |
3a7828ac | 356 | * |
357 | * For instance, if a character has materials for skin, shirt, face, and hat, | |
358 | - * them the materials should be named like this: | |
f2323723 | 359 | + * them the materials should be named like this:<br /> |
3a7828ac | 360 | * |
f2323723 JB |
361 | - * skin [0]<br> |
362 | - * shirt [1]<br> | |
363 | - * face [2]<br> | |
3a7828ac | 364 | - * hat [3]<br> |
f2323723 JB |
365 | + * skin [0]<br /> |
366 | + * shirt [1]<br /> | |
367 | + * face [2]<br /> | |
368 | + * hat [3]<br /></li> | |
3a7828ac | 369 | * </ul> |
370 | * | |
371 | * | |
372 | * <b>How do I export animations?</b> | |
373 | * | |
374 | * <ul> | |
375 | - * Before exporting your animations, make sure you've already exported your | |
376 | - * skeleton. | |
377 | + * <li>Before exporting your animations, make sure you've already exported your | |
f2323723 | 378 | + * skeleton.<br /> |
3a7828ac | 379 | * |
380 | * Once you've got your character animated, take your character out of Figure | |
381 | * Mode, go to File->Export and choose the Cal3D Animation exporter. You'll | |
382 | * have the option of a number of frames per second and the selection of | |
383 | - * individual keyframes to use in the animation. | |
f2323723 | 384 | + * individual keyframes to use in the animation.<br /> |
3a7828ac | 385 | * |
386 | * Like mesh exporting, you'll be asked to find the Cal3D skeleton file (.csf) | |
387 | - * that the character is based on. | |
388 | + * that the character is based on. </li> | |
389 | * </ul> | |
390 | * | |
391 | * | |
392 | * <b>Why does the exporter crash?</b> | |
393 | * | |
394 | * <ul> | |
395 | - * Usually this is a result of having things selected that you shouldn't have. | |
396 | + * <li>Usually this is a result of having things selected that you shouldn't have. | |
397 | * There can also be crashes caused by mis-named materials or failing to | |
398 | - * collapse the modifer stack before exporting. | |
399 | + * collapse the modifer stack before exporting.</li> | |
400 | * </ul> | |
401 | * | |
402 | * | |
403 | * <b>Is there an exporter for Maya or Blender?</b> | |
404 | * | |
405 | * <ul> | |
406 | - * Jiba at <a href="http://oomadness.tuxfamily.org">OOMadness</a> has released | |
407 | + * <li>Jiba at <a href="http://oomadness.tuxfamily.org">OOMadness</a> has released | |
408 | * a GPL'd Python script that allows Blender users to export Cal3D objects. Find | |
409 | - * it here: http://oomadness.tuxfamily.org/en/blender2cal3d/index.html | |
f2323723 | 410 | + * it here: http://oomadness.tuxfamily.org/en/blender2cal3d/index.html<br /> |
3a7828ac | 411 | * |
412 | * There have been rumors of people working on a Cal3D exporter for Maya, but | |
413 | - * it has not been released yet. | |
414 | + * it has not been released yet.</li> | |
415 | * </ul> | |
416 | * | |
417 | * <b>How do I convert an IK-Solver animation in 3D Studio MAX to a keyframe animation?</b> | |
418 | * | |
419 | * <ul> | |
420 | - * To do this, you need to collapse the bone trajectories. Select all of the model's | |
421 | + * <li>To do this, you need to collapse the bone trajectories. Select all of the model's | |
422 | * bones. Open the Motion panel, and then the Trajectories tab. Click the Collapse | |
423 | - * button. | |
424 | + * button.</li> | |
425 | * </ul> | |
426 | * | |
427 | * <b>What's with these RAW image files?</b> | |
428 | * | |
429 | * <ul> | |
430 | - * Previous to version 0.9, the textures for the Paladin sample model were | |
431 | + * <li>Previous to version 0.9, the textures for the Paladin sample model were | |
432 | * contained in a RAW image file format. The current developers are not sure | |
433 | * where they originated from, but they have (as of version 0.9) been converted | |
434 | - * to TGA files. | |
f2323723 | 435 | + * to TGA files.<br /> |
3a7828ac | 436 | * |
437 | - * These old RAW files are no longer supported or necessary. | |
438 | + * These old RAW files are no longer supported or necessary.</li> | |
439 | * </ul> | |
440 | * | |
441 | * | |
f2323723 | 442 | @@ -350,79 +350,79 @@ |
3a7828ac | 443 | * <b>Are there Python bindings for Cal3D?</b> |
444 | * | |
445 | * <ul> | |
446 | - * Yes. The Py3D project has Python bindings for Cal3D. You can get them at | |
447 | - * the Py3D website: | |
448 | + * <li>Yes. The Py3D project has Python bindings for Cal3D. You can get them at | |
f2323723 | 449 | + * the Py3D website:<br /> |
3a7828ac | 450 | * |
451 | - * http://www.py3d.org/pycal3d | |
452 | + * http://www.py3d.org/pycal3d</li> | |
453 | * </ul> | |
454 | * | |
455 | * | |
456 | * <b>What coordinate system does Cal3D use?</b> | |
457 | * | |
458 | * <ul> | |
459 | - * Cal3D characters exported from a modeling package such as 3DSMax or | |
460 | + * <li>Cal3D characters exported from a modeling package such as 3DSMax or | |
461 | * Milkshape will be in the same coordinate system as the package. For | |
462 | * instance, a model exported from MAX and loaded for use in an OpenGL | |
463 | * application will require a -90 degree rotation about the X-axis to be | |
464 | - * converted to the OpenGL coordinate system. | |
f2323723 | 465 | + * converted to the OpenGL coordinate system.<br /><br /> |
3a7828ac | 466 | * |
467 | * It should also be noted that Cal3D's math classes assume a left-handed | |
468 | * rotation system. Right-handed systems are much more common, so this is not | |
469 | * a minor detail. Think of it like this: take your right hand and point your | |
470 | * thumb straight up while curling your fingers a bit - kind of like you're | |
471 | - * holding a coffee mug. | |
f2323723 | 472 | + * holding a coffee mug.<br /><br /> |
3a7828ac | 473 | * |
474 | * Your thumb is the vector axis of rotation. If you have a positive-value | |
475 | * rotation, you will be rotating counter-clockwise about your thumb's axis. | |
476 | - * If you have a negative-value rotation, you'll be rotating clockwise. | |
f2323723 | 477 | + * If you have a negative-value rotation, you'll be rotating clockwise.<br /><br /> |
3a7828ac | 478 | * |
479 | * Now do the same thing, but with your left hand. Note that your fingers now | |
480 | * curl around clockwise. So with positive rotation values in a left-handed | |
481 | * system, you get a clockwise rotation. This is the opposite of the right- | |
482 | - * handed system. | |
483 | + * handed system.</li> | |
484 | * </ul> | |
485 | * | |
486 | * <b>Why are there classes and core classes?</b> | |
487 | * | |
488 | * <ul> | |
489 | - * In practical applications, there may be many different instances of a single | |
490 | + * <li>In practical applications, there may be many different instances of a single | |
491 | * type of character. For instance, your game might pit the hero against an | |
492 | * army of robots. Some of these robots might look identical, and can then | |
493 | * share data with each other rather than having a separate copy of it for each | |
494 | - * robot. | |
f2323723 | 495 | + * robot.<br /><br /> |
3a7828ac | 496 | * |
497 | * The core objects (skeleton, meshes, materials, bones, etc.) contain the data | |
498 | * that will not change at runtime and can therefore be shared between multiple | |
499 | * independent characters. The non-core classes contain data about things that | |
500 | * frequently change, such as the animation state and mesh data. This allows | |
501 | * the instances to share data and still be able to be animated independent of | |
502 | - * one another. | |
503 | + * one another.</li> | |
504 | * </ul> | |
505 | * | |
506 | * | |
507 | * <b>Can I integrate Cal3D with a scenegraph like OSG or OpenSG?</b> | |
508 | * | |
509 | * <ul> | |
510 | - * There are a few ways to get your Cal3D characters working within an | |
511 | - * application that uses a scene graph. | |
512 | + * <li>There are a few ways to get your Cal3D characters working within an | |
f2323723 | 513 | + * application that uses a scene graph.<br /><br /> |
3a7828ac | 514 | * |
515 | * The easiest way is to simply draw your characters using OpenGL after you've | |
516 | * drawn your scene graph. This can be inefficient, however, because you lose | |
517 | * the culling features that the scenegraph provides. Plus you need to be very | |
518 | * careful about the OpenGL state, which is changed by the scene graph | |
519 | - * constantly. | |
f2323723 | 520 | + * constantly.<br /><br /> |
3a7828ac | 521 | * |
522 | * Most major scene graphs support draw callback functions. Using these, you | |
523 | * can basically attach a Cal3D character to a node inside the scene graph and | |
524 | * the character can be drawn (using your OpenGL commands) automatically as the | |
525 | * scene graph is traversed. This approach requires a little more work, and | |
526 | - * will be different depending on the specific scene graph you're using. | |
f2323723 | 527 | + * will be different depending on the specific scene graph you're using.<br /><br /> |
3a7828ac | 528 | * |
529 | * If you're interested in using OpenSceneGraph, there's a Sourceforge project | |
530 | * called osgCal that provides an adapter to put Cal3D models into OSG | |
531 | - * applications. Find it here: | |
f2323723 | 532 | + * applications. Find it here:<br /><br /> |
3a7828ac | 533 | * |
534 | - * http://osgcal.sourceforge.net | |
535 | + * http://osgcal.sourceforge.net</li> | |
536 | * </ul> | |
537 | * | |
538 | * | |
f2323723 | 539 | @@ -432,48 +432,48 @@ |
3a7828ac | 540 | * <b>What's with these missing DLL errors when I run the Cally demo?</b> |
541 | * | |
542 | * <ul> | |
543 | - * You may have gotten a message pop-up saying that the MSVCP70.dll file could | |
544 | - * not be found when trying to run the Cally demo. | |
545 | + * <li>You may have gotten a message pop-up saying that the MSVCP70.dll file could | |
f2323723 | 546 | + * not be found when trying to run the Cally demo.<br /><br /> |
3a7828ac | 547 | * |
548 | * The Windows binaries for the 0.9 version of Cal3d (and the demo) were compiled | |
549 | * with Visual Studio .NET (VC70). Non-XP versions of Windows may not have the | |
550 | - * right C/C++ runtime DLLs that are needed. | |
f2323723 | 551 | + * right C/C++ runtime DLLs that are needed.<br /><br /> |
3a7828ac | 552 | * |
553 | * These are available as part of Microsoft's .NET Framework package, which can | |
554 | - * be downloaded from here: | |
f2323723 | 555 | + * be downloaded from here:<br /><br /> |
3a7828ac | 556 | * |
557 | - * http://msdn.microsoft.com/netframework/downloads/howtoget.aspx | |
558 | + * http://msdn.microsoft.com/netframework/downloads/howtoget.aspx</li> | |
559 | * </ul> | |
560 | * | |
561 | * | |
562 | * <b>What do I need to compile the exporters in Windows?</b> | |
563 | * | |
564 | * <ul> | |
565 | - * In order to compile the 3D Studio MAX exporter, you need the 3DSMax SDK | |
566 | + * <li>In order to compile the 3D Studio MAX exporter, you need the 3DSMax SDK | |
567 | * (Software Development Kit) and the Character Studio SDK. When you install | |
568 | * MAX and/or Character Studio, there will be an option to also install the | |
569 | - * SDKs. | |
f2323723 | 570 | + * SDKs.<br /><br /> |
3a7828ac | 571 | * |
572 | * For the Milkshape exporter, you need to get the Milkshape SDK, which is | |
573 | - * available separately from their website: | |
f2323723 | 574 | + * available separately from their website:<br /><br /> |
3a7828ac | 575 | * |
576 | - * http://www.swissquake.ch/chumbalum-soft/ms3d/download.html | |
577 | + * http://www.swissquake.ch/chumbalum-soft/ms3d/download.html</li> | |
578 | * </ul> | |
579 | * | |
580 | * | |
581 | * <b>Where is the biped.h / bipexp.h / phyexp.h file?</b> | |
582 | * | |
583 | * <ul> | |
584 | - * You need to have the Character Studio SDK installed, which contains these | |
585 | - * header files. | |
586 | + * <li>You need to have the Character Studio SDK installed, which contains these | |
587 | + * header files.</li> | |
588 | * </ul> | |
589 | * | |
590 | * | |
591 | * <b>Do I need a specific version of 3D Studio MAX to use the exporters?</b> | |
592 | * | |
593 | * <ul> | |
594 | - * Cal3D's exporters are known to work with 3DSMax 3, 4, and 5. This includes | |
595 | - * Character Studio 4 as well. | |
596 | + * <li>Cal3D's exporters are known to work with 3DSMax 3, 4, and 5. This includes | |
597 | + * Character Studio 4 as well.</li> | |
598 | * </ul> | |
599 | * | |
600 | * | |
601 | diff -urN cal3d-0.9.1.orig/docs/guide_architecture.sgml cal3d-0.9.1/docs/guide_architecture.sgml | |
602 | --- cal3d-0.9.1.orig/docs/guide_architecture.sgml 2004-05-31 19:07:22.346376024 +0200 | |
603 | +++ cal3d-0.9.1/docs/guide_architecture.sgml 2004-05-31 20:41:44.812550320 +0200 | |
604 | @@ -49,28 +49,28 @@ | |
605 | <listitem> | |
606 | <para> | |
607 | The hierarchical structure, see | |
608 | - <xref linkend="skeletonsbones" endterm="skeletonsbonesTITLE"> | |
609 | + <xref linkend="skeletonsbones" endterm="skeletonsbonesTITLE"/> | |
610 | for details. | |
611 | </para> | |
612 | </listitem> | |
613 | <listitem> | |
614 | <para> | |
615 | The motion data, see | |
616 | - <xref linkend="animationstrackskeyframes" endterm="animationstrackskeyframesTITLE"> | |
617 | + <xref linkend="animationstrackskeyframes" endterm="animationstrackskeyframesTITLE"/> | |
618 | for details. | |
619 | </para> | |
620 | </listitem> | |
621 | <listitem> | |
622 | <para> | |
623 | The surface properties, see | |
624 | - <xref linkend="materials" endterm="materialsTITLE"> | |
625 | + <xref linkend="materials" endterm="materialsTITLE"/> | |
626 | for details. | |
627 | </para> | |
628 | </listitem> | |
629 | <listitem> | |
630 | <para> | |
631 | The body parts, see | |
632 | - <xref linkend="meshessubmeshes" endTerm="meshessubmeshesTITLE"> | |
633 | + <xref linkend="meshessubmeshes" endTerm="meshessubmeshesTITLE"/> | |
634 | for details. | |
635 | </para> | |
636 | </listitem> | |
637 | @@ -81,7 +81,7 @@ | |
638 | <title>Core Classes</title> | |
639 | <mediaobject> | |
640 | <imageobject> | |
641 | - <imagedata align="center" fileref="../guide_classes_2.gif"> | |
642 | + <imagedata align="center" fileref="../guide_classes_2.gif"/> | |
643 | </imageobject> | |
644 | <textobject> | |
645 | <phrase>Core Classes</phrase> | |
646 | @@ -100,21 +100,21 @@ | |
647 | <listitem> | |
648 | <para> | |
649 | The current state of the skeleton, see | |
650 | - <xref linkend="skeletonsbones" endterm="skeletonsbonesTITLE"> | |
651 | + <xref linkend="skeletonsbones" endterm="skeletonsbonesTITLE"/> | |
652 | for details. | |
653 | </para> | |
654 | </listitem> | |
655 | <listitem> | |
656 | <para> | |
657 | The active set of animations, see | |
658 | - <xref linkend="animationstrackskeyframes" endterm="animationstrackskeyframesTITLE"> | |
659 | + <xref linkend="animationstrackskeyframes" endterm="animationstrackskeyframesTITLE"/> | |
660 | for details. | |
661 | </para> | |
662 | </listitem> | |
663 | <listitem> | |
664 | <para> | |
665 | The attached body parts, see | |
666 | - <xref linkend="meshessubmeshes" endTerm="meshessubmeshesTITLE"> | |
667 | + <xref linkend="meshessubmeshes" endTerm="meshessubmeshesTITLE"/> | |
668 | for details. | |
669 | </para> | |
670 | </listitem> | |
671 | @@ -127,7 +127,7 @@ | |
672 | <listitem> | |
673 | <para> | |
674 | The motion control, see | |
675 | - <xref linkend="mixer" endterm="mixerTITLE"> | |
676 | + <xref linkend="mixer" endterm="mixerTITLE"/> | |
677 | for details. | |
678 | </para> | |
679 | </listitem> | |
680 | @@ -144,7 +144,7 @@ | |
681 | <listitem> | |
682 | <para> | |
683 | The rendering interface, see | |
684 | - <xref linkend="renderer" endterm="rendererTITLE"> | |
685 | + <xref linkend="renderer" endterm="rendererTITLE"/> | |
686 | for details. | |
687 | </para> | |
688 | </listitem> | |
689 | @@ -155,7 +155,7 @@ | |
690 | <title>Instance Classes</title> | |
691 | <mediaobject> | |
692 | <imageobject> | |
693 | - <imagedata align="center" fileref="../guide_classes_3.gif"> | |
694 | + <imagedata align="center" fileref="../guide_classes_3.gif"/> | |
695 | </imageobject> | |
696 | <textobject> | |
697 | <phrase>Instance Classes</phrase> | |
698 | @@ -173,14 +173,14 @@ | |
699 | <listitem> | |
700 | <para> | |
701 | The math components, see | |
702 | - <xref linkend="vectorsquaternions" endterm="vectorsquaternionsTITLE"> | |
703 | + <xref linkend="vectorsquaternions" endterm="vectorsquaternionsTITLE"/> | |
704 | for details. | |
705 | </para> | |
706 | </listitem> | |
707 | <listitem> | |
708 | <para> | |
709 | The error handling, see | |
710 | - <xref linkend="errorhandling" endterm="errorhandlingTITLE"> | |
711 | + <xref linkend="errorhandling" endterm="errorhandlingTITLE"/> | |
712 | for details. | |
713 | </para> | |
714 | </listitem> | |
715 | @@ -201,7 +201,7 @@ | |
716 | <title>Miscellaneous Classes</title> | |
717 | <mediaobject> | |
718 | <imageobject> | |
719 | - <imagedata align="center" fileref="../guide_classes_1.gif"> | |
720 | + <imagedata align="center" fileref="../guide_classes_1.gif"/> | |
721 | </imageobject> | |
722 | <textobject> | |
723 | <phrase>Miscellaneous Classes</phrase> | |
724 | @@ -253,7 +253,7 @@ | |
725 | <title>Animation Pipeline</title> | |
726 | <mediaobject> | |
727 | <imageobject> | |
728 | - <imagedata align="center" fileref="../guide_pipeline.gif"> | |
729 | + <imagedata align="center" fileref="../guide_pipeline.gif"/> | |
730 | </imageobject> | |
731 | <textobject> | |
732 | <phrase>Animation Pipeline</phrase> | |
733 | @@ -297,7 +297,7 @@ | |
734 | <title>The skinned Cally model</title> | |
735 | <mediaobject> | |
736 | <imageobject> | |
737 | - <imagedata align="center" fileref="../guide_phases.gif"> | |
738 | + <imagedata align="center" fileref="../guide_phases.gif"/> | |
739 | </imageobject> | |
740 | <textobject> | |
741 | <phrase>The skinned Cally model</phrase> | |
742 | @@ -337,7 +337,7 @@ | |
743 | have a fully animated model. The waving animation will only be defined locally, | |
744 | so only tracks for the right hand, arm, shoulder and probably neck and head are | |
745 | stored within. This selective inclusion allows a powerful blending and overlay | |
746 | - mechanism as we will see in <xref linkend="mixer" endterm="mixerTITLE">. | |
747 | + mechanism as we will see in <xref linkend="mixer" endterm="mixerTITLE"/>. | |
748 | </para> | |
749 | </example> | |
750 | ||
751 | @@ -358,7 +358,7 @@ | |
752 | </sect1> | |
753 | ||
754 | <sect1 id="mixer"> | |
755 | - <title id="mixerTitle">The 'Mixer'</title> | |
756 | + <title id="mixerTITLE">The 'Mixer'</title> | |
757 | <para> | |
758 | The Cal3D library provides a powerful and flexible, yet easy-to-use animation | |
759 | control system through the so called 'Mixer'. This helper class handles the | |
760 | @@ -459,7 +459,7 @@ | |
761 | </para> | |
762 | ||
763 | <para> | |
764 | - As described in <xref linkend="meshessubmeshes" endterm="meshessubmeshesTITLE">, | |
765 | + As described in <xref linkend="meshessubmeshes" endterm="meshessubmeshesTITLE"/>, | |
766 | every part of the core model (every submesh to be more exact) has a material | |
767 | thread assigned. You can now very easily change the look of a model instance, | |
768 | by simply select a new current material set for its parts. The Cal3D library is | |
3a7828ac | 769 | diff -urN cal3d-0.9.1.orig/docs/guide.sgml cal3d-0.9.1/docs/guide.sgml |
770 | --- cal3d-0.9.1.orig/docs/guide.sgml 2004-05-31 19:07:22.346376024 +0200 | |
771 | +++ cal3d-0.9.1/docs/guide.sgml 2004-05-31 20:18:00.142133144 +0200 | |
772 | @@ -1,4 +1,4 @@ | |
773 | -<!DOCTYPE BOOK PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [ | |
774 | +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ | |
775 | <!ENTITY guideintroduction SYSTEM "guide_introduction.sgml"> | |
776 | <!ENTITY guidesetup SYSTEM "guide_setup.sgml"> | |
777 | <!ENTITY guidedecisions SYSTEM "guide_decisions.sgml"> | |
778 | @@ -47,7 +47,7 @@ | |
779 | Permission is granted to copy, distribute and/or modify this document | |
780 | under the terms of the GNU Free Documentation License, Version 1.1 | |
781 | or any later version published by the Free Software Foundation. | |
782 | - A copy of the license is included in <xref linkend="gfdl">. | |
783 | + A copy of the license is included in <xref linkend="gfdl"/>. | |
784 | </para> | |
785 | </blockquote> | |
786 | </para> | |
787 | diff -urN cal3d-0.9.1.orig/docs/guide_usage.sgml cal3d-0.9.1/docs/guide_usage.sgml | |
788 | --- cal3d-0.9.1.orig/docs/guide_usage.sgml 2004-05-31 19:07:22.347375872 +0200 | |
789 | +++ cal3d-0.9.1/docs/guide_usage.sgml 2004-05-31 20:21:45.938806832 +0200 | |
790 | @@ -28,7 +28,7 @@ | |
791 | <para> | |
792 | In addition your project has to be linked to the Cal3D library code to be built properly. | |
793 | This requires a successfully compiled Cal3D library. See | |
794 | - <xref linkend="compilation" endterm="compilationTITLE"> for details. | |
795 | + <xref linkend="compilation" endterm="compilationTITLE"/> for details. | |
796 | </para> | |
797 | </sect1> | |
798 |