Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/ColladaPlugin/docs/index.htm @ 46

Last change on this file since 46 was 21, checked in by nicolasc, 17 years ago

added ogreode and Colladaplugin

File size: 7.9 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2<html>
3<head>
4<title>Ogre3D Collada Plugin</title>
5<meta name="author" content="Philipp Hartl">
6<meta name="robots" content="index">
7<meta name="keywords" content="Ogre3D, Collada, Importer, Plugin, AddOn">
8<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
9<meta http-equiv="Content-Style-Type" content="text/css">
10<meta http-equiv="content-language" content="en">
11<link rel="stylesheet" href="style.css" type="text/css">
12</head>
13<body>
14
15 <div class="middle">
16  <div class="page">
17
18   <!-- header -->
19   <h2 id="top" style="margin-top: 0px;">Ogre3D Collada Plugin</h2>
20
21   <!-- menu -->
22   <table class="menu">
23    <tr>
24     <td class="menu"><a href="#intro" title="Introduction">Intro</a></td>
25     <td class="menu"><a href="#features" title="Features and more ...">Features</a></td>
26     <td class="menu"><a href="#documentation" title="Documentation">Documentation</a></td>
27     <td class="menu"><a href="#screenshots" title="Screenshots">Screenshots</a></td>
28     <td><a href="#downloads" title="Downloads">Downloads</a></td>
29    </tr>
30   </table>
31
32   <!-- intro -->
33   <div id="intro" style="padding-top: 10px;">
34    <h4>Introduction</h4>
35    <span><a href="http://www.ogre3d.org" title="OGRE 3D - Open source graphics engine">Ogre3D</a> (Object-Oriented Graphics Rendering Engine) is a leading open source 3D engine. <a href="http://www.khronos.org/collada" title="COLLADA - An open Digital Asset Exchange Schema for the interactive 3D industry">COLLADA (COLLAborative Design Activity)</a> is the XML based next generation open source 3D scene interchange format used by Sony for Playstation 3 development (and many more), which is supported by all major 3D vendors (Maya, 3DSMax, XSI, ...). With this plugin it should be possible to load collada xml files (*.dae) into your Ogre application.</span>
36   </div>
37
38   <!-- features -->
39   <div id="features">
40    <h4>Features</h4>
41    <ul>
42     <li>uses the <span class="code">Ogre::SceneManager</span> of your application for attaching entities</li>
43     <li>imports only a part of the DAG collada scene graph or the full scene</li>
44     <li>available geometry types: triangles and polygons (last one would be triangulated simply)</li>
45     <li>uses Ogre triangle list with vertex buffer objects</li>
46     <li>materials with multipass support and textures</li>
47     <li>lights (ambient, directional, point and spot)</li>
48     <li>camera support (orthographic and perspective)</li>
49   </ul>
50
51   <p><i>open (currently not implemented)</i></p>
52    <ul>
53     <li><span class="code">Ogre::ManualResourceLoader</span></li>
54     <li>update to Collada 1.4</li>
55     <li>animation</li>
56     <li>shader</li>
57     <li>skinning</li>
58     <li>and more ...</li>
59    </ul>
60   </div>
61
62   <!-- documentation -->
63   <div id="documentation">
64    <h4>Documentation</h4>
65    <span>Here a simple tutorial for using the plugin with your application.</span>
66    <ul>
67     <li>first of all setup an Ogre application (maybe found on the Ogre wiki help sites)</li>
68     <li>prepare for requirements of the plugin (see README)</li>
69     <li>paste following code</li>
70    </ul>
71    <div class="code"><pre class="code">#include "OgreColladaManager.h"
72#include "OgreColladaScene.h"
73...
74    ColladaDocumentPtr daeDoc = ColladaManager::getSingleton().load("colladafile.dae", mSceneMgr);
75    LogManager::getSingleton().logMessage("ColladaDocument - import started");
76    if (!daeDoc.isNull())
77    {
78        // build up scene fully
79        daeDoc->getScene()->createOgreInstance(NULL);
80
81        /**
82         * or
83         * to import only a specific part of the scene graph
84         * fetch the scene node by its unique node name
85         *
86         * ColladaSceneNode *box = mScene->getNode("Box2");
87         * if (box != NULL) box->createOgreInstance(NULL);
88         */
89    }
90
91    LogManager::getSingleton().logMessage("ColladaDocument - import finished");
92    // Note: ColladaDocumentPtr is a shared pointer and will release the resource when it goes out of scope
93...</pre>
94</div>
95
96    <p>First of all a new collada document has to be created, it takes an <span class="code">Ogre::SceneManager</span>. Everything of this document would be attached to the given scenemanager, which could not be changed for the current document.</p>
97    <p>Now an import with the filename as argument could be started. The plugin loads the full document and saves some xml nodes for fast importing. See the <span class="code">ColladaLibraryContainer</span> for further details. It holds all collada libraries, currently: CAMERA, GEOMETRY, IMAGE, LIGHT, MATERIAL and TEXTURE. Each library entity has a unique identifier.</p>
98    <p>Afterwards the SCENE would be parsed and a collada scenegraph is built up, by linking the nodes to their corresponding entities. The transformations and boundingboxes are imported too.</p>
99    <p>If import was successful, a <span class="code">ColladaSceneNode</span> can be traversed to an Ogre instance. In addition to import the complete scenegraph only a specific node can be instanced too (see example above). Now all collada specific items are attached to the <span class="code">Ogre::SceneNode</span> passed through <span class="code">createOgreInstance()</span>. Above the example takes <span class="code">NULL</span>, which means the root scenenode of the scenemanager. In fact an import of only one entity (CAMERA, GEOMETRY or LIGHT) is possible. By importing the whole scene the light(s) would be attached automatically to the scenemanager, the camera(s) too, but to activate a camera it has to be set manually.</p>
100
101    <p>For development and requirements please see the README file enclosed to the download packages. For source documentation with doxygen click <a title="OgreColladaPlugin Doxygen" href="doxygen/index.html">here</a></p>
102    <p>For feature requests, bugs and more please contact philipp.hartl[at]bkf.at or discuss at the Ogre platform. See thread <a href="http://www.ogre3d.org/phpBB2/viewtopic.php?t=13554" title="The Ogre COLLADA plugin">"The Ogre COLLADA plugin"</a>.</p>
103   </div>
104
105   <!-- screenshots -->
106   <div id="screenshots">
107    <h4>Screenshots</h4>
108    <table>
109     <tr>
110      <td><a href="screenshots/v0.4_cubes.png"><img alt="cubes" src="screenshots/v0.4_cubes.jpg" height="56px" width="75px"></a></td>
111      <td><a href="screenshots/v0.4_multimtl.png"><img alt="mutltimtl" src="screenshots/v0.4_multimtl.jpg" height="56px" width="75px"></a></td>
112      <td><a href="screenshots/v0.4_collada.png" title="collada.dae with material and light"><img alt="Collada dae" src="screenshots/v0.4_collada.jpg" height="56px" width="75px"></a></td>
113      <td><a href="screenshots/v0.3_nehe_cube.png" title="texturedcube.dae with nehe texture"><img alt="Nehe Cube" src="screenshots/v0.3_nehe_cube.jpg" height="56px" width="75px"></a></td>
114     </tr>
115     <tr>
116      <td>2 cubes</td>
117      <td>material</td>
118      <td>collada.dae</td>
119      <td>textured</td>
120     </tr>
121    </table>
122   </div>
123
124   <!-- downloads -->
125   <div id="downloads">
126    <h4>Downloads</h4>
127    <p>latest version is 0.4, beta status</p>
128    <ul>
129     <li>Source package: <a href="downloads/" title="">zip</a>&nbsp;<small>[Kb]</small></li>
130    </ul>
131   </div>
132
133   <div style="border-top: 1px solid #5D6D5D;">&nbsp;</div>
134
135   <!-- footer -->
136   <div style="float: left; font-size: 8pt;">
137    <div>maintained by Philipp Hartl</div>
138    <div>last update on 2006/06/19</div>
139    <div>comments to philipp.hartl[at]bkf.at</div>
140   </div>
141
142   <!-- validator -->
143   <div style="text-align: right;">
144     <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Strict" style="height:31px;width:88px;"></a>
145     <a href="http://jigsaw.w3.org/css-validator/"><img src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" style="height:31px;width:88px;"></a>
146   </div>
147
148   <div style="clear: both;">&nbsp;</div>
149
150  </div>
151 </div>
152
153</body>
154</html>
Note: See TracBrowser for help on using the repository browser.