AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Lightmap mit DirectX9 funktioniert nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Lightmap mit DirectX9 funktioniert nicht

Offene Frage von ".chicken"
Ein Thema von .chicken · begonnen am 20. Apr 2008 · letzter Beitrag vom 20. Apr 2008
Antwort Antwort
.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
TGLDX

Registriert seit: 8. Jul 2007
6 Beiträge
 
Delphi 7 Personal
 
#2

Re: Lightmap mit DirectX9 funktioniert nicht

  Alt 20. Apr 2008, 19:20
Hallo!

Da du anscheinend nur eine Texturkoordinate hast musst du Folgendes hinzufügen, sonst wird immer (0|0) genommen:
Delphi-Quellcode:
Device.SetTextureStageState(1, // Die 2. Texture
                            D3DTSS_TEXCOORDINDEX,
                            0) // soll den Index der 1. mitbenutzen
mfg
TGLDX
  Mit Zitat antworten Zitat
.chicken

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

Re: Lightmap mit DirectX9 funktioniert nicht

  Alt 20. Apr 2008, 20:04
Juhuuuu, das wars, danke!
Also muss ich entweder fuer jede Stage eigene Koordinaten definieren oder die alten uebernehmen?

Grüße
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz