*   >> Lectura Educación Artículos >> science >> programación

Hacer un juego en 3D con Ogre - Carga de un Scene

lement;

//localDirection Proceso Vector3 localDirection = Vector3 :: NEGATIVE_UNIT_Z (?); pElement = XMLNode-> FirstChildElement ("localDirection"); si (pElement) localDirection = parseVector3 (pElement);

//Proceso compensado Vector3 compensado = Vector3 :: ZERO (?); pElement = XMLNode-> FirstChildElement ("desplazamiento"); si (pElement) compensado = parseVector3 (pElement);

//Configurar el try objetivo pista {SceneNode * pTrackNode = mSceneMgr-> getSceneNode (nodeName); pParent-> setAutoTracking (true, pTrackNode, localDirection, offset); } Catch (Ogre :: Excepción y /* e * /) {LogManager :: getSingleton () logMessage ("[DotSceneLoader] Error al procesar un blanco pista!.

"); }}

anular DotSceneLoader :: processEntity (TiXmlElement * XMLNode, SceneNode * pParent) {//Proceso atributos String name = getAttrib (XMLNode, "nombre"); String id = getAttrib (XMLNode, "id"); Cadena meshFile = getAttrib (XMLNode, "meshFile"); Cadena materialFile = getAttrib (XMLNode, "materialFile"); bool isStatic = getAttribBool (XMLNode, "estática", false) ;; bool castShadows = getAttribBool (XMLNode, "castShadows", true);

//TEMP: Mantener una lista de objetos estáticos y dinámicos si (isStatic) staticObjects.push_back (nombre); otra cosa dynamicObjects.

push_back (nombre);

TiXmlElement * pElement;

//Proceso vertexBuffer pElement = XMLNode-> FirstChildElement ("vertexBuffer") (?); si (pElement); //processVertexBuffer (pElement); (?)

//Proceso indexBuffer pElement = XMLNode-> FirstChildElement ("indexBuffer"); si (pElement); //processIndexBuffer (pElement);

//Crear la entidad Entidad * pEntity = 0; try {MeshManager :: getSingleton () carga (meshFile, m_sGroupName).; pEntity = mSceneMgr-> createEntity (nombre, meshFile); pEntity-> setCastShadows (castShadows); pParent-> attachObject (pEntity); (! materialFile.

empty ())

si pEntity-> setMaterialName (materialFile); .} Catch (Ogre :: Excepción y /* e * /) {LogManager :: getSingleton () logMessage ("[DotSceneLoader] Error al cargar una entidad!"); } //

userDataReference Proceso pElement = XMLNode-> FirstChildElement ("userDataReference") (?); si (pElement) processUserDataReference (pElement, pEntity);

}

anular DotSceneLoader :: processParticleSystem (TiXmlElement * XMLNode, SceneNode * pParent) {//Proceso atributos String name = getAttrib (XMLNode, "nombre"); String id = getAttrib (XMLNode, "id"); Archivo String = getAttrib (XMLNode, "archivo");

//Crear el try sistema de partículas {ParticleSystem * pParticles = mSceneMgr-> createParticleSystem (nombre, archivo); pParent->

Page    << <<  [11] [12] [13] >>
Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.