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!
So, nach langer Funkstille mal wieder ein paar Neuerungen:
Rendering Pipeline
Die Rendering Pipeline nähert sich ihrer Fertigstellung. Das Post-Processing-Framework wurde inzwischen für alle Shader verallgemeinert, so dass jeder Shader die Möglichkeit hat, "temporäre" sowie "permanente" Render Targets zu erstellen. Dies ermöglicht zum einen weiterhin die Implementierung von Effekten wie Depth Blur und Glow in einer einzigen FX-Datei, zum anderen eröffnet es die Möglichkeit, im Pre-Processing-Schritt zusätzliche "permanente" Texturen anzulegen, z.B. für Ambient Occlusion, die den Ausführungszeitraum der Shader überdauern, und auf welche dann von jedem Objekt in der Szene zugegriffen werden kann. Dieses System ist auf den kompletten Rendering-Prozess ausgeweitet worden, so dass alle Render Targets bis auf den Back-Buffer nun von den Shadern aus kontrolliert und manipuliert werden können. Dadurch ist z.B. mit wenig Mehraufwand auch Deferred Rendering möglich, außerdem lässt sich HDR Lighting per Shader implementieren. Bei Fertigstellung werde ich auf meine Website möglicherweise nochmal auf weitere technische Aspekte eingehen.
Landschaft
Neben der Rendering Pipeline habe ich mich auch wieder einmal mit Terrain Rendering beschäftigt. Der Ansatz, der unten zu sehen ist, basiert im Grunde auf einem Quadtree. Das Terrain besteht aus einem Patch, welcher in vier weitere unterteilt wird, diese werden wieder unterteilt, und so weiter. Die Unterteilungstiefe ist nicht beschränkt, allerdings macht es natürlich bei einer begrenzten Auflösung der Heightmap nur bis zu einer bestimmten Tiefe Sinn, weiter zu unterteilen. Näheres dazu findet sich bereits auf meiner Website.
Momentan bin ich dabei, Scene Management zu implementieren. Außerdem habe ich einen einfachen Ansatz zur Überwindung der großen float Präzisionslimits bei größeren Entfernungen implementiert, Näheres dazu wenn ich diesen ausführlich getestet habe.
Apropos Demo. Hab mir grad ueberlegt, ob man die Engine nicht fuer eine richtige Demo benutzen koennte bzw. darf. Z.B. die naechste Dusmania Invitation oder irgendwas zur Breakpoint 2009. f'`8k