Skip to content
 

Willkommen bei CCTzur Galerie

CCTeam - Home | Daniel Grün

Projekt: QRay


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.

Zuletzt geändert am 2.5.2006
Von diesem Server wird auf zahlreiche Seiten anderer Anbieter verwiesen, für die wir nicht verantwortlich sind und nicht haften.