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.


Anmelden zum Antworten