*   >> Lecture Éducation Articles >> science >> la programmation

Faire un jeu en 3D avec Ogre - Chargement d'un Scene

cible de look!").; }}

annuler DotSceneLoader :: processTrackTarget (TiXmlElement * XMLNode, SceneNode * pParent) {//attributs Processus Chaîne nodeName = getAttrib (XMLNode, "nodeName");

TiXmlElement * pElement;

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

procédé offset Vector3 compensée = Vector3 :: ZERO (?); pElement = XMLNode-> FirstChildElement ("offset"); si (pElement) compensée = parseVector3 (pElement);

//Configurer le essai cible de la piste {SceneNode * pTrackNode = mSceneMgr-> getSceneNode (nodeName); pParent-> setAutoTracking (vrai, pTrackNode, localDirection, offset); } Catch (Exception & Ogre :: /* e * /) {LogManager :: getSingleton () logMessage ("[DotSceneLoader] Erreur de traitement d'une cible de piste!").

; }}

annuler DotSceneLoader :: processEntity (TiXmlElement * XMLNode, SceneNode * pParent) {//Traitement attributs String name = getAttrib (XMLNode, "nom"); String id = getAttrib (XMLNode, "id"); Chaîne meshFile = getAttrib (XMLNode, "meshFile"); Chaîne materialFile = getAttrib (XMLNode, "materialFile"); bool isStatic = getAttribBool (XMLNode, "statique", false) ;; bool castShadows = getAttribBool (XMLNode, "castShadows", true); //

TEMP: Maintenir une liste des objets statiques et dynamiques si (isStatic) staticObjects.push_back (nom); d'autre dynamicObjects.

push_back (nom);

TiXmlElement * pElement;

//Processus VertexBuffer pElement = XMLNode-> FirstChildElement ("VertexBuffer") (?); si (pElement); //processVertexBuffer (pElement); (?)

//Processus IndexBuffer pElement = XMLNode-> FirstChildElement ("IndexBuffer"); si (pElement); //processIndexBuffer (pElement);

//Création de l'entité Entité * pEntity = 0; try {MeshManager :: getSingleton () Charge (meshFile, m_sGroupName).; pEntity = mSceneMgr-> createEntity (nom, meshFile); pEntity-> setCastShadows (castShadows); pParent-> AttachObject (pEntity); (! materialFile.

empty ())

si pEntity-> setMaterialName (materialFile); .} Catch (Exception & Ogre :: /* e * /) {LogManager :: getSingleton () logMessage ("[DotSceneLoader] Erreur de chargement d'une entité!"); } //processus userDataReference

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


annuler DotSceneLoader :: processParticleSystem (TiX

Page    << <<  [11] [12] [13] >>
Copyright © 2008 - 2016 Lecture Éducation Articles,https://lecture.nmjjxx.com All rights reserved.