Unterschied Ray Casting / Ray Tracing / Path Tracing etc.

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
Benutzeravatar
Krishty
Establishment
Beiträge: 8261
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Unterschied Ray Casting / Ray Tracing / Path Tracing etc.

Beitrag 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.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Schrompf
Moderator
Beiträge: 4864
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

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

Beitrag von Schrompf »

Beitragen kann ich nix, aber ich sage artig Danke für das Häppchen Wissen zum Abend :-)
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Krishty
Establishment
Beiträge: 8261
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

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

Beitrag von Krishty »

Cat sagt gerade, dass ich immernoch alles durcheinanderbringe – also bedank dich nicht zu früh :(
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

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

Beitrag von Artificial Mind »

Noch ein Buzzword: Ray _Marching_ :)
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

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

Beitrag 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.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

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

Beitrag 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. ;)
Benutzeravatar
Jonathan
Establishment
Beiträge: 2380
Registriert: 04.08.2004, 20:06
Kontaktdaten:

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

Beitrag 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
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Antworten