JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=fb6289956cc30ff6a4daba8b135283b9Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Verschiedene Fragen zu vektoren in Vektoren

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 26.07.2003, 10:00    Titel: Verschiedene Fragen zu vektoren in Vektoren Antworten mit Zitat

HI!
Also mal zum Hintergrund: Ich bin gerade dabei, eine Funktion zu schreiben, welche mir die Vertex und Indexbuffer meiner Levelgeometrie erstellt. Es gibt insg. 1 Vertexbuffer für das gesamte Level. Aber bei den Indexbuffern wird es interessant: Ich will das es pro Textur ein array von Indexbuffer-Arrays gibt. In den Indexbuffer Arrays ist jeder Eintrag ein Indexbuffer für das jeweilige material. Ein bissl anschaulicher:
Code:

Indexbufferarray[Textur][Material];
//Dann muss man beim rendern nur noch:
for( int iT = 0; iT < Texturen; iT++ )
{
  SetTexture( iT );
  for( int iM = 0; iM < Materials; iM++ )
  {
    SetMaterial( iM );
    SetIndexbuffer( Array[iT][iM] );
  }
}

Ich denke ihr versteht was ich mein. Da ich das für meinen Leveleditor verwenden will, und dort die Geometrie flexibel ist, mach ich das mit vektoren. also in etwa so:
Code:

vector< vector<IBuffer> > vcIndexbuffers; //[Textur][Material]

So, nun hab ich aber leider keinen Plan, wie ich da jetzt meine ganzen Indices reinpacken soll... ich wollt nen temporären Vektor machen:
Code:

vector< vector< vector<WORD> > > TempVektor; //[Textur][Material][Index]

Und dann will ich alle Triangles durchlaufen und für jede gefundene Textur einen Vektor mit den Material-Indices Vectoren drinne zum großen vektor hinzufügen. Dann für jedes Neue material einen Material-Indices Vektor zum Textur Vektor hinzufügen. Und dann für jedes Material die ganzen indices hinzufügen. Mal nen bissl abstrackt in etwa so:
Code:

for( Triangles )
{
  if( neue textur )
  { 
    //Füge Neuen Textur Vektor Hinzu
  }
  if( neues material )
  {
    //Füge neuen material vektor zum textur vektor hinzu
  }
  for( vertices )
  {
    //Füge vertex zum material vektor des texturen vektors des obervektors hinzu
  }
}


Nun hab ich aber ein paar Probleme:
1. Ich weis nicht wie ich herausbekomme, wieviele Vektoren jetzt in dem Obervektor enthalten sind, oder wieviele in einem bestimmten Texturen vektor.
2. Ich weis nicht, wie ich einen neuen Texturen vektor zum obervektor hinzufügen kann, oder eben einen Material vektor zu nem bestimmten Texturvektor.

Ich hoffe, ihr wisst was ich mein, ist alles ein bissl konfus Sad

Würde mich über schnelle antworten sehr freuen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 26.07.2003, 10:21    Titel: Antworten mit Zitat

1. ::size()
2. push_back()

;)
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 26.07.2003, 10:28    Titel: Antworten mit Zitat

Du bist lustig, das weis ich auch Wink

Ich weis aber nicht, ob ich das folgendermaßen machen kann, oder nich:
Code:

vector< vector< vector<WORD> > > vcTextures;
vector< vector< WORD > > vcMaterials;
vector<WORD> vcIndices;

vcMaterials.push_back( vcIndices );
vcTextures.push_back( vcMaterials );
vcTextures[iT][iM].push_back( 1 );
vcTextures[iT].size();


oder so in der Art?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 26.07.2003, 10:56    Titel: Antworten mit Zitat

Japp, das sollte gehen. ;)
Wenn du die Größe aber schon vorher weißt, ist es einfacher wenn du die Vektoren initialisierst.

vector<int> intVec(ANZAHL_DER_ELEMENTE);
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum