Aktuelle Zeit: 07.01.2025, 03:29

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 23.06.2007, 23:28 
Offline

Registriert: 13.03.2007, 22:45
Beiträge: 65
Hi,

mir ist folgendes noch nicht ganz klar:

Ist ein IMesh nur eine Art Vorlage, nach der beliebig viele SceneNodes erstellt werden können oder besteht jedes IMesh nur genau einmal?

Also wenn ich z.B. einen Wald darstellen möchte mit 10 Bäumen, welche genau gleich aussehen, aber eben unterschiedliche Positionen haben, unterschiedliche Scalierungen etc.
Müsste ich dann 10 Mal das Mesh laden udn 10 SceneNodes erstellen oder reicht es wenn ich das IMesh nur einmal habe und daraus 10 SceneNodes erstelle? Also so:
Code:
IAnimatedMesh* mesh = smgr->getMesh("../../media/sydney.md2");
IAnimatedMeshSceneNode* node1 = smgr->addAnimatedMeshSceneNode(mesh);
IAnimatedMeshSceneNode* node2 = smgr->addAnimatedMeshSceneNode(mesh);
IAnimatedMeshSceneNode* node3 = smgr->addAnimatedMeshSceneNode(mesh);
IAnimatedMeshSceneNode* node4 = smgr->addAnimatedMeshSceneNode(mesh);
IAnimatedMeshSceneNode* node5 = smgr->addAnimatedMeshSceneNode(mesh);
IAnimatedMeshSceneNode* node6 = smgr->addAnimatedMeshSceneNode(mesh);
IAnimatedMeshSceneNode* node7 = smgr->addAnimatedMeshSceneNode(mesh);
IAnimatedMeshSceneNode* node8 = smgr->addAnimatedMeshSceneNode(mesh);
IAnimatedMeshSceneNode* node9 = smgr->addAnimatedMeshSceneNode(mesh);
IAnimatedMeshSceneNode* node10 = smgr->addAnimatedMeshSceneNode(mesh);


Und angenommen es würde funktionieren - was für Einschränkungen hätte es dann?


Danke
D.


Nach oben
 Profil  
 
BeitragVerfasst: 24.06.2007, 01:42 
Offline

Registriert: 09.05.2007, 23:24
Beiträge: 20
na, probiers doch einfach aus ;)
10 sceneNodes erstellen und einfach einzelne davon stauchen oder so.

10x getMesh aufrufen hat afaik nur einen effekt: du bekommst 10 pointer auf das gleiche mesh.


Nach oben
 Profil  
 
BeitragVerfasst: 24.06.2007, 09:12 
Offline
Moderator

Registriert: 25.02.2007, 14:35
Beiträge: 323
Wohnort: Münster
NinthBit sagt es: Egal wie oft du getMesh aufrufst, der Zeiger den du erhältst wird gleich sein.
Das zeigt der folgende Code-Schnipsel:
Code:
IAnimatedMesh* mesh = smgr->getMesh("../../media/sydney.md2");
IAnimatedMesh* mesh2 = smgr->getMesh("../../media/sydney.md2");
if(mesh == mesh2)
{
   cout << "Gleich" << endl;
   cout << mesh << endl;
   cout << mesh2 << endl;
}


Das wiederum heißt, dass es aufs gleiche rauskommt ob du es so schreibst wie du es in deinem COde getan hast oder so:
Code:
IAnimatedMesh* mesh1 = smgr->getMesh("../../media/sydney.md2");
IAnimatedMeshSceneNode* node1 = smgr->addAnimatedMeshSceneNode(mesh1);
IAnimatedMesh* mesh2 = smgr->getMesh("../../media/sydney.md2");
IAnimatedMeshSceneNode* node2 = smgr->addAnimatedMeshSceneNode(mesh2);
IAnimatedMesh* mesh3 = smgr->getMesh("../../media/sydney.md2");
IAnimatedMeshSceneNode* node3 = smgr->addAnimatedMeshSceneNode(mesh3);
IAnimatedMesh* mesh4 = smgr->getMesh("../../media/sydney.md2");
IAnimatedMeshSceneNode* node4 = smgr->addAnimatedMeshSceneNode(mesh4);
...


Nach oben
 Profil  
 
BeitragVerfasst: 24.06.2007, 10:23 
Offline

Registriert: 13.03.2007, 22:45
Beiträge: 65
ah, danke.

Jo, hätt ich auch ausprobieren können, hast recht. Sorry.


Hab aber mal ne neue Frage (Will jetzt nicht schon wieder nen neuen Thread aufmachen):
Ich habe eine Klasse, die alle SceneNodes und Meshes etc. verwaltet (sie heißt GameWorld).

Die Meshes, die geladen werden sollen, werden aus einer Datei ausgelesen. Da ich nicht immer unterscheiden will, ob es sich um ein animiertes uder ein nicht-animiertes Mesh handelt, folgende Frage:

Ist es möglich einfach alle Meshes als animierte Meshes zu laden (also als IAnimatedMesh) und daraus dann ein IAnimatedMeshSceneNode zu erstellen, auch wenn ein Mesh nicht animiert ist, oder gibt es da Probleme?


Nach oben
 Profil  
 
BeitragVerfasst: 24.06.2007, 14:48 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Zitat:

Ist es möglich einfach alle Meshes als animierte Meshes zu laden (also als IAnimatedMesh) und daraus dann ein IAnimatedMeshSceneNode zu erstellen, auch wenn ein Mesh nicht animiert ist, oder gibt es da Probleme?

afaik werden doch sowieso alle Meshes, die aus Dateien geladen werden, als animierte Meshes (halt ohne Animationen) geladen. Sollte zumindest keine Probleme geben.

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 12 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de