einen Ray Tracing Algorithmus implementieren. Ich weiß allerdings nicht, wo ich dort genau anfange, beziehungsweise wo ich in OpenGL 1.1 genau dafür eingreife.
Wissen zu Funktionen, Vektoren, Matrizen und Grundlagen der Physik.
Als erstes brauchst du mathematische Grundstrukturen. Für eine Strahl eignet sich gut einen Vektor zu nehmen, also schreib dir eine Klasse dazu mit allen Rechenmöglichkeiten (Operatoren).
An dieser Stelle sinnvoll erstmal ein mathematisches Zeichenprogramm zu schreiben. Wo du folgende Geometrischen Formen erstellen kannst und auf bestimmte Bedingungen prüfen: Vektor, Punkt (= Ortsvektor), Kugel, Pyramide, Quader. Also beliebig erzeugen und dann automatisch berechnen Schnittpunkt z.B.: Vektor - Ebene, Ebene - Kugel, Vektor - Pyramide.. solche Dinge.
Danach das ganze abstrakter Gestalten mit n-dimensionalen Tupel Template Klassen. 2,3,4 Diemensionen reichen: z.B.:
C:
typedef Tupel3<int> Vektor3d_i;
typedef Tupel3<float> Vektor3d_f;
typedef Tupel3<double> Vektor3d_d;
Dann nimmst du deine Vektoren als Strahlen (Schau dir an wie sich die Vorstellung der Griechen an, wie das Auge funktioniert) und erstellst dir z.B. eine Kugel und berechnest alle nächsten Schnittpunkte.
Nun solltest du dir überlegen aus welchem Basis-Objekt all deine anderen Objekte bestehen sollen. Besser gesagt in welches Basis Objekt du jede mögliche Geometrische Form am besten zerlegen kannst / UND die einfach zu berechnen ist.
Nun solltest du z.B. ein Bild erzeugen können, welches je nach Helligkeit die Entfernung des Objekte darstellt (Schwarz-Weiß)
Nun poste hier einen neuen Beitrag und hol dir Lektüre zu Schatten und Beleuchtung.
Die Schatten sind ja ganz einfach deine Verlängerten Strahlen, welche das Objekt treffen (von der Lichtquelle aus).
Dann mach dir Gedanken zu Transparenz von Objekten, Texturen / verschiedenen Material Oberflächen -> Reflexion und Spiegelung
Es sollte noch gesagt werden, das bei aktueller Rechenleistung Raytracing sich weniger für echtzeit Rendering empfielt... da müsste man sehr viel mit vorberechneten Lichtmaps... hantieren.
Gruß