Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

01.11.2004, 21:09

Modell wird ohne textur gerendert

Hallo Leute

Mein Problem: Die Textur wird nicht angezeigt.

Ich habe einen Vertex- und einen IndexBuffer
Die Struktur eines Vertexes sieht wie folgt aus:

Quellcode

1
2
3
4
5
struct WMGRAPHIC_API wm3DSVertexEx {
    wmVector3D p;   // Position
    wmVector3D n;   // Normalvektor
    wmVector2D t;   // Texturkoordinaten
};

Renderstates:

Quellcode

1
2
g_Graphic3D.GetD3DDevice()->SetRenderState(D3DRS_LIGHTING, FALSE);
g_Graphic3D.GetD3DDevice()->SetRenderState(D3DRS_DITHERENABLE, TRUE);

FVF:

Quellcode

1
2
D3DFVF_XYZ | D3DFVF_NORMAL | 
            D3DFVF_TEX1 | D3DFVF_DIFFUSE

Beim Rendern gibt es keinen Fehler - Das Modell wird einfach nur weiß gerendert - also ohne Textur.

hab ich irgendetwas vergessen setzen?

mfg Markus-Lanner

Dave

Alter Hase

Beiträge: 757

Wohnort: Berlin

  • Private Nachricht senden

2

01.11.2004, 21:14

setzt bzw. lädst du die textur denn überhaupt? das ist nämlich das eigentlich interessante. zB so:

C-/C++-Quelltext

1
g_pD3DDevice->SetTexture(0, g_pTexture);


wenn die textur vorher zB mit D3DXCreateTextureFromFileEx geladen wurde...

3

01.11.2004, 21:20

Ja ich lade die Textur und setze sie auch genau wie du eben geschrieben.

mfg Markus-Lanner

Dave

Alter Hase

Beiträge: 757

Wohnort: Berlin

  • Private Nachricht senden

4

02.11.2004, 11:01

überprüfst du, ob sie korrekt geladen wurde? stehen in der log fehler?

5

02.11.2004, 11:14

OK, das wieder einmal meiner dämlichsten Fehler.
Ich hab mich mit dem Problemm seit 4 Stunden beschäftigt und der Fehler war ganz einfach. Der Pointer auf die Textur ging bei einer Methode verloren (besser kann ichs jetzt nicht beschreiben :rolleyes: )
Sorry das den Thread überhaupt geöffnet hab

mfg Markus-Lanner

6

02.11.2004, 14:07

Ne war schon gut das du diesen Thread geöffnet hast. Denn du hast noch einen Fehler der dich teuer zu stehen kommen kann :)

C-/C++-Quelltext

1
2
3
4
5
struct WMGRAPHIC_API wm3DSVertexEx {
    wmVector3D p;    // Position

    wmVector3D n;    // Normalvektor

    wmVector2D t;    // Texturkoordinaten

};


C-/C++-Quelltext

1
2
D3DFVF_XYZ | D3DFVF_NORMAL |
            D3DFVF_TEX1 | D3DFVF_DIFFUSE

Das passt absolut nicht zusammen. Entweder du entfernst die Diffuse Farbe bei deinem FVF oder du packst sie noch zu deiner Struktur hinzu.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Werbeanzeige