Depth Buffering
Moderator: Game Technology
Depth Buffering
Hallo,
ich habe mir Übung 9 aus dem Repository gezogen. Beim Ausführen ohne irgendwelche Modifikationen scheint irgendetwas mit der Tiefenschärfe nicht zu funktionieren. Ich nutze OSX mit X-Code. Habe ein Bild angehängt das den Fehler zeigt.
Viele Grüße
Tobias
ich habe mir Übung 9 aus dem Repository gezogen. Beim Ausführen ohne irgendwelche Modifikationen scheint irgendetwas mit der Tiefenschärfe nicht zu funktionieren. Ich nutze OSX mit X-Code. Habe ein Bild angehängt das den Fehler zeigt.
Viele Grüße
Tobias
Re: Depth Buffering
Welche Version von MacOS und Xcode sind denn installiert? Und sind alle Treiber aktuell? Ich habe es gerade ausprobiert auf dem Mac, da hat alles gepasst.
Re: Depth Buffering
XCode: Version 8.2.1 (8C1002)
OSX: 10.12.2
Treiber sind alle aktuell.
Habe auch bei keinem anderen Programm Probleme mit der Grafik.
OSX: 10.12.2
Treiber sind alle aktuell.
Habe auch bei keinem anderen Programm Probleme mit der Grafik.
Re: Depth Buffering
Danke für die Infos, haben es jetzt unter El Capitan sowie Sierra ausprobiert, ging bei uns beide Male, von daher können wir nur eine Ferndiagnose probieren
Kannst Du bitte diese beiden Schritte probieren, beides in der Datei Kore/Backends/OSX/Sources/Kore/BasicOpenGLView.mm, Funktion basicPixelFormat
1) Die Variable aa von 1 auf 0 setzen
2) Die beiden Einträge (NSOpenGLPixelFormatAttribute)24 in 16 oder 32 ändern.
Gab es bei anderen Übungen seit Übung 5 auch Depth-Buffer-Probleme?

Kannst Du bitte diese beiden Schritte probieren, beides in der Datei Kore/Backends/OSX/Sources/Kore/BasicOpenGLView.mm, Funktion basicPixelFormat
1) Die Variable aa von 1 auf 0 setzen
2) Die beiden Einträge (NSOpenGLPixelFormatAttribute)24 in 16 oder 32 ändern.
Gab es bei anderen Übungen seit Übung 5 auch Depth-Buffer-Probleme?
Re: Depth Buffering
Die Änderungen haben leider beide nichts bewirkt.
Ich meine mich erinnern zu können das ich bei einer vorherigen Übung ähnliche Probleme hatte, da habe ich dann in einem Shader was geändert (bzw. von .frag Shader was in den .vert Shader kopiert oder umgekehrt) und dann gings. Weiß aber leider nicht mehr bei welcher Übung und was genau ich geändert habe ...
Ich meine mich erinnern zu können das ich bei einer vorherigen Übung ähnliche Probleme hatte, da habe ich dann in einem Shader was geändert (bzw. von .frag Shader was in den .vert Shader kopiert oder umgekehrt) und dann gings. Weiß aber leider nicht mehr bei welcher Übung und was genau ich geändert habe ...
Re: Depth Buffering
Wir sind immer noch mit dem Latein am Ende und überlegen woran es liegen könnte, es gab aber einen Hinweis auf einen falschen Depth Clear im Übungscode der unter DirectX dazu geführt hat daß nichts gezeichnet wurde, vielleicht hängt das zusammen. Dafür müsstest Du einmal die Übung neu ziehen und ausprobieren. Wir rätseln derweil weiter.
Re: Depth Buffering
Am falschen Depth Clear liegt es offensichtlich auch nicht, habe ich gerade ausprobiert.
Ich musste in Übung 6 die lightDistance-Berechnung verschieben, da war auch ein Kommentar in einem Shader: "// Distance between the light and the current point. For the DirectX backend, we need to compute this in the vertex shader, if not, it will get a wrong value" - vielleicht hängt das mit dem Problem zusammen?
Ich musste in Übung 6 die lightDistance-Berechnung verschieben, da war auch ein Kommentar in einem Shader: "// Distance between the light and the current point. For the DirectX backend, we need to compute this in the vertex shader, if not, it will get a wrong value" - vielleicht hängt das mit dem Problem zusammen?
Re: Depth Buffering
Das sollte eigentlich nicht damit zusammenhängen. Was mir noch einfällt:
* Du könntest im Debugger anschauen ob die Zeilen in denen der Z-Buffer-Test am Ende der init()-Funktion eingeschaltet wird wirklich ausgeführt werden.
* Unter https://developer.apple.com/library/con ... flows.html gibt es eine kleine Anleitung zum OpenGL-Debugging unter MacOS, vielleicht taucht da etwas auf.
Wie gesagt, wir haben leider noch keinen Mac gefunden auf dem wir es reproduzieren können zum Fixen. Ist das ein Laptop? Vielleicht können wir am Samstag zusammen einen Blick draufwerfen falls Du da bist.
* Du könntest im Debugger anschauen ob die Zeilen in denen der Z-Buffer-Test am Ende der init()-Funktion eingeschaltet wird wirklich ausgeführt werden.
* Unter https://developer.apple.com/library/con ... flows.html gibt es eine kleine Anleitung zum OpenGL-Debugging unter MacOS, vielleicht taucht da etwas auf.
Wie gesagt, wir haben leider noch keinen Mac gefunden auf dem wir es reproduzieren können zum Fixen. Ist das ein Laptop? Vielleicht können wir am Samstag zusammen einen Blick draufwerfen falls Du da bist.
-
- Endlosschleifenbastler
- Beiträge: 179
- Registriert: 15. Apr 2015 18:24
Re: Depth Buffering
Wenn ich zu
die Zeile
hinzufüge, funktionierts.
Das stand für eine vergangene Aufgabe glaub ich schonmal hier im Forum, drum hab ichs ausprobiert.
Code: Alles auswählen
Graphics::setRenderState(DepthTest, true);
Graphics::setRenderState(DepthTestCompare, ZCompareLess);
Code: Alles auswählen
Graphics::setRenderState(DepthWrite, true);
Das stand für eine vergangene Aufgabe glaub ich schonmal hier im Forum, drum hab ichs ausprobiert.
Re: Depth Buffering
Ja, das macht Sinn. Danke! Hatte leider den anderen Thread nicht mehr auf dem Schirm, sonst wäre ich vielleicht eher drauf gekommen. Ich füge die Zeile in den Übungen dazu.