[21] | 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> <small>[Kb]</small></li> |
---|
| 130 | </ul> |
---|
| 131 | </div> |
---|
| 132 | |
---|
| 133 | <div style="border-top: 1px solid #5D6D5D;"> </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;"> </div> |
---|
| 149 | |
---|
| 150 | </div> |
---|
| 151 | </div> |
---|
| 152 | |
---|
| 153 | </body> |
---|
| 154 | </html> |
---|