Was ist qray?
QRay ist ein Raytracing-Programm für Linux/X/Qt, geschrieben in C++.
Diese Dokumentation bezieht sich auf die Entwicklerversion im Oktober
2003.
Funktionsweise
QRay ist objektorientiert programmiert und enthält drei grundlegende
Objekte:
- QRayObject, eine begrenzte oder unbegrenzte Ebene im Raum,
also z.B. ein Parallelogramm. Alle von QRay dargestellten Körper werden
aus diesen Objekten zusammengesetzt.
- QRayLight, eine punktförmige Lichtquelle von beliebiger Farbe
und Intensität.
- QRayView, eine "Kamera", die das auf dem Bildschirm
dargestellte Bild aufnimmt.
Es werden beim heutigen Entwicklungsstand folgende Objekte unterstützt:
- QRayPlain, unbegrenzte Ebene
- QRayRhomboid, Parallelogramm
- QRayRhomboid3D, "raumliches Parallelogramm", z.B. Quader;
besteht aus 4 QRayRhomboid-Objekten
Bei der Bildberechnung werden nicht die Lichtstrahlen der Lichtquelle(n)
verfolgt, sondern "Blicke", die von der Kamera aus in einem bestimmten
Winkel den Raum durchqueren, bis sie auf ein QRayObject treffen
(Schnittpunktberechnung mit Matritzen) berechnet. Dann wird der Farbwert
und die Helligkeit, die dieser Schnittpunkt zwischen "Blick" und Objekt
von der Kamera aus gesehen hat, berechnet.
Der Farbwert hängt ab von
- Farbe des Objekts
- Lichtfarbe
Die Helligkeit hängt ab von
- Entfernung Lichtquelle - Objekt
- Entfernung Objekt - Kamera
- Intensität der Lichtquelle
- Einfallwinkel des Lichts und des "Blickes"
Die gesamte Berechnung erfolgt vektoriell, z.B. unter Verwendung des
Kreuzprodukts zur Orthogonalenfindung über einer Ebene.
Die Eigenschaften von Lichtquelle und Kamera sind über ein Dialogfenster
einstellbar.
Im Quelltext können leicht weitere Objekte und Lichtquellen, z.B. zur
Demonstration additiver Farbmischung, hinzugefügt werden.
Screenshots


Ausblick
Mögliche Weiterentwicklungen sehe ich in der Darstellung von gekrümmten
Oberflächen (z.B. Kugeln), in Spiegeleffekten und in der Generierung von
Landschaften (evtl. mit Fraktalen) unter Einbeziehung von Texturen für
die Oberflächen der Objekte.
Eine Entwickler-Dokumentation können
Sie im PDF-Format herunterladen.
Natürlich gibt es auch QRay selbst zum Download.
Hier geht's zum Autor dieses
Programms.
|