Aktuelle Zeit: 12.05.2025, 23:23

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 14 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: Kopie von Mesh
BeitragVerfasst: 15.01.2008, 15:17 
Offline
Benutzeravatar

Registriert: 24.07.2007, 23:11
Beiträge: 283
Wie erstellt man eine Kopie von einem Mesh?

_________________
Be Fluffy!
kemomi.de


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Kopie von Mesh
BeitragVerfasst: 15.01.2008, 17:58 
Offline
Moderator
Benutzeravatar

Registriert: 11.03.2007, 20:25
Beiträge: 556
Wohnort: Frankfurt/Main
in dem man auf den meshbuffer zugreift.
IMesh::getMeshBuffer();
doku für den IMeshBuffer hier.
und dann per copy-constructor ne kopie machen.

_________________
yo. life's so bloody short.
Ihr dachtet Schulfernsehn sei die ultimative Folter? Falsch: Fahrstuhlmusik, extra leise.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Kopie von Mesh
BeitragVerfasst: 16.01.2008, 17:05 
Offline
Benutzeravatar

Registriert: 24.07.2007, 23:11
Beiträge: 283
kann man irgentwie die Normalen Flippen?

und
virtual ISceneNode * clone (ISceneNode *newParent=0, ISceneManager *newManager=0)

kopiert der das Objekt oder ist das das gleiche Objekt?

_________________
Be Fluffy!
kemomi.de


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Kopie von Mesh
BeitragVerfasst: 16.01.2008, 18:33 
Offline
Moderator
Benutzeravatar

Registriert: 11.03.2007, 20:25
Beiträge: 556
Wohnort: Frankfurt/Main
wenns das gleiche objekt wär bräucht man ja nur den zeiger kopieren..
die normalen musst du manuell flippen glaub ich, is ja auch nich so schwer: (ausm kopp)
Code:
IMeshSceneNode* node;
IMeshBuffer* mb = node->getMesh()->getMeshBuffer(0);
switch(mb->getVertexType()){
  case EVT_STANDARD:
    S3DVertex* vertices = mb->getVertices(); // oder so.. ka ob das mit dem [] funzt, bin grad in php drin..[edit] funzt nicht, also nur ohne..
    u32 vc = mb->getVertexCount();
    u32 i =0;
    while(i<vc){
      vertices[i]->Normal.invert();
      i++;
    }
}

_________________
yo. life's so bloody short.
Ihr dachtet Schulfernsehn sei die ultimative Folter? Falsch: Fahrstuhlmusik, extra leise.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Kopie von Mesh
BeitragVerfasst: 16.01.2008, 21:02 
Offline
Benutzeravatar

Registriert: 24.07.2007, 23:11
Beiträge: 283
S3DVertex[]* vertices funtzt net
und wie kopiert man zeiger ? oO find nix in meinem Buch

_________________
Be Fluffy!
kemomi.de


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Kopie von Mesh
BeitragVerfasst: 16.01.2008, 22:51 
Offline
Moderator
Benutzeravatar

Registriert: 11.03.2007, 20:25
Beiträge: 556
Wohnort: Frankfurt/Main
huh?
wie kopiert man integer?
Code:
zeiger2 = zeiger1;


und das muss natürlich einfach S3DVertex* heißen, das mit dem [] ist schwachsinn...

[edit]
ja es ist nach dem clone() das "gleiche" objekt, weil es einfach samt seiner kinder dupliziert wurde, aber nicht das "selbe", das du hast wenn du den zeiger kopierst (zeigt ja auf das gleiche, äh, das selbe).. (rechtsschreibfrage: das selbe oder dasselbe?? regel??)

_________________
yo. life's so bloody short.
Ihr dachtet Schulfernsehn sei die ultimative Folter? Falsch: Fahrstuhlmusik, extra leise.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Kopie von Mesh
BeitragVerfasst: 17.01.2008, 15:20 
Offline
Benutzeravatar

Registriert: 24.07.2007, 23:11
Beiträge: 283
ja das war unschön ausgedrückt von mir zeiger2 = zeiger1 ... naja so meint ich das ja net ich meint 1 neues Objekte so das ich das manuell ändern kann
Code:
void cFunktion::flipNormal(IAnimatedMeshSceneNode* Model)
{
   IMeshBuffer* meshBuffer = Model->getMesh()->getMesh(0)->getMeshBuffer(0);
   const u32 vc = meshBuffer->getVertexCount();
   u32 i = 0;

   switch(meshBuffer->getVertexType())
   {
      case EVT_STANDARD:
         S3DVertex* xVertices = meshBuffer->getVertices();

         while(i < vc)
         {
            xVertices[i].Normal.invert();
            i++;
         }
   }
}

funtzt net ...

c:\dokumente und einstellungen\...\eigene dateien\visual studio 2005\projects\naruto pong\funktion.cpp(1314) : error C2440: 'Initialisierung': 'void *' kann nicht in 'irr::video::S3DVertex *' konvertiert werden
Konvertierung von 'void*' in Zeiger auf nicht-'void' erfordert eine explizite Typumwandlung

_________________
Be Fluffy!
kemomi.de


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Kopie von Mesh
BeitragVerfasst: 17.01.2008, 18:01 
Offline
Moderator
Benutzeravatar

Registriert: 11.03.2007, 20:25
Beiträge: 556
Wohnort: Frankfurt/Main
uh äh ja..
muss ja folgendes sein, denk ich mal:
Code:
         S3DVertex* xVertices = (S3DVertex*) meshBuffer->getVertices();

oder so..

_________________
yo. life's so bloody short.
Ihr dachtet Schulfernsehn sei die ultimative Folter? Falsch: Fahrstuhlmusik, extra leise.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Kopie von Mesh
BeitragVerfasst: 17.01.2008, 20:11 
Offline
Benutzeravatar

Registriert: 24.07.2007, 23:11
Beiträge: 283
das Normalprob is gelößt, aber nun hab ich immer noch das copy prob...

Code:
Effekt[i].Objekt[ii] = (IAnimatedMeshSceneNode*)Effekt[i].Objekt[0]->clone();
               Effekt[i].Objekt[ii]->setScale(vector3df((ii / 10) + 1, (ii / 10) + 1, (ii / 10) + 1));
               flipNormal(Effekt[i].Objekt[ii]);
               Effekt[i].Objekt[ii]->setMaterialTexture(0, SD->Driver->getTexture("..\\data\\Ball\\Glow.tga"));


will er net schmeißt immer nen Error raus wegen Null-Zeiger

_________________
Be Fluffy!
kemomi.de


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Kopie von Mesh
BeitragVerfasst: 17.01.2008, 23:32 
Offline
Moderator
Benutzeravatar

Registriert: 11.03.2007, 20:25
Beiträge: 556
Wohnort: Frankfurt/Main
öh in welcher zeile genau?
schon beim aufruf von clone() oder erst danach?

_________________
yo. life's so bloody short.
Ihr dachtet Schulfernsehn sei die ultimative Folter? Falsch: Fahrstuhlmusik, extra leise.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Kopie von Mesh
BeitragVerfasst: 17.01.2008, 23:34 
Offline
Benutzeravatar

Registriert: 24.07.2007, 23:11
Beiträge: 283
die zeile darauf

_________________
Be Fluffy!
kemomi.de


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Kopie von Mesh
BeitragVerfasst: 17.01.2008, 23:49 
Offline
Moderator
Benutzeravatar

Registriert: 11.03.2007, 20:25
Beiträge: 556
Wohnort: Frankfurt/Main
uh ok ich hab jetzt mal in den irr src geguckt und voila: die abgeleiteten klassen müssen das clone implementieren, ansonsten wird nämlich ISceneNode::clone() aufgerufen, und das gibt einfach 0 zurück. IAnimatedMeshSceneNode implementiert aber kein eigenes clone(). dh die funktion ist pustekuchen..

musst halt den node 2 mal hintereinander machen.

_________________
yo. life's so bloody short.
Ihr dachtet Schulfernsehn sei die ultimative Folter? Falsch: Fahrstuhlmusik, extra leise.


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 14 Beiträge ]  Gehe zu Seite 1, 2  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 19 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