Minecraft Voxlementary [RTX Shader*]

Quaeft

Serverteam
Developer
2 Dez 2015
878
g6c0s1i4reb71.png

Voxlementary Shaders has Coloured Light Without the need for RTX! - URL: reddit.com/r/Optifine/...


Voxlementary

Guten Tag werte Spieler,

heute will ich euch ein Shader vorstellen, den ich erst kürzlich entdeckt habe und in meinen Augen mehr Aufmerksamkeit erfordert!

Im Grunde ist Voxlementary eine Erweiterung eines Complementary des beliebten BSL Shaders, erstellt von dem Spieler gri573.
Der Name Voxlementary deutet hier auf die für das Projekt benötigte Voxelisation, also Lichtberechnung hin. Unter Oberflächenvoxelisierung versteht man in diesem Fall das Verfahren der dreidimensionale Wegberechnung von OpenGL. Dieses Verfahren wird in allen Shadern verwendet und erfüllt die eigentliche Funktion für die Lichtberechnung, die als Effekt den Schatten hergibt, da wo kein/wenig Licht ankommt.


Die folgenden Punkte erklären schriftlich, welche bestimmte Renderfunktionen den Voxlementary Shader so besonders machen.




Shadow Mapping

shadow_mapping_theory.png

Shadow Mapping - URL:
LearnOpenGL.com
Das Shadow Mapping ist die Grundvorraussetzung für jeden Shader. Mit dem Verfahren wird eine Shadow Map für jede Lichtquelle erstellt.
Zur Generierung einer Shadow Map wird die Szene aus der Sicht der Lichtquelle gerendert, wobei für jedes Pixel nur der Tiefenwert gespeichert wird.
Eine gewöhnliche Shadow Map speichert in diesem Sinne die Distanz zum nächsten Block in Richtung des Lichtstrahls. Punkte entlang dieses Lichtstrahls können durch den Vergleich des Tiefenwertes mit der gespeicherten Tiefe in den verschatteten oder beleuchteten Bereich eingeordnet werden.
Auf diese Weise kann ein Pixel beim Rendern aus Sicht der Hauptkamera durch Rückprojektion in die Sicht der Lichtquelle auf Verschattung untersucht werden.
Es wird dabei nur zwischen totaler Verschattung und direkter Beleuchtung unterschieden. Es ist nicht möglich, mit einer einzelnen Shadow Map den Effekt von teilweiser Lichtdurchlässigkeit durch mehrere Schichten, etwa durch
Transparente Blöcke oder sonstigen, zu simulieren.




Transmittance Shadow Mapping

Das Transmittance Verfahren des Shadow Mapping fokussiert sich auf die Darstellung von teilweiser Lichtdurchlässigkeit. Um eine realistische Lichtabsorbation von teilweise lichtdurchlässigen Materialien, wie etwa gefärbte Glasblöcke, zu simulieren, werden entlang eines Lichtstrahls die durchdrungenen Schichten gezählt und ausgewertet. (Diese Schichten werden bei Shadern anhand einer Konstante für jeden Block angegeben, da es von Mojang aus keine Schichten innerhalb von Blöcken gibt.)
Dieses Verfahren wird bei den meisten Minecraft Shader auch in einfacher Form verwendet, jedoch oft ohne Farb-Variablen, welches wiederum immer zu einem grauen Schatten resultiert. Das ist bei Voxlementary nicht der Fall, wie man auf dem folgendem Bild erkennen kann.


IYk6t9W.png




Erweitertes Reflextive Shadow Mapping

Die letzte für mich wichtige Eigenschaft dieses Shaders beruht sich auf das Reflextive Shadow Mapping.
Zur Generierung einer Reflective Shadow Map wird die Szene erneut aus Sicht der Lichtquelle gerendert.
Eine Reflective Shadow Map speichert für jeden Pixel zusätzlich zur Tiefe die Weltposition des beleuchteten Oberflächenpunktes, die Zusammenmischung aller durchquerten Farbwerte der Geraden Tiefe und den dazu gehörenden Reflektierten Strahlungsfluss. Mit diesen Werten wird dann für jeden Pixel eine indirekte Lichtquelle erstellt, die man als Reflektion wahrnimmt.
Da diese indirekte Lichtquelle aber auch leuchtet, kann es je nach Zusammenstellung der Werte auch passieren, dass sich die erste Reflektion auf eine Zweite aus einem anderem Winkel auswirkt.


pJlu6yF.png
Auf dem Screenshot erkennt man, dass sich die Reflektion auf dem Boden auch erneut an einer glatten Quarzwand wiederfindet. Theoretisch könnte das auch 3 - 4 mal reflektieren, jedoch nur unter den richtigen Konditionen.




Voraussetzungen

Dieser Shader verbraucht sehr viele Ressourcen! Für den vollen Spielspaß empfehle ich RDNA2 oder RTX 20-Serie Grafikkarten oder besser.
Beachte: Auch Grafikkarten ohne Echtzeit-Raytracing funktionieren. Auf Dauer nicht so Lag-frei, aber für Screenshots reicht es.
Minecraft Version 1.17.1
Downloads :
Fabric Loader 0.7.4 oder besser - [Hier]
Fabric (API) 0.37.0 oder besser - [Hier]
Optifine G9 preview oder besser - [Hier]
OptiFabric v1.11.18 oder besser - [Hier]
Voxlementary - [Hier]




Installation

1. Fabric mit Hilfe des Fabric Loader installieren.
jExZ4I8.png


2. Minecraft Launcher öffnen und fabric-loader-1.17.1 unten links auswählen und das Spiel starten.
3. Nach erfolgreichem Start das Spiel wieder schließen.
4. In den .minecraft-Ordner navigieren.
5. In den mods-Ordner navigieren. Alte Mods aus früheren Versionen dürfen nicht mehr in dem Ordner sein!
5. Folgende Dateien in den mods-Ordner packen: fabric-api-xxx.jar , Optifine_1.17.1_xxx.jar , optifabric-1.xx.xx.jar
6. In den shaderpacks-Ordner die Voxlementary.zip einfügen.
7. Spiel starten, Shader in den Optionen auswählen und bei Bedarf Shader-Optionen anpassen.





nRv9mQG.png

hpNy0LA.png

lROahOi.png
Credits

GitHub - gri573
Reddit - r/Optifine
LearnOpenGL - Shadow Mapping
Universität Koblenz - Landau - Vergleich von Voxelisierungsstrategien


* Grundsätzlich ist keine RTX Grafikkarte dafür notwendig. RTX ist die von NVIDIA entwickelte Technologie, die darauf ausgelegt ist, Raytracing in Real-Time berechnen zu können.
Mit Raytracing bezeichnet man mehrere Erweiterungen des Algorithmus zur Verdeckungsberechnung, die den weiteren Weg von Strahlen nach dem Auftreffen auf Oberflächen berechnen.
 
Das schaut ja mega aus. Aber shader gehen mit Optifine aktuell noch nicht oder? Solang es die pre version ist?
 
Hallo,
es wäre ein bisschen dumm meinerseits eine Installationsanleitung zu machen, wenn Shader in der Pre-Version nicht gehen würden. :p
Sie gehen wie gewohnt.

Gruß,
Quaeft



also, bei mir geht aktuell kein shader ☹️☹️☹️ Der wird in Mc zwar angezeigt aber ich kann den Button nicht anklicken
 
also, bei mir geht aktuell kein shader ☹☹☹ Der wird in Mc zwar angezeigt aber ich kann den Button nicht anklicken
Ich nehme an, du spielst in der 1.17, denn nur dort gibt es aktuell Pre Versionen.
Dass du den Button nicht anklicken kannst, liegt daran, dass du eine ältere Pre Version installiert hast. Lad dir einfach mal die neuste 1.17(.1) Pre Version herunter, da geht das bereits.
 

Benutzer, die dieses Thema gerade lesen

ONLINE 15 Spieler