Indizierte Texturkoords, DX9



  • Hallo!

    Ich hab einen VertexBuffer mit folgenden Vertices:

    pVertices[0].vPosition= D3DXVECTOR3 (-1.0f,-1.0f, 1.0f);
    pVertices[1].vPosition= D3DXVECTOR3 (-1.0f, 1.0f, 1.0f);
    pVertices[2].vPosition= D3DXVECTOR3 ( 1.0f,-1.0f, 1.0f);	
    pVertices[3].vPosition= D3DXVECTOR3 ( 1.0f, 1.0f, 1.0f);
    pVertices[4].vPosition= D3DXVECTOR3 ( 1.0f,-1.0f,-1.0f);
    pVertices[5].vPosition= D3DXVECTOR3 ( 1.0f, 1.0f,-1.0f);	
    pVertices[6].vPosition= D3DXVECTOR3 (-1.0f,-1.0f,-1.0f);
    pVertices[7].vPosition= D3DXVECTOR3 (-1.0f, 1.0f,-1.0f);
    

    Dazu einen IndexBuffer mit 24 Werten:

    int aiIndex[24] =	{	1,2,4,3,
    			3,4,6,5,
    			5,6,8,7,
    			7,8,2,1,
    			2,8,6,4,
    			7,1,3,5	};
    

    Ich zeichne das mit der Methode "DrawIndexedPrimitive", und es funktioniert.

    Meine Frage: Wie bekomme ich jetzt die Texturkoordinaten da rein? Wenn ich z.B ein zweites IndexArray hätte und dazu ein weiteres Array mit 20 Texturkoordinaten? Kann man das mit Hilfe eines Datastreams bewerkstelligen?



  • Ja, irgendwie kann man da verschiedene Buffer zusammenführen. Es ist aber einfacher die Texturkoordinaten einfach mit den Vertices zusammen zu speichern.

    zB so:

    struct VERTEX
    {
    
    D3DXVECTOR3 vPos;
    D3DXVECTOR2 vTexCoords;
    
    };
    

    Wenn die Texturkoordniaten aber von den Positionen getrennt sein sollen würd ich mal in die SDK-Doku schauen, ich hab da mal was drüber gelesen.


Anmelden zum Antworten