Hallo zusammen,
ich habe folgendes Problem, ich will zwei Shader für ein kleines Spielchen nutzen, bei sind Normalmapping Shader, der eine ist für nur eine Lichtquelle gedacht (Planeten usw.) der andere für mehrere (Raumstationen usw.).
In meinem kleiner Shader Tester funktionieren die auch soweit gut, siehe hier:
SingleLight:
MultiLight:
In meinem Spielchen sehen die aber scheußlich oder gar nicht aus.
SIngleLight ist völlig schwarz:
und Multilight hat einen Lila-Stich wahrscheinlich von den Normalen-Grafikdateien:
Ich verzweifele gerade, da ich absolut nicht mehr weiß was ich damit machen soll. Evtl. hat jemand von Euch einen Tip. Wäre echt dankbar.
Wenn Ihr weitere Infos braucht oder die Shader oder so, bitte einfach melden.
Danke schonmal !
[Edit] Tippfehler ...
GLSL Shader - Wo ist der Fehler
- Makke
- Beiträge: 156
- Registriert: 24.08.2011 18:00
- Computerausstattung: AMD Ryzen 7 5700X - AMD Radeon RX 6800 XT - 32 GB DDR4 SDRAM
- Wohnort: Ruhrpott
- Kontaktdaten:
GLSL Shader - Wo ist der Fehler
---
Windows 11 (64 bit)
Windows 11 (64 bit)
- Chimorin
- Beiträge: 451
- Registriert: 30.01.2013 16:11
- Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit
Re: GLSL Shader - Wo ist der Fehler
Sowas hatte ich auch mal. Nur weiß ich die Lösung nicht mehr ^^
Ich forste mal danach; Ich glaube es war etwas mit dem Materialskript.
Ich forste mal danach; Ich glaube es war etwas mit dem Materialskript.
- Makke
- Beiträge: 156
- Registriert: 24.08.2011 18:00
- Computerausstattung: AMD Ryzen 7 5700X - AMD Radeon RX 6800 XT - 32 GB DDR4 SDRAM
- Wohnort: Ruhrpott
- Kontaktdaten:
Re: GLSL Shader - Wo ist der Fehler
Hallo Chimorin,
ich habe es herausbekommen, die Planeten bleiben schwarz, weil die Entities in der Größe verändert wurden. Ich dachte mir eine Sphere zu kreieren und die dann nur noch auf die gewünschte Größe zu skalieren.
Wenn man das macht, sind die mit dem Mesh gespeicherten Normalen aber falsch und dann kann das Material/der Shader diese nicht mehr anzeigen und es bleibt schwarz. Sollte man nach dem skalieren des Entities "NormalizeMesh" erneut anwenden, werden die Entities gar nicht mehr angezeigt.
Es soll in der Ogre Engine jedoch einen Befehl geben, der diese Normalen wieder richtig berechnet bei einem Entity, aber den gibt es in PB nicht.
Naja, der zweite Fehler mit dem Lila-Stich war ein Schreibfehler im Shader.
ich habe es herausbekommen, die Planeten bleiben schwarz, weil die Entities in der Größe verändert wurden. Ich dachte mir eine Sphere zu kreieren und die dann nur noch auf die gewünschte Größe zu skalieren.
Wenn man das macht, sind die mit dem Mesh gespeicherten Normalen aber falsch und dann kann das Material/der Shader diese nicht mehr anzeigen und es bleibt schwarz. Sollte man nach dem skalieren des Entities "NormalizeMesh" erneut anwenden, werden die Entities gar nicht mehr angezeigt.
Es soll in der Ogre Engine jedoch einen Befehl geben, der diese Normalen wieder richtig berechnet bei einem Entity, aber den gibt es in PB nicht.
Naja, der zweite Fehler mit dem Lila-Stich war ein Schreibfehler im Shader.
---
Windows 11 (64 bit)
Windows 11 (64 bit)
- Chimorin
- Beiträge: 451
- Registriert: 30.01.2013 16:11
- Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit
Re: GLSL Shader - Wo ist der Fehler
Skaliere die Planeten doch einfach in einem 3D-Editor... (Eigentlich dürfte es da doch gar keine Probleme geben; Beim Skalieren ändern sich die Normalenvektoren ja nicht.)