Raytracing Workshop

"Schreib mal einen Kursus für die ATARI-Inside! Aber möglichst einen interessanteren, als man ihn in anderen Computermagazinen zu lesen bekam / bekommt." Diesen Satz bekomme ich mindestens zweimal in der Woche von meinem Chefredakteur zu hören. Auf die Frage: "Zu welchem Thema denn?", erhalte ich dann immer die äußerst befriedigende Antwort: "Weiß nicht, denk Dir was aus!" Einen Workshop? Gab es doch schon alles: von DTP über 3D- Grafikprogrammierung bis hin zum Assembler-Kurs. Weil ich natürlich selbst fleißiger Leser und dieser Kurse schon überdrüssig bin - um es nicht deutlicher zu sagen - wollte ich nun wirklich nicht mit sinnlosen Kurswiederholungen nerven. Also irgendwas aus meinem Lieblingsfach Computergrafik? Nach stundenlangem Durchblättern diverser Computerzeitschriften merkte ich, dass tatsächlich ein Thema ziemlich stiefmütterlich behandelt wurde:
das Raytracing!

Da ich bis vor kurzem jedoch nur mit Rendersoftware zu tun hatte (dazu später mehr), musste auch ich mich erst in das Raytracing einarbeiten. Und da fingen die Probleme bereits an. Man hat zwar schon viel über Raytracing gehört, aber welche Software ist die Richtige? Kann ich den Lesern Oberhaupt zumuten, eine teure Software zu kaufen? So machte ich mich schlau und entdeckte eine, meiner Meinung nach, hervorragende Lösung. In Compuserve, einem weltweiten Computernetz, fand ich in der Grafik/Raytracing Area den Persistance of vision Raytracer, kurz POV. Er ist nicht nur Freeware, sondern enthält auch eine komplette Dokumentation auf Englisch! Für Programmierer liegt sogar der Sourcecode in C bei. Einziges Manko: POV wird über eine Scriptsprache programmiert. Es gibt somit keine grafische Benutzeroberfläche. Jetzt werden sicherlich schon einige von Ihnen fast das Heulen kriegen und versucht sein, schnell weiterzublättern, doch halt:
Erstens ist die Scriptsprache recht einfach zu erlernen (ich als "nur" Basicprogrammierer darf das sagen) und zweitens bietet sie viel mehr Möglichkeiten als ein in seinen Funktionen beschränkter Grafikeditor. Damit Sie nun Zeit haben, POV zu besorgen, wollen wir nicht gleich mit der Programmiererei beginnen, sondern lediglich ein paar Grundlagen besprechen.
Die Theorie des Raytracing und erste Programmbeispiele gibt es dann ab der nächsten Ausgabe.
Der Kursus umfasst einschließlich dieser Einführung fünf Teile. Im Zuge dieses Workshops starten wir auch einen Wettbewerb. Wer uns die schönste eigene ! Raytracing-Grafik zuschickt, kann sich mit dieser auf eine der nächsten Titelseiten der ATARI-Inside ein Denkmal setzen. Aber genug des Schwafelns, kommen wir zur Sache:
Neben dem Raytracing gibt es noch zwei weitere allgemein bekannte Methoden, das Rendering und das Radiosity-Verfahren. Alle drei Methoden verfolgen die Absicht, die Natur und deren Objekte so realistisch wie möglich vom Computer berechnen und darstellen zu lassen. Dies gelingt allen dreien nicht 100 %ig. Die Ergebnisse können von Verfahren zu Verfahren recht unterschiedlich ausfallen und die Objekte werden als 3-dimensionale Modelle kreiert und in einem virtuellen Raum plaziert. Jedes Objekt bekommt bestimmte Eigenschaften wie z.B. Oberflächenstruktur, Farbe etc. zugewiesen. Außerdem kann man Kameras und Lichter installieren. Beim Rendering wird mit Objekten gearbeitet, die aus vielen kleinen Flächen (Polygonen) zusammengesetzt sind. Ein Nachteil ist dabei schon genannt, wenn man die Objekte extrem vergrößert (also mit der Kamera heranfährt), sieht man das sie aus vielen kleinen Einzelteilen. Außerdem hat das Rendering den Nachteil, dass Schatten, Oberflächenstrukturen und durchsichtige Körper nur schwer oder gar nicht dargestellt werden können.
Das Radiosity-Verfahren liefert die natürlichsten Bilder, braucht aber auch am meisten Rechnerkapazitäten. Jeder Punkt eines Objekts bekommt einen bestimmten Energiewert zugewiesen. Da die Strahlen von den Objekten ausgehen, ist eine Berechnung sehr zeit- und rechenintensiv. Das Ergebnis des Radiosity kann sich sehen lassen. Die Bilder wirken sehr natürlich und haben nicht so harte Kanten wie beim Raytracing. Da es z. Z. aber keine erschwinglichen und schnellen Radiosity-Programme für ATARls oder PCs gibt, hat sich das Thema schon erledigt. Bleibt nur noch der goldene Mittelweg. Besser als das Rendering aber nicht so perfekt wie Radiosity:

Das Raytracing:
Hier gehen die Lichtstrahlen nicht vom Objekt aus, sondern vom einzelnen Bildschirmpunkt. Die Rechenzeit wird dadurch erheblich verkürzt, da nur noch die Punkte, die wirklich gesehen werden können, berechnet werden müssen. Wie genau das alles funktioniert, wie POV programmiert wird und welche Besonderheiten POV bietet, erklären wir dann in der nächsten Ausgabe. Übrigens liegen POV eine Menge Beispielsourcen bei. Mit einer entsprechenden Shell lassen sie sich sehr komfortabel berechnen. Die Shell sollte ebenfalls in Mailboxen zu finden sein und den PD-Paketen zu POV beiliegen. Sie ist ein unverzichtbares Hilfsmittel. Als kleinen Appetitanreger sollten Sie sich einmal die Anzeigengrafik links oben auf Seite 65 anschauen, sie wurde mit POV berechnet!

Themen:

  1. Funktionsweise von Raytracing. Bedienung von POV, erste Beispiel
  2. weitere Grundformen
  3. Oberflächenstrukturen, Materialeigenschaften
  4. Spezialformen


Aus: Atari Inside sh / 1994, Seite 64

Links

Copyright-Bestimmungen: siehe Über diese Seite