Beschreibung
Dieses Programm stellt einen mathematisch vollkommen implementierten RayTracer dar. Somit sind Berechnungen von Licht, Schatten, Lichtbrechung und anderen grafischen Spielereien kein Problem mehr.
Soweit ist die Planung, die Realität sieht noch etwas anders aus, da dieser Raytracer nun schon der mittlerweile dritte komplett neue Versuch ist.
Beim ersten Code hat es am mathematischen Wissen gefehlt, dieser hatte also keine Zukunft.
Der zweite hat schon gut angefangen (Schatten, Lichtberechnung), hatte allerdings noch einige kleine Fehlerchen (Fisheye-Effekt, manchmal Probleme mit den Schatten) die durch den total versauten Spaghetticode nicht mehr zu erkennen waren.
Also fing ich diesen neuen an, dem ich doch recht gute Chancen zuspreche.
Nach langer Zeit der Planung begann ich schließlich dieses Projekt.
Näheres siehe Features und Screenshots.
Wer die Worklog sehen möchte, der gehe einfach mal auf DAS HIER
Features
Implementiert:
- Berechnung von Licht
- UV Texturen und Farbverläufe (Vertexcolor)
- Berechnung physikalisch richtiger Bilder
- Entities, Surfaces, Vertexes
- Wireframe-Darstellung
- Drehen der Entities um alle 3 Achsen
- Erstellen von einigen Objekten (Quader, Sprites)
- Einfache Schatten von mehreren Lichtquellen
- Alphablending
- rekursive Schattenberechnung (z.B. durch halbtransparente Sprites hindurch)
- weiche Schatten (Softshading via Stufenabgleich)
- Mehrere Kameras, rekursive Berechnung des Lichtes auf einstellbare Tiefe (Standard 5)
- Shading, abhängig vom Winkel zwischen Lichtquelle und Normale des Dreiecks
- Laden von .ray-Dateien
- Umwandlung .3ds zu .ray
Aktuell:
- Laden von Modellen |###15%______________|
Geplant:
- Berechnung perfekter Kugeln
- Bumpmapping
Liegt in weiter Ferne:
- Programm in Echtzeit lauffähig
Screenshots
BlitzTrace Alpha 0.21...
Wireframe-Modus von B...
BlitzTrace gerenderte...
BlitzTrace Schattenbe...
BlitzTrace Alpha 0.13
BlitzTrace Alpha 0.13...
Downloads
BlitzTrace Alpha 0.11, aktuelles, jedoch unschönes Beispiel
(960,25 KB)
|
Von StepTiger