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

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

11

13.01.2011, 15:10

Noch ma ne letzte Frage zu cubemaps: sind die auch gut für ShadowMaps bei real-time shadow mapping Point-Lights geeignet? Oder nimmt man die wirklich außschließlich für EnvironmentMapping?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

12

13.01.2011, 15:19

Noch ma ne letzte Frage zu cubemaps: sind die auch gut für ShadowMaps bei real-time shadow mapping Point-Lights geeignet? Oder nimmt man die wirklich außschließlich für EnvironmentMapping?

Natürlich, eine CubeMap ist der Standardansatz für Shadowmapping einer Punktlichtquelle. CubeMaps sind einfach eine spezielle Art von Texturen. Und es wär jetzt ja nicht gerade so dass man Texturen nur verwendet um Bildchen auf Dreiecke zu packen...

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

13

13.01.2011, 20:43

Ich hab leider noch probleme bei OpenGL die Szene richtig in die Cubemap zu setzten. Bzw. die Kamera-Rotation stimmt nicht. Ich vermute es liegt daran, dass ich in meiner Engine OpenGL ein linkshändiges Koordinatensystem aufzwinge.
Das hat mir schon öfters Probleme mit OpenGL und Normalen usw. gemacht.
In diesem Fall macht glTexGen mit GL_REFLECTION_MAP vermutlicht nicht genau das, was ich will. Bei D3D9 verwende ich D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR und da funktioniert alles.
Die CubeMap soll sich bei Rotation der Kamera nicht drehen, es soll ja so aussehen, als würde einfach die Umliegende Szene gespiegelt - wie beim Raytracing mit Kugeln halt. Aber die Szene dreht sich und ist auch noch um 180° auf der Y-Achse verkeht herum.
Ich hab auch schon alle möglichen Kombinationen von inversen drehungen der Kamera ausprobiert, aber es will einfach nicht klappen. Wie kann ich das Problem beheben, ohne auf das rechtshändige Koordinaten System bei OpenGL umsteigen zu müssen?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

14

13.01.2011, 20:48

Kann es sein dass du einfach nur die Tatsache übersiehst dass bei Texturkoordinaten in OpenGL der Ursprung links unten und nicht links oben liegt?

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

15

13.01.2011, 21:37

Ja der gesammte Screenspace hat seinen Ursprung bei OpenGL natürlich unten/links. Aber wie hilft mir das jetzt bei meinem Problem weiter?

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

16

15.01.2011, 19:49

So, jetzt funktioniert das DynamicCubeMapping endlich bei allen meinen Renderern korrekt :-D (außer SoftwareRenderer halt ^^).
Ich musste noch die Texture Matrix auf (1 | 1 | -1) skalieren um auch dort mein links händiges Koordinaten System zu emulieren.
Das ist mit Abstand das Einzige was mich an OpenGL stört, dass hier von Grund auf ein rechts händiges Koordinaten System verwendet wird und, dass der ScreenSpace Ursprung nicht links oben sondern links unten ist.
Naja, so viel dazu ^^.
Gruß,
Lukas

Werbeanzeige