Tanpohp

Tag: raytracer

Rayzor – Raytracer aus dem 5. Semester bei Prof. Dr. Tramberend

by on Jun.06, 2009, under Computer Graphics

In Coputergrafik II haben wir innerhalb einer Projektarbeit einen Raytracer geschrieben. Vor allem Anfangs hatte wir sehr stark mit Kleinigkeiten zu kämpfen, die meisten Fehler waren nicht so sehr inhaltlicher Natur, wie wir anfangs erwarteten, sondern viel mehr Vorzeichenfehler. Die sorgten teils für sehr merkwürdige Fehler: z.B Schatten auf Tischkanten, obwohl das schattenwerfende Objekt dahinter stand.
Aber schlussendlich ist ein verdammt geiles Programm daraus geworden. Anbei findet ihr einige Szenen, die wir über einen eigens dafür entwickelten XML-Editor eingeben konnten. Diese Bilder brauchten, obwohl sie nicht übermäßig groß sind, auf einem Dual-Core mehrere Minuten um berechnet zu werden. Obwohl wir alle Prozessoren benutzt haben, nahmen die Berechnungen doch einige Zeit in Anspruch. Allerdings sind hierzu 2 Dinge zu erwähnen: 1. für diese verhältnismäßig kleinen Szene mussten ca 8-13Mrd Vektoren erstellen und miteinander kombiniert werden und 2. der weit größte Teil unserer Berechnungen viel aufs Antialising und vor Allem aufs Diffuse Raytracing ab, welche ja von Natur aus je nach Umfang Multiplikatoren für den Aufwand sind.
Hier ein kleine Liste, welche Features von unserem Raytracer unterstützt werden: Primitive (Kugel, Quader,unendliche Ebene, Disc), Oberflächen (Farbe, Schachbrettmuster aus 2 Farben, Texturen), Effekte (harte/weiche Reflektion, harte/weiche Schatten, Phong-Model, Antialising, Refraktion, Tiefenunschärfe), Sonstiges (MultiCPU, XML-Editor, Szenenvorschau mit WPF)

Hier jetzt ein paar Renderings:

Reflektion, Refraktion und Texturemapping

Reflektion, Refraktion und Texturemapping

Auf den Kugeln sieht man die Reflektion und Refraktion der Umgebung. Die rechte Kugel stellt ein Texturemapping einer Earthmap auf eine Kugel dar. Der Boden besteht aus 2 Schichten: eine Plane auf die eine Teppichtextur gemappt wurde und einer flachen Glasbox darüber. Im Hintergrund sind einfache Planes mit Texturen eines Raumes. Der Fokus der Kamera liegt auf höher der 3 Kugeln, so des der Hintergrund verschwimmt.

Kugeln mit verschiedenen Reflektionskoeffizienten

Kugeln mit verschiedenen Reflektionskoeffizienten

5 Kugeln mit steigenden Reflektionskoeffizienten. Da die Szene nach oben nicht durch ein Skysphere/-box nach oben begrenzt ist, sieht der reflektierende Boden sehr dunkel und die Kugeln wirken als ob sie leuchten.

Rosen hinter verschienen Glassimulationen

Rosen hinter verschienen Glassimulationen

Eine Roser halb hinter Glas, wobei das Glas immer andere Eigenschaften zeigt. Mal werden die Refraktionsstrahlen stärker, mal schwächer gebrochen. Des weiteren werden die Anzahl der Strahlen variiert.

Comments Off on Rayzor – Raytracer aus dem 5. Semester bei Prof. Dr. Tramberend :, , , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...