Seite 1 von 1

Unterschied Ray Casting / Ray Tracing / Path Tracing etc.

Verfasst: 06.01.2013, 19:44
von Krishty
Weil ich gerade verwirrt war, was was ist und warum was anders als das andere ist … danke an Cat für die Erklärungen:
  • Ray Tracing lässt zu, dass ein Strahl bei einer Kollision in mehrere Richtungen reflektiert wird (also, dass eine Baumstruktur entsteht). Das entspricht u.a. matten Spiegelungen; der Rechenaufwand explodiert aber schnell.
     
  • Path Tracing ist ein Spezialfall davon, der bei Kollisionen nur die Reflektion der Strahlen in eine Richtung zulässt, was den Rechenaufwand senkt. Dabei wird unterschieden, ob man stochastisch vorgeht oder nicht:
    • Keine Stochastik, also perfekte Spiegelungen und harte Schatten, sind Whitted-style Ray Tracing.
    • Stochastisch wird es auch Monte Carlo Ray Tracing genannt und erlaubt gleiche Effekte wie Ray Tracing, nur mit mehr Rauschen wegen deutlich weniger Strahlen.
  • Ray Casting ist ein weiterer Speziallfall, bei dem es keine Sekundärstrahlen gibt; d.h., die Strahlen werden nur bis zur ersten Kollision verfolgt.
Wer noch was nachzutragen oder zu korrigieren hat, ist hier dazu eingeladen.

Re: Unterschied Ray Casting / Ray Tracing / Path Tracing etc

Verfasst: 06.01.2013, 20:01
von Schrompf
Beitragen kann ich nix, aber ich sage artig Danke für das Häppchen Wissen zum Abend :-)

Re: Unterschied Ray Casting / Ray Tracing / Path Tracing etc

Verfasst: 06.01.2013, 20:02
von Krishty
Cat sagt gerade, dass ich immernoch alles durcheinanderbringe – also bedank dich nicht zu früh :(

Re: Unterschied Ray Casting / Ray Tracing / Path Tracing etc

Verfasst: 06.01.2013, 20:23
von Artificial Mind
Noch ein Buzzword: Ray _Marching_ :)

Re: Unterschied Ray Casting / Ray Tracing / Path Tracing etc

Verfasst: 06.01.2013, 20:38
von CodingCat
Ja, die Ordnung ist etwas durcheinander.
  • Ray Tracing ist in der Regel einfach der Oberbegriff für alle Algorithmen, die Sichtbarkeits-/Verdeckungsberechnung mit Strahlen durchführen.
    • Ray Casting bezeichnet im Zusammenhang mit Ray Tracing meist den einfachsten Fall, in dem pro Bildpunkt ein Primärstrahl losgeschickt wird. Wird ein Schnittpunkt mit der Szene gefunden, so ist das geschnittene Objekt an diesem Bildpunkt zu sehen. Weitere Strahlen (Sekundärstrahlen) für Schatten, Reflexionen etc. werden nicht losgeschickt.
    • Whitted(-style) Ray Tracing erweitert dieses Vorgehen um die Verfolgung von bestimmten Sekundärstrahlen, in der Regel Schatten-, Reflexions- und Transmissionstrahlen (Refraktionsstrahlen). Bei den letzteren beiden Strahlenklassen bietet es sich an, das Verfahren rekursiv fortzusetzen, um auch mehrfache Reflexionen und Brechungen darstellen zu können. Pro Schnittpunkt wird also ein Strahl in die Reflexionsrichtung, einer in die Transmissionsrichtung (beeinflusst durch Brechzahl) und einer für jede Lichtrichtung losgeschickt. Damit erhält man schonmal perfekte Reflexion, Brechung und harte Schatten.
    • Distributed/Stochastic/Monte Carlo Ray Tracing erweitert das vorangehende Vorgehen um eine Zufallskomponente. Ziel ist es, an jedem Schnittpunkt in möglichst alle wichtigen Lichteinfallsrichtungen Strahlen loszuschicken, um einen möglichst genauen Wert für das an diesem Punkt in Richtung des Betrachters gestreute Licht zu erhalten. Um nicht allzu viele Strahlen pro Schnittpunkt losschicken zu müssen, werden die Strahlrichtungen zufällig erzeugt. Damit handelt man sich das für stochastisches Ray Tracing typische Rauschen ein. Führt man dieses Verfahren analog zum Whitted-style Ray Tracing rekursiv durch, erhält man ggf. den von Krishty angesprochenen Strahlenbaum.

      Gleichverteilung bei der Strahlenerzeugung wäre denkbar, würde jedoch noch immer sehr viele Strahlen erforderlich machen. Deshalb wird viel Arbeit in das Auffinden sinnvoller Wahrscheinlichkeitsverteilungen investiert, die die Erzeugung von Strahlen in wichtige Lichteinfallsrichtungen wahrscheinlicher machen (Importance Sampling). Die Schwierigkeit ist hier, den Erwartungswert dadurch nicht zu verfälschen. Mathematischeres überlasse ich eXile. ;)

      Auf alle Fälle lässt sich mit dieser stochastischen Vorgehensweise ein sehr großer Anteil optischer Phänomene darstellen, darunter indirekte Beleuchtung, matte Reflexion und weiche Schatten.
      • Path Tracing ist ein Spezialfall stochastischen Ray Tracings, bei dem nur ein zufällig ausgewählter Strahl pro Schnittpunkt weiter verfolgt wird. Auf diese Weise fällt der Strahlenbaum zu einer Liste von Pfaden zusammen. Die Berechnungskomplexität ist so wesentlich geringer, dafür werden mehrere Pfade pro Bildpunkt erforderlich, die entsprechend der gewählten Wahrscheinlichkeitsverteilung(en) am Ende korrekt gewichtet werden müssen. Schön an diesem Vorgehen ist, dass verschiedene Pfade nicht zwangsläufig zu demselben Zeitpunkt oder in dieselbe Richtung gestartet werden müssen. So lassen sich auch Kameraphänomene wie Tiefen- und Bewegungsunschärfe ganz natürlich umsetzen.

Re: Unterschied Ray Casting / Ray Tracing / Path Tracing etc

Verfasst: 07.01.2013, 03:38
von eXile
Da ich hier sehr müde bin und gerade erst den Thread entdeckt habe, gebe ich einfach CodingCat für seinen Post meinen Computergraphik-Segen und möchte natürlich als Spaßfakt noch anhängen, dass in Papern die Autoren sämtliche Begriffe nach ihrem belieben kreuz- und quer durcheinander würfeln. ;)

Re: Unterschied Ray Casting / Ray Tracing / Path Tracing etc

Verfasst: 12.01.2013, 13:59
von Jonathan
Und Ray-Marching ist, wenn man den Strahl durch ein Volumen verfolgt und nicht am Schnittpunkt sondern an mehreren Stellen im Volumen sampelt? Quasi so:
http://www.daimi.au.dk/%7Etrier/wp-cont ... ration.jpg