Beschreibungen und Beispiele zum Raytracer POV-Ray von Friedrich A. Lohmüller
Gestaltung des Inneren von transparenten Körpern in POV-Ray
English English English
Italiano Italiano
Français français

Home
- POV-Ray Tutorial

  Inhaltsübersicht
  material, interior, media

  - Syntax material
      texture + interior
  - Window Glass
      + max_trace_level
  - Nebel - fog
  Media
  - Syntax Media
  - Media + Density Maps
  Atmospheric Media
    mit/ohne density map
  - Lichtkegel im Nebel
  Object Media
  Emitting Media
  - Lichtschwert
  - Kerzenflammen
  Scattering Media
  - Licht durch Fenster
  - Dampf, Rauch, Wolken
  Absorbing Media
  - Staubteufel
  Spezialprobleme mit Media
  - Skalieren von Media
  - Überlappende Media
                                             

Fensterglas und "max_trace_level"

Fensterglas ohne IOR: Als Fensterglas sollte man kein "echtes" Glas mit definiertem Brechungsindex ("ior") verwenden. Bei der Brechung an dünnen Schichten mit parallelen Flächen tritt lediglich eine kaum bemerkbare Parallelverschiebung der durchfallenden Lichtstrahlen auf. Dies läßt sich nur bei extrem dicken Glasscheiben und auch nur bei sehr flachem Betrachtungswinkeln bemerken - bei allen anderen "normalen" Glasscheiben für die Berechnung des "korrekten" Lichtweges mit Berücksichtigung der Brechung zu keinem sichtbaren Effekt. Daher sollte man für Fensterglas lediglich eine einfache transparente Glastextur ohne interior verwenden.

Refraktion an dicken Schichten
Refraktion an dünnen Schichten

Beispiel für eine einfache, schnelle Glastextur:
 
#declare Window_Glass =
texture{
  pigment{ rgbf<0.98,0.98,0.98,0.8>}
  finish { diffuse 0.1
           reflection 0.2
           specular 0.8
           roughness 0.0003
           phong 1
           phong_size 400}
  } // end of texture --------------

max_trace_level: Die Bedeutung des Schlüsselwortes "max_trace_level" erkennt man leicht bei folgendem Effekt: Bei der Verwendung von transparenten Texturen und Materialien kann man unerwartet "schwarz sehen" !
Bei einer Glasfläche berechnet der Raytracer den Durchgang durch 2 Grenzflächen. Bei 2 Scheiben hintereinander sind es bereits 4 Grenzflächen. Befinden sich an einer Stelle der Szene mehr als 2 Glasscheiben hintereinander, so wird POV-Ray in seiner Grundeinstellung (default value) nach der 5. Grenzfläche (also in der 3. Scheibe) aufhören den Sehstrahl weiterzuverfolgen, da im allgemeinen noch weiter dahinter liegende Flächen keinen wesentlichen Anteil an der Gesamthelligkeit haben. Entsprechendes gilt bei mehrfachen Reflektionen an spiegelnden Flächen. Die Schwelle ab der die Verfolgung des Sehstrahls eingestellt wird ist mit dem Schlüsselwort "max_trace_level" festgelegt. Dieser Wert beträgt in der Grundeinstellung (default value) 5, der Maximalwert ist 256.
Es gibt jedoch viele Fälle in denen das nicht reicht, dann treten an diesen Stellen graue oder manchmal sogar fast schwarze Flächen auf!

global_settings{ max_trace_level 5 }
global_settings{ max_trace_level 17 }

Abhilfe bei dunklen Flecken: Um diese dunklen Flecken zu verhindern sollte man in derartigen Fällen am Anfang des Textes der Szenenbeschreibung mit folgender Zeile das Maxtrace-Level erhöhen, z.B. durch:

global_settings{ max_trace_level 20 }

Achtung: Nicht übertreiben! Unnötig hoch sollte man diesen Wert jedoch nicht einstellen, da jede zusätzliche Grenzfläche eine weitere Strahlberechnung für jeden Punkt nach sich führt, sofern die bisherigen Flächen auch nur eine Spur durchsichtig waren! (Das rechte Bild oben benötigte eine ca. 4mal längere Rechenzeit als das linke!)
 
Testrechnungen im "QUICK"-Modus:
Sofern man zu Testzwecken die Renderauflösung auf z.B. "320x240, quick, mosaic" eingestellt hat sind Glasflächen nur als schwarze Flächen zu sehen! Transparenz oder Filter werden in diesem Modus nicht berechnet!

top

© Friedrich A. Lohmüller, 2014
www.f-lohmueller.de