Einführung in die Beschreibungssprache des Raytracers POV-Ray       - Seite 11
von Friedrich A. Lohmüller
EnglishEnglish English
Italiano Italiano
Français français

Home
- POV-Ray Tutorials
 
  
POV-Ray Einführung
  INHALT  -  INDEX
 
  1. Arbeiten mit POV-Ray:
      "Insert Menu Add-on".
  2. Grundsätzliches zum
      Erstellen von Szenentexten.
      Räumliche Koordinaten,
      Zahlen und Vektoren
  3. Szenen-Aufbau
      Ein Grundbeispiel.
  4. Header einer Szene,
      #include-Dateien
      camera, light_source.
  5. Geometrische Grundobjekte
      sphere, box, cylinder,
      cone, torus, plane.
      und andere Körper
  6. Transformationen
      Streckung, Drehung,
      Verschiebung u. andere.
      CSG: union,
      difference, intersection.
  7. Farben und Oberflächen       texture, pigment, normal, finish
  8. #declare, #local, #macro,
      Platzhalter, flexible Objekte.
  9. #while Schleifen
      Grundbeispiele.
 10. #include, Include-Dateien.
      Wiederverwendbare Objekte.
>11. Rationelles Arbeiten,
      Geschwindigkeit, Flexibilität,
      modulares Arbeiten
      Anpassung v. 3.1 auf 3.5/3.6
      Anpassung v. 3.5/3.6 auf 3.7
      POV-Ray + Windows Vista.
 
  - Insert Menu Add-on
    & Download
                                       
Tipps für effizientes Arbeiten mit POV-Ray

Geschwindigkeitstipps:
Raytracing und fotorealistische Computergraphik wird wohl immer ein Kampf mit ungenügender Rechenleistung sein. Es lohnt schon deshalb nicht zu warten bis die Computer endlich "schnell genug" sind - sie werden es nie sein!!!! Man sollte sich bereits heute auf den langsamen und viel zu kleinen Computern Tricks und Kniffe angewöhnen, die Entwicklungs- und Render-Zeiten reduzieren. Wer diese Kniffe beherrscht ist auch auf den Supercomputern von morgen um ein vielfaches schneller bei guten Resultaten, als Leute ohne solches Know-how.
Einige beachtenswerte Grundsätze:

1. Ordnung halten! Modular arbeiten!
  • Auf übersichtliche Darstellung und Gliederung des Textes achten!
  • Mittels // KommentarZeilen mit kurzen prägnanten Stichworten einfügen.
  • Keine Bandwurmtexte für den Ausdruck auf Klopapier, aber auch nicht zuviel verschiedenartige Sachen in eine Zeile schreiben! Es ist sicherlich eine Sache von Erfahrung hier den optimalen Weg zu finden.
  • Größere Projekte sollten in möglichst klar abgegrenzte Teilobjekte gegliedert werden.
  • Mit "/*" und "*/" lassen sich zu Testzwecken alle anderen Teile ausblenden ("rauskommentieren"), wodurch sich in der Konstruktionsphase sehr viel Rechenzeit sparen läßt.
2. Flexibel bleiben!
  • Mehrfach vorkommende Teile, Größen, Texturen als Variable mit "#declare" vordefinieren. Dies erlaubt es auch in wichtigen Maßen / Teilen / Texturen flexibel zu bleiben.
  • Wichtig um die Proportionen / Einzelteile / Texturen nachträglich schnell aufeinander abzustimmen ohne jedesmal zu suchen, wo diese Sachen überall verwendet werden.
3. quick_color-Rendern:
  • Beim Konstruieren größerer Teile mit komplizierten Texturen zusätzliche leicht unterscheidbare "quick_color"s definieren. ProbeRendern in "quick_color"s erlaubt dann schnelles Überprüfen Stimmigkeit der Konstruktion, da sich die Teile dadurch deutlicher voneinander abheben, als mit den tatsächlichen Texturen.
4. Ausschnittsweises Rendern:
  • Oft sind Verkleinerungen wegen zu feinen Details nicht möglich.
    Beim genauen Testen von Texturen ist das Rendern in quick_colors nicht möglich.
    In solchen Fällen hilft es unter dem Menü "Render_settings" einen RenderAusschnitt einzustellen:
    " +sr100 +er200 +sc300 +ec350" stellt z.B. den Ausschnitt auf
    Zeile(R= row) Start: 100 Ende: 200 und
    Spalte(C= column) Start: 300, Ende: 350.
  • Ab POV-Ray Version 3.1 ist die Bildausschnitts-Auswahl in einen gerenderten Bild sogar auf die luxeriöseste Weise mittels "rubberband mode to select render region!" im Render-Fenster durch Markieren mit der Maus möglich! Dazu empfielt es sich das Bild in großer Auflösung im Mosaik-Modus einmal bis unten grob rechnen zu lassen und dann zu stoppen. Man wählt dann eine gleichgroße Auflösung mit höherer Qualitätsstufe zieht die Maus im grob gerenderten Bild von links oben nach rechts unten über den gewünschten Bereich und bestätigt die folgende Kontrollabfrage "Render Region" mit Klick auf "OK".
5. max_trace_level erhöhen:
  • Bei Verwendung von Glas empfiehlt es sich durch das Kommando "global_settings { max_trace_level 20}", die Strahlverfolgungstiefe auf 20 Brechungen/Reflexionen zu erhöhen um die Zahl der totgelaufenen Suchstrahlen (=schwarze Stellen in Glas- und Spiegelflächen) zu minimieren.
  • Ebenso bringt es einen großen Geschwindigkeitsgewinn, wenn man diesen Wert für Testrechnungen auf die Grundeinstellung (=default-value) 5 zurücksetzt, sofern nicht mit quick_colors ganz auf den Test der Lichtbrechung verzichtet werden kann.
6. Vorsicht Version 3.0 - Benutzer: "Halos" nicht zukunftssicher!
  • Bei POV-Ray Version 3.0 sollte das dort neue Feature "Halos" und "Atmosphere" wenn überhaupt, dann nur mit Vorsicht verwendet werden - Dieser Effekt wurde wie bereits angekündigt in POV-Ray Version 3.1 bereits völlig verändert! Alte Dateien mit diesem Effekt sind dann nicht mehr ohne dramatische Änderungen zu verwenden!
7. Anpassung von POV-Ray 3.1 Szenen-Dateien an POV-Ray Version 3.5/3.6:
      In der POV-Ray Version 3.5/3.6 haben sich einige kritische Features geändert, hier einige davon:
  • Kamera Angle wurde zu realistischen Werten geändert! - In 3.2 waren die Winkelwerte der Kameras irrealistisch groß - jetzt wurden sie an die Realität angepasst:
    Benutzen Sie etwa die Häfte des bisherigen Winkelwertes aus 3.1 Dateien!
     
  • Interessantes neues Feature:
    Anstatt die Seitenverhältnisse der Kamera durch Befehle wie "right x*4/3 up y" oder quadratisch: "right x up y " zu wechseln, kann man in POV-Ray 3.6/3.6 eine automatische Berechnung des Seitenverhätnisses einrichten, indem man schreibt:
    " right x*image_width/image_height"
     
  • Semicolon expected! - Nach einer Definition von Zahlen oder Vektorvariablen mittels declare oder local ist das Semikolon jetzt unerläßlich:
    Beispiele:
    #declare R = 0.25;
    #local Diameter = 2*Radius;

     
  • Geändertere Noise Generatoren - In 3.5/3.6 gibt es jetzt 3 verschiedene Noise-Generatoren. Grundeinstellung (default) für POV-Ray 3.6/3.6 ist jetzt "noise_generator 2". Das alte POV-Ray 3.1 nutzte nur "noise_generator 1". Dies kann in einigen turbulenten Texturen aus POV-Ray 3.1 bewirken, daß sie anders aussehen, wenn man sie in POV-Ray 3.6/3.6 rechnet. In diesem Fall können wir den alten Noise-Generator durch den Befehl
    global_settings { noise_generator 1 } wieder installieren
     
  • Gradient Muster wurden verändert:
    Bislang wurden Gradient-Muster für negative Werte jeweils an seiner Orientierung gespiegelt. Dies ist nicht mehr der Fall!
    Lösung: Benutzen Sie die Funktion abs(x) als Muster anstatt gradient x und entsprechend mit gradient y und gradient z.
     
  • Die Funktion log wurde bislang (fälschlicherweise!) für den naturürlichen Logarithmus benutzt, mit Version 3.5/3.6 ist dies der 10er-Logarithmus.
    Lösung: Ersetzen Sie "log" durch "ln".
     
8. Anpassung von POV-Ray 3.5/3.6 Szenen-Dateien an POV-Ray Version 3.7:
      In der POV-Ray Version 3.7 neu:
  • Gamma Korrektur sollte ausschließlich außerhalb der Szenendatei erfolgen.
    Eine strikte logische Trennung von "frontend" (user-interface, Parsing, command-line options und ini-Dateien etc.) und "backend" (Parsing und Rendern der Szenendatei) erfordert es, dass "assumed_gamma" nicht mehr in der Szenendatei auftauchen soll.
    Dies soll eine zukünftige Version mit voller Netzwerkfähigkeit vorbereiten.
    Der bisherige Textabschnitt einer Szenendatei:
         #version 3.5
         global_settings{ assumed_gamma 1 } // with display_gamma = 2.2
    sollte daher für POV-Ray 3.7 gestrichen bzw. herauskommentiert werden.

    Für Dateien, die sowohl mit POV-Ray 3.7 als auch mit 3.6 oder 3.5 korrekt funktionieren sollen,
    empfiehlt sich folgendes:
         #if( version < 3.7 ) global_settings{assumed_gamma 1.0} #end 
9. "Error-Terror" -- trotzdem: gute Laune nicht verlieren,
  • Auch wenn einen irgendwelche magische Fehlermeldungen nerven (Und wie die manchmal nerven!):
    Trotzdem cool bleiben!
    Was einen nicht umbringt, das macht einen stark! (So stark will ich doch gar nicht werden!-(
    Auch eine erfolgreiche Fehlersuche zu beherrschen ist ein Gewinn!
  • Oft liegt die Ursache einer Fehlermeldung bereits einige Zeilen vor der angegebenen Stelle. Beim Suchen nach Fehlern ist immer im Auge zu behalten, daß der Text von oben nach unten ausgeführt wird. So kann zum Beispiel eine vergessene Schlußklammer in der Deklaration eines Objektes mittels einer "union", noch Zeilen später, wenn das Objekt aufgerufen wird, einen "undeclared_identifier"-error erzeugen.
  • Und bitte nicht gleich auf den Fehler verfallen, nicht man selbst hätte etwas falsch gemacht, sondern natürlich sei das Programm derjenige, welcher ... . --- Das Programm haben die weltweit größten Asse der Computergraphik in jahrelanger Teamarbeit entwickelt. Daher ist es unwahrscheinlich, daß ausgerechnet ein blutiger Laie einen "Fehler" daran entdeckt. Es hilft also nichts, man muß leider bei sich selbst nach dem Fehler suchen !!!
  • Eine komplete Fehlermeldungsliste mit allen möglichen Ursachen zu schreiben werde ich mir verkneifen! Das Werk wäre vermutlich länger als die beste Beschreibung von POV-Rays positiven Möglichkeiten!
10. Benutzung von POV-Ray 3.6 und POV-Ray 3.7 unter Windows Vista ,
  • Man benötigt POV-Ray 3.6.2 (10.06.2009) um unter Windows Vista zu arbeiten ohne Probleme beim Rendern von Animationen zu bekommen! Dies ist ein Update von 3.6.1 angepasst um unter Vista und Vista64 Betriebssystemen zu arbeiten. Download hier: www.povray.org/download/.
    Neu Struktur bei 3.6.2:
    Die Programm-Dateien (bin) befinden sich nun in "C:\User\AppData\Roaming\POV-Ray\v3.6\bin\"
    während das Insert Menu, die Include-Dateien und die Beispielszenen (scenes) jetzt in "C:\User\Documents\POV-Ray\v3.6\" sind.
    Da POV-Ray 3.6 for Windows für Windows98/ME/XP entwickelt worden war, gibt es einige Problemchen mit Windows Vista!
    Speziel während Animationen muss POV-Ray in sein eigenes Verzeichnis Werte abspeichern können. Wenn das Programm dies versucht friert es plötzlich ein und steigt ziemlich übel aus, denn eine derartige Aktion ist innerhalb des Verzeichnisses "Programme" für Windows Vista kompatible Programme nicht gestattet.
    Hier nun wie ich das Programm auf meinen Computern unter Vista zum Laufen bekommen habe:
    Installation POV-Ray 3.6.1 oder 3.5 unter Vista:
    1. Installieren Sie das Programm POV-Ray nicht im Vrzeichnis "Programmequot;!
      Installieren Sie POV-Ray irgendwo anders, wie z.B. in "C:\POV-Ray3.6 ".
      (Verschieben Sie die Programmdateien nicht manuell! Ändern Sie das Installationsverzeichnis "installation directory" während des Installationsprozesses!)
    2. Nach der installation sucht man die POV-Ray-Binär-Datei
      "C:\POV-Ray3.6\bin\pvengine.exe".
      Rechtsklick auf das Symbol, Auswahl "Eigenschaften" .
      Klick auf die Karteikarte "Kompatibilität" und Klick auf Feld "Programm im Kompatibilitätsmodus ausführen:",
      Auswahl hier: "Windows 98/Windows Me"
      und hier etwas tiefer auswählen: "Visuelle Designs deaktivieren"
    3. Klick auf Karteikarte "Sicherheit" und Sicherstellen, dass "alle Benutzer" den "Vollzugriff" erhalten, indem man im Abschnitt "Berechtigung" die entsprechenden Änderungen einträgt.
  • Benutzung von POV-Ray 3.7:
    POV-Ray 3.7 ist für Benutzer mit Multicore/Multiprozessor-Systemen ein "Muss". Die Verwendung von multicore Prozessoren beschleunigt POV-Ray dramatisch:
    Die Geschwindigkeit von POV-Ray 3.7 ist nahezu proportional zur Anzahl der verwendeten Prozessor-Cores x Anzahl der Threads !!!

  • Anmerkung: Zur Installation der POV-Ray 3.7 benötigt man keine korrekt installierte Version von POV-Ray 3.6 !
  • Neue Verzeichnisstruktur in POV-Ray 3.7:
    Die Programmdateien sind nun in "C:\Programs\POV-Ray\v3.7\bin\"
    Die "Insert Menu"-Dateien sind nun in "C:\Users\Documents\POV-Ray\v3.7\Insert Menu\".
    Die Resolutions-ini-file "quickres.ini" und "povray.ini" mit all den Library_Path-Settings sind in "\v3.7\ini\".
    Und auch die originalen Beispielszenen (sample scenes) sind jetzt in "\v3.7\scenes\".
  • Kompatibilität: Normalerweise werden alle Dateien die unter Version 3.6 erstellt wurden auch unter 3.7 funktionieren. Einzig bei Radiosity-Szenen sind kleinere Anpassungen erforderlich (d.h. 'emission' ersetzt 'ambient').
    Umgekehrt: Die neuen Objekte in POV-Ray Version 3.7 aus den Include-Dateien 'shapes3.inc', 'meshmaker.inc' und 'makegrass.inc' sollten auch unter POV-Ray Version 3.6 arbeiten, wenn Sie die entsprechenden Include-Dateien irgendwo in einem Include_File_Path der 3.6-Version einfügen.

Teil 0 | Teil 1 | Teil 2 | Teil 3 | Teil 4 | Teil 5 | Teil 6 | Teil 7 | Teil 8 | Teil 9 | Teil 10 | Teil 11

top

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