Zeichnen von Dreieck (TriangleStrip) + Textur hat kleinen Fehler
-
Ich zeichne durch folgenden Source eine Textur auf einem Quadrat:
void DrawTexture(IDirect3DTexture9* Texture) { Device->SetTexture(0, Texture); Device->DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2); }
Das erste Dreieck (also das:)
. |\ .-.
wird schön gezeichnet und die Textur passt perfekt.
aber die andere Hälfte wird nur in 1 Farbe gezeichnet, welche in der Textur enthalten ist!
Wenn ich die Textur weglasse, passts perfekt!
Woran kann das liegen?
-
Texturkoordinaten.
Bye, TGGC \-/
-
Ich hab mich jetzt etwas mit den Texturkoordinaten beschäftigt, aber ich komm nicht weiter. Hier mal wie ich meine Vertices definiere:
CUSTOMVERTEX V[] = { { 0, 100, 0.5f, 0.5f, 0xffffffff, 0.0f, 1.0f,}, { 0, 0, 0.5f, 0.5f, 0xffffffff, 0.0f, 0.0f,}, {100, 100, 0.5f, 0.0f, 0xffffffff, 1.0f, 1.0f,}, {100, 0, 0.5f, 0.0f, 0xffffffff, 1.0f, 0.0f,}, };
Aber es klappt nicht
-
Wie sieht denn dein FVF aus?
-
Des Sieht so aus
struct CUSTOMVERTEX { FLOAT x, y, z, rhw; DWORD color; float tv, tu; }; #define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZRHW|D3DFVF_DIFFUSE | D3DFVF_TEX1)
Ich hab auch schon probiert, tv und tu auszutauschen, hat aber auch nicht geklappt
-
Gibts in deiner SDK Doku das Kapitel "TLVertex Type"?
Bye, TGGC \-/