PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OpenGL


Elladan
2005-07-22, 20:47:29
Hallo,
Entschuldigt die Störung.
Ich habe ein sehr spezielles Problem in der OpenGL in Delphi Programmierung.
Vielleicht bin ich hier doch in einem falschen Forum, aber im DelphiGL.com - Forum kann ich mich momentan leider nicht anmelden.

Ich habe eine 3D-Landschaft mit Bäumen und Blumen erstellt.
Jeder Baum besteht aus einer Textur, die 8 mal je etwas rotiert gezeichnet wird, so wie es in einem Tutorial auf www.delphigl.de beschrieben ist.
Der Schatten des Baumes besteht aus der gleichen Textur, die einfach um 90 Grad an der Z-Achse rotiert am Boden gezeichnet wird.
Schattenfarbe ist je glColor4f(0,0,0,0.2);
Jeder Schatten der Bäume wird dabei etwas übereinander versetzt gezeichnet, so dass sich die Schatten verschiedener Pflanzen überlagern.

Ich habe jetzt zusätzlich noch mehrere Grastexturen gezeichnet, so dass eine Wiese entstanden ist.

Wie kann ich jetzt, schnell und einfach, die Grastexturen entsprechend dem Schatten der Bäume einfärben?
Gegebenenfalls mit Blending? (glBlendFunc)
Erschwerend kommt hinzu, dass der Wald zufallsgeneriert wird.

Also, es handelt sich wirklich um etwas *sehr* spezielles.

Zur Verdeutlichung meines Problemes zwei Screenshots:

http://home.arcor.de/elladanfinrod/Delphi/Screenshots/2005-07/Screenshot%2081.jpg

http://home.arcor.de/elladanfinrod/Delphi/Screenshots/2005-07/Screenshot%2082.jpg


/edit:
bin jetzt auch noch im delphigl-forum angemeldet, hat etwas länger gedauert.
erhielt dort viele antworten, das mit dem Blending klappt sogar.
http://www.delphigl.com/forum/viewtopic.php?t=4373

Neomi
2005-07-22, 21:46:25
Wie kann ich jetzt, schnell und einfach, die Grastexturen entsprechend dem Schatten der Bäume einfärben?

Du könntest den Schatten in eine Textur rendern und beim Zeichnen des Grases daraus sampeln.

micki
2005-07-23, 01:11:43
benutze texgen für s und t, damit kannst du positionsabhängig texturcoordinaten generieren, so könntest du den schatten den du auf den boden legst, auch auf die gräser nutzen.

MfG
micki