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

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

ph = getAttrib (XMLNode, "VertexProgramMorph"); si (vertexProgramMorph.size () = 0!) {terrainConfig + = "VertexProgramMorph ="; terrainConfig + = vertexProgramMorph; terrainConfig + = "\\ n"; }

Cadena morphLODFactorParamName = getAttrib (XMLNode, "MorphLODFactorParamName"); si {terrainConfig + = "MorphLODFactorParamName =" (morphLODFactorParamName.

size () = 0!); terrainConfig + = morphLODFactorParamName; terrainConfig + = "\\ n"; }

Cadena morphLODFactorParamIndex = getAttrib (XMLNode, "MorphLODFactorParamIndex"); si {terrainConfig + = "MorphLODFactorParamIndex =" (morphLODFactorParamIndex.size () = 0!); terrainConfig + = morphLODFactorParamIndex; terrainConfig + = "\\ n"; }

Cadena lodMorphStart = getAttrib (XMLNode, "LODMorphStart"); si (lodMorphStart.size () = 0!) {terrainConfig + = "LODMorphStart ="; terrainConfig + = lodMorphStart; terrainConfig + = "\\ n"; }

void * PMEM = OGRE_ALLOC_T (unsigned char, terrainConfig.

length () + 1, MEMCATEGORY_GENERAL); memset (PMEM, 0, terrainConfig.length () + 1); memcpy (PMEM, terrainConfig.c_str (), terrainConfig.length () + 1); DataStreamPtr pStr (nueva Ogre :: MemoryDataStream (PMEM, terrainConfig.length () + 1, true));

this-> mSceneMgr-> setWorldGeometry (pStr);}

anular DotSceneLoader :: processUserDataReference (TiXmlElement * XMLNode , SceneNode * pParent) {//! todo Implementar esta}

anular DotSceneLoader :: processOctree (TiXmlElement * XMLNode) {//! todo Implementar esta}

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

//Crear la Luz luz * difícil situación = mSceneMgr-> createLight (nombre); si (pParent) pParent-> attachObject (difícil situación);

Cadena sValue = getAttrib (XMLNode, "tipo"); si (sValue == "punto") pLight-> setType (Light :: LT_POINT); else if (sValue == "direccional") pLight-> setType (Light :: LT_DIRECTIONAL); else if (sValue == "spot") pLight-> setType (Light :: LT_SPOTLIGHT); else if (sValue == "radPoint") pLight-> setType (Light :: LT_POINT);

pLight-> setVisible (getAttribBool (XMLNode, "visible", true)); pLight-> setCastShadows (getAttribBool (XMLNode, "castShadows", true));

TiXmlElement * pElement;

//posición Proceso pElement = XMLNode-> FirstChildElement ("posición") (?); si (pElement) pLight-> setPosition (parseVector3 (pElement)); //

proceso normal pElement = XMLNode-> FirstChildElement ("normal") (?); si (pElement) pLight->

Page   <<  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... >>  >> 
Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.