Texturen
-
also ich weiss nicht wi ich es machen soll ich erstelle ein landscape in einen buffer und ich will zb. das feld 2X 2Z = eine andere texture hat.
dann hab ich noch ne frage was ist der unterschied zwischen
einen
Indexbuffer
und
Vertezbuffer ?
-
Kann man die Frage auch so formulieren daß sie verständlich wird? Und was ist bitte ein Vertez?
-
Ich kann mich meinem Double nur anschließen...
Für den Unterschied guckst Du am besten in die DirectX-SDK-Dokumentation.
-
ich meine ich habe eine tile engine und will verschiedene texturen benutzten
aber ich hab meine landscape in ein buffer geladen ?
-
Wen ndu mehrere Texturen für eine Buffer verwenden willst, dann musst du ihn in Stückchen rendern, die ein gemeinsame Textur haben.
So in der Art:
d3ddevice->SetStreamSource( 0,DeinBuffer,DeineFVF_Groesse); //textur 1 int i; for(i = 0;i < AnzahlTextur1Felder;++i) { d3ddevice->SetTexture(0,DeineTextur2); d3ddevice->DrawPrimitive( D3DPT_TRIANGLELIST, StartIndex1[i], Anzahl1[i] ); } //textur 2 for(i = 0;i < AnzahlTextur2Felder;++i) { d3ddevice->SetTexture(0,DeineTextur2); d3ddevice->DrawPrimitive( D3DPT_TRIANGLELIST, StartIndex2[i], Anzahl2[i] ); }
Das ist aber ziemlich ineffektiv. Besser ist du splittest dein Landschaft in zwei VertexBuffer, die du dann am Stück renderst.