Einzelnen Beitrag anzeigen

.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#1

Lightmap mit DirectX9 funktioniert nicht

  Alt 20. Apr 2008, 17:57
Also ich wollte ueber meine Textur eine Lightmap legen und habe das dem Buch DirectX9 in Delphi nachprogrammiert.
Aber irgendwie habe ich das Gefühl er bildet immer den mittleren Farbwert der Lightmap und legt den einfach überall über die Textur, statt dass er einzelne Punkte erhellt oder verdunkelt.

Hier mal mein Code für das Zeichnen Lightmap:
Delphi-Quellcode:
  Device.SetFVF(D3DFVF_Vertex);
  Device.SetTexture(0, Texture); //Texture is die normale Textur
  Device.SetTexture(1, Lightmap); //Lightmap natürlich die Lightmap ^^
  Device.SetStreamSource(0, VB, 0, sizeof(TVertex));
  //so, hier setze ich nun die texturestages, die angelich die Lightmap drüber blenden sollen
  //eigentlich sollten weisse flecken auf der lightmap die textur erhellen
  //schwarze flecken natürlich verdunkeln
  Device.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
  Device.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
  Device.SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_CURRENT);
  Device.SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_TEXTURE);
  Device.SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_MODULATE);
  Device.DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2);
Also im Moment liegt beim Start eine schlicht weisse Lightmap drüber, aber rechts könnt ihr ja andere Maps auswählen. Ich häng das Projekt mal an, allerdings müsst ihr dazu 2 Dll-Dateien in das System32 Verzeichnis kopieren, sonst kommt beim Programmstart immer der Fehler dass "DirectX9.dll nicht gefunden wurde" oder sowas. Keine Ahnung woran das liegt.

Die Dlls gibts hier:
http://minfos.de/buch/support.shtml
Sind nicht Passwort geschuetzt!

Wäre seeeeehr dankbar, wenn mir wer hilft! Weiss nicht worans liegt, der Code steht genau so im Buch...


Grüße, chicken
Angehängte Dateien
Dateityp: rar texturetest_806.rar (972,8 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat