Gut gerendert

Frontends für Povray

01.09.2002
Mit Povray lassen sich wunderschöne virtuelle Welten erschaffen. Das richtige Frontend erleichtert die Bedienung, beschleunigt die Entwicklung und erhöht den Spaßfaktor.

Povray, der "Persistence Of Vision Raytracer" [1], ist ein Raytracing-Programm der Extraklasse. Nur seine Bedienung über die Kommandozeile entlockt so Manchem Stoßseufzer, zumal die Vielzahl der Parameter verwirrt. Im Folgenden stellen wir Ihnen Tools vor, die dem User an dieser Stelle unter die Arme greifen, indem sie die wichtigsten Parameter in Dialogen abfragen und das Rendern der Szenen auf Knopfdruck starten. Zwei Kandidaten gehen über diese simple Frontend-Funktionalität deutlich hinaus und erlauben das Erstellen der Szenen in WYSIWYG-Form am Bildschirm.

Bei allen anderen Programmen müssen Sie sich wohl oder übel mit der Povray-Szenenbeschreibungssprache auseinandersetzen. Ein entsprechendes Tutorial finden Sie auf der Heft-CD und im Archiv des Linux-Magazins [2]. Wie Sie den Raytracer installieren, beschreibt Kasten 1. Wir testeten die Programme im Zusammenspiel mit Povray 3.1 und dem nagelneuen Povray 3.5.

Kasten 1: Povray installieren

Das Archiv povlinux.tgz der aktuellen Povray-Version 3.5 finden Sie auf der Projekt-Homepage [1] oder der Heft-CD. Zum Entpacken kommt der Befehl tar -xzvf povlinux.tgz bzw. ein Programm wie ark oder guitar zum Einsatz. Nach dem Wechsel ins neu entstandene Verzeichnis povray-3.5 rufen Sie als root das Installationsskript mit dem Befehl ./install auf. Es kopiert alle benötigten Bibliotheken nach /usr/local/lib, die ausführbaren Dateien s-povray und x-povray nach /usr/local/bin. s-povray benutzt die svga-Bibliothek und benötigt kein X-Window-System, x-povray ist für den Einsatz unter X gedacht.

Zum Abschluss kopieren Sie die Datei povray.ini aus /usr/local/lib als unprivilegierter User unter dem Namen .povray.rc in Ihr Home-Verzeichnis:

cp /usr/local/lib/povray.ini ~/.povray.rc

Die Kandidaten

Das Testfeld bilden die in Tcl/Tk geschriebenen Programme Peflp und tclPov sowie ihre GTK-Kollegen gPov, PovFront und Truevision. Hinzu kommt der in der letzten Ausgabe [3] kurz vorgestellte KPovmodeler. Zum Teil sind die Frontends schon nicht mehr ganz taufrisch. Nur KPovmodeler und PovFront werden noch regelmäßig weiter entwickelt; Bugfixes gibt es jedoch für alle hier vorgestellten Programme in größeren Abständen.

Alle Tools nehmen der Benutzerin die Eingabe der Povray-Kommandozeilenparameter ab, indem sie die Werte in Dialogen oder mit Hilfe von Schiebereglern abfragen. Doch selbst hier unterscheiden sie sich im Funktionsumfang: Peflp, gPov und tclPov bieten nur die häufigsten Optionen an; wer tiefer in die Feinheiten von Povray einsteigen möchte, ist mit PovFront besser bedient. Erst KPovmodeler und Truevision lassen sich mit Windows-Frontends für den Raytracer vergleichen. Entscheidend dafür ist ihre Fähigkeit, Szenen ohne Kenntnis der Povray-Skriptsprache zusammen stellen zu lassen.

Peflp

Für Peflp, das "Povray Front-End For Lazy People", benötigt man außer einer Tcl/Tk-Installation die ImageMagick-Tool-Sammlung zum Konvertieren der fertig gerenderten Szenen. Zur Installation genügt es, das peflp074.tgz-Archiv auszupacken und die darin enthaltene Programmdatei peflp als root in ein Verzeichnis zu kopieren, das im Suchpfad liegt, etwa nach /usr/local/bin.

Falls sich das Programm nach Eingabe von peflp & in einer Konsole darüber beschwert, dass es die Datei defaultstamp.gif nicht findet, kopieren Sie diese aus dem peflp-Archiv ins Verzeichnis ~/.peflp/stamps, das Sie gegebenenfalls zuvor anlegen. Beim ersten Start fragt das Programm zudem nach dem Pfad zu Povray.

Abbildung 1: Peflp

Die wichtigste Angabe ist natürlich die nach der zu rendernden Povray-Datei. Zudem wählen Sie die Auflösung des Bildes (Abbildung 1 links) und geben ein, ob Sie Kantenglättung, Anti Aliasing, benutzen möchten bzw. welche Qualitätsmerkmale das erzeugte Bild haben soll (rechte Seite). Mit der Option Mosaic Preview erreichen Sie, dass Povray das Bild zunächst grob und dann immer feiner darstellt.

Unter Settings / General Options legen Sie fest, in welchem Editor Sie Ihre Povray-Dateien bearbeiten möchten, wenn Sie auf Edit klicken. Ferner stellen Sie dort ein, welches Programm Sie zum Konvertieren der gerenderten Bilder einsetzen und in welchem Verzeichnis diese gespeichert werden.

Hilfreich ist die Möglichkeit, ein kleines Vorschaubild, Stamp genannt, rendern zu lassen. Dieses zeigt Peflp im unteren Teil des Programmfensters an, sodass man einen Eindruck von den Lichtverhältnissen und der Komposition gewinnt, ohne auf die Berechnung eines Riesenbildes warten zu müssen. Innerhalb dieses Vorschaubilds lässt sich je ein Ausschnitt festlegen, der durch Klick auf Partial endgültig und in der höheren Auflösung gerendert wird.

Peflp ist ein Programm ohne Schnörkel und macht genau das, was es soll: die Bedienung von Povray vereinfachen. Für das Feintuning an einer Szene eignet sich das Programm nicht, dafür ist die Zahl der einstellbaren Optionen zu klein.

tclPov

Das nur wenige Kilobyte große Archiv tclPov-0.4.1.tar.gz enthält ein Installationsskript install.sh, das root im entpackten Verzeichnis ausführt. Es fragt nach dem Installationsverzeichnis (sinnvoll ist etwa /usr/local/bin/tclpov) und kopiert die zur Programmausführung notwendigen Dateien dorthin.

Das Programm lässt sich nun als

/usr/local/bin/tclpov/tclpov &

starten. Falls Sie die Fehlermeldung bad interpreter erhalten, findet es den Tcl-Interpreter wish8.3 nicht: Es erwartet diesen im Verzeichnis /usr/local/bin. Der Befehl which wish8.3 schafft schnell Klarheit darüber, wo genau sich wish8.3 tatsächlich befindet. Setzen Sie dann als root einen passenden Link, etwa

ln -s /usr/bin/wish8.3 /usr/local/bin/wish8.3
Abbildung 2: Tclpov

Für manchen Geschmack mag die Oberfläche von tclPov schon etwas zu übersichtlich sein (Abbildung 2). Den größten Teil nimmt der – allerdings recht simple – Editor ein, in dem Sie Ihre Szenen "programmieren". Erleichtert wird dies durch Syntax Highlighting.

Einstellungen zum Render-Vorgang (etwa Auflösung und Kantenglättung) treffen Sie im Menü Options. Dort besteht auch die Möglichkeit, das berechnete Bild in unterschiedliche Grafikformate zu konvertieren.

Eine kurz gefasste Online-Hilfe erläutert die Bedienung des Programms und die Einstellungen für Povray.

gPov

Vom selben Entwickler wie tclPov stammt gPov aus dem Archiv gPov-0.1.2.tar.gz. Als C-Programm bewegt sich seine Installation in gewohnteren Bahnen: Vorausgesetzt, nicht nur die GTK-Bibliothek, sondern auch die zugehörigen Header-Dateien sind installiert, startet man im Verzeichnis gPov-0.1.2 mit dem Befehl make die Übersetzung. Als root rufen Sie make install auf und können das Programm danach durch Eingabe von gPov & in einer Konsole starten (Abbildung 3).

Abbildung 3: gPov

Auch hier ist ein integrierter Editor mit von der Partie, allerdings bietet er keinerlei Komfort, nicht einmal Syntax Highlighting.

Die Parameter zum Rendern stellen Sie über einen Dialog ein, der nur die wichtigsten Parameter – Qualität, Kantenglättung und Bildgröße – anbietet. Das erzeugte Bild speichern Sie wahlweise im jpeg-, bmp-, png- oder gif-Format.

Endgültig ans Ende des Testfelds katapultiert sich das Programm dank seiner Instabilität. Zeitweise stürzte es beim Klicken auf eine Schaltfläche mit einem Speicherzugriffsfehler einfach ab.

PovFront

Nach dieser Enttäuschung wird es Zeit für ein wesentlich umfangreicheres Programm: PovFront. Neben dem Gimp-Toolkit benötigt es die Bibliothek libgtkglarea. Nach dem Entpacken des Quelltextarchivs povfront-1.3.5.tar.gz sorgt ein ./configure im neu entstandenen Verzeichnis povfront-1.3.5 und ein anschließendes make in einer Konsole für die Übersetzung. Während des Tests lief das Programm wesentlich stabiler, wenn es ohne GNOME-Unterstützung kompiliert wurde. Um das zu erreichen starten Sie das Konfigurationsskript mit dem Parameter --disable-gnome:

./configure --disable-gnome

Als root installieren Sie das Programm mit dem üblichen dritten Befehl im Bunde, make install. Der Befehl povfront & in einer Konsole ruft das in Abbildung 4 gezeigte GUI auf den Plan.

Abbildung 4: PovFront

PovFront bietet deutlich mehr Einstellmöglichkeiten als die bisher vorgestellten Programme. Alle Optionen sind über Karteireiter im unteren Teil des Hauptfensters erreichbar. Auf dem Tab Output legen Sie die Bildgröße, das Bildausgabeformat und den zu rendernden Ausschnitt fest. Unter Quality bestimmen Sie, in welcher Qualität und Farbtiefe das Bild berechnet wird, ob mit oder ohne Kantenglättung. Library nimmt die Pfade zu Bibliotheken mit Bauteilen auf, auf die Povray zugreifen soll.

Ein Klick auf den Button Render startet den Raytracer. In einem separaten Fenster sehen Sie, wie sich das Bild aufbaut. Ein Klick auf Abort last job beendet die zuletzt gestartete Berechnung, Job Control öffnet ein Fenster mit einer Liste der momentan von Povray bearbeiteten Dateien.

Was fehlt, ist die Einbindung eines Editors, um die Povray-Datei schnell zum Bearbeiten zu öffnen. Auch PovFront war während des Tests alles andere als stabil und stürzte beim Anklicken von Schaltflächen häufig mit einem Speicherzugriffsfehler ab.

KPovmodeler

Sind die bislang vorgestellten Tools ohne anderweitig erstellte Povray-Szenedateien recht nutzlos, geht KPovmodeler gleich mehrere Schritte weiter: Es dient nicht nur als Frontend für das Povray-Kommando, sondern ermöglicht auch das Gestalten von Szenen.

Auf der Programm-Homepage sind zur Zeit nur die Quelltexte verfügbar, sie müssen die KDE-Software selbst übersetzen. Dazu benötigen Sie ein aktuelles Qt 3.0.x und das Paket kde3-kdelibs. Zusätzlich sind die Bibliotheken OpenGL, glut, glx und glu samt Header-Dateien erforderlich, die Sie gegebenenfalls von Ihrer Distributions-CD nachinstallieren.

Zum Übersetzen entpacken Sie das Quelltextarchiv mit dem Befehl tar -xzvf kpovmodeler-0.2.tar.gz, wechseln ins neu entstandene Verzeichnis kpovmodeler-0.2 und geben nacheinander die Befehle ./configure, make und (als root) make install ein. Anschließend startet das Programm auf die Eingabe von kpovmodeler in einer Konsole hin (Abbildung 5).

Abbildung 5: KPovmodeler-Hauptfenster

Im oberen Teil des Programmfensters finden Sie Werkzeugleisten, mit denen Sie die Funktionen zum Erstellen der Szenen und zum Rendern erreichen. Links darunter sehen Sie eine Baumansicht, in der alle Objekte der aktuellen Szene mit ihren Eigenschaften erscheinen. Links unten bearbeiten Sie die gewählte Eigenschaft. Der rechte untere Teil ist der Darstellung der Szene in vier Ansichten vorbehalten.

KPovmodeler eignet sich nicht zur Bearbeitung bestehender Povray-Dateien; es unterstützt stattdessen den kreativen Prozess beim Erschaffen neuer Szenen. Dabei stehen alle wichtigen geometrischen Grundformen zur Verfügung, diese versehen Sie mit den unterschiedlichsten Oberflächen und Strukturen. Auch für diverse Hintergründe ist gesorgt. Wenn Sie die Szene fertig gestellt haben, wählen Sie View / Render aus dem Menü, und Povray beginnt mit der Berechnung, deren Ergebnis ein separates Fenster aufzeigt (Abbildung 6).

Abbildung 6: KPovmodeler ist fertig mit Rechnen – das Ausgabefenster

Der KDE-Modeller lässt sich über den Menübefehl Settings / Configure KPovModeler an die Vorstellungen der Benutzerin anpassen; sie legt dort unter anderem die Bildschirmfarben und die Ausgangsgröße einzufügender Objekte fest.

Das Programm eignet sich zum Erstellen komplexer Szenen und bietet viel Komfort bei der Eingabe von Objekten – alle Möglichkeiten auch nur annähernd aufzuzählen, würde den Rahmen dieses Artikels sprengen. Ohne eine einzige Zeile Povray-Code zu erstellen, lassen sich so die schönsten Szenen erstellen und leicht verändern. Obwohl es erst die Versionsnummer 0.2 trägt, läuft das Programm sehr stabil, einen Absturz gab es während dieses Tests nicht.

Die Autoren suchen dringend nach Hilfe bei der Erstellung der Programmdokumentation. Ist diese erst einmal vorhanden, darf sich KPovmodeler als die Lösung zum visuellen Erstellen von Szenen unter Linux bezeichnen.

Truevision

In dieselbe Klasse fällt Truevision, das GTK und GNOME benötigt. Auf der Programm-Homepage und der Heft-CD finden Sie ein Quelltext-Archiv truevision-0.3.10.tar.gz, das Sie mit dem Befehl tar -xzvf truevision-0.3.10.tar.gz entpacken. Auch hier führt der Installationsdreiklang ./configure, make und make install im entpackten Quellenverzeichnis zu Kompilation und Installation, sofern die nötigen Header-Dateien vorhanden sind. Anschließend hört das Programm auf den Aufruf truevision &.

Das grafische Benutzer-Interface sorgt mit der Menüleiste und der Werkzeugleiste oben sowie den verschiedenen Ansichten des Modells unten links höchstens mit den über Karteireiter erreichbaren Dialogen zum Einfügen und Bearbeiten der einzelnen Objekte unten rechts für Überraschungen (Abbildung 7).

Abbildung 7: Truevision-Hauptfenster

Auf dem Reiter Erzeugen finden Sie eine Baumansicht mit den verfügbaren Objekten, ein Klick auf Erzeugen fügt das gewünschte Objekt in die Szene ein. Unter Materialien wählen Sie aus der Liste der bereits verwendeten Materialien aus und haben die Möglichkeit, eigene Oberflächen zu erstellen oder ein Muster auszusuchen. Die Seite Bearbeiten zeigt die Eigenschaften des ausgewählten Objektes an, hier nehmen Sie Feineinstellungen vor.

Die Zahl der mitgelieferten Texturen fällt etwas kleiner aus als bei KPovmodeler, es lassen sich aber interessante Modelle schaffen. Zum Bearbeiten der einzelnen Objekte muss man stets zwischen den verschiedenen Karteireitern hin- und herschalten, was bei komplizierten Szenen sehr zeitraubend ist.

Die Renderoptionen lassen sich in einem umfangreichen Dialog fein einstellen (Abbildung 8).

Abbildung 8: Povray-Einstellungen von Truevision

Leider erwies sich Truevision als nicht sehr stabil und stürzte beim Speichern einer Szene einfach ab. Die bis dahin geleistete Arbeit war verloren, denn das Programm konnte die gespeicherten Daten anschließend nicht mehr laden. Zudem gibt es weder eine Online-Hilfe noch Handbuch. Obwohl sich Szenen leicht erstellen und bearbeiten lassen, ist dieses Programm derart komplex, dass eine Einarbeitung ohne Hilfe sehr zeitraubend und fehleranfällig ist.

Fazit

Bei der Verschiedenheit der Programme fällt es schwer, eine Empfehlung zu geben. Wenn Sie nur gelegentlich Povray-Szenen schreiben, sind Sie mit Peflp sicherlich am besten bedient. Das Programm ist stabil, übersichtlich und einfach zu bedienen. PovFront bietet alle Einstellmöglichkeiten, die sich die Benutzerin von Povray nur wünschen kann. Leider verabschiedet sich das Programm in unregelmäßigen Abständen, so dass produktives Arbeiten nicht möglich ist. gPov und tclPov haben zwar einen integrierten Quelltexteditor für die zu erstellenden Szenen zu bieten, wirken aber eher unfertig.

Zum Zusammenstellen von Szenen eignen sich KPovmodeler und Truevision gleichermaßen. Die Einarbeitungszeit in beide Programme ist sehr lang, da sie nicht über eine Online-Hilfe oder ein Tutorial verfügen. In Sachen Stabilität hat KPovmodeler klar die Nase vorn und ist deshalb sehr zu empfehlen.

Tabelle 1: Povray-Frontends im Überblick

Programm Peflp tclPov gPov PovFront KPovmodeler Truevision
Autor Xavier Bourvellec Chris Hammer Chris Hammer Philipe P. E. David Andreas Zehender Vincent le Prince
Lizenz GPL GPL GPL GPL GPL GPL
Homepage http://mogzay.multimania.com/ http://www.nasland.nu/tclpov.php http://www.nasland.nu/gpov.php http://perso.club-internet.fr/clovis1/ http://www.kpovmodeler.org/ http://truevision.sourceforge.net/
Installation
Quellen-tgz x x x x x x
rpm - - - - - -
deb - - - - - -
Zusätzliche Bibliotheken Tcl/Tk Tcl/Tk GTK GTK, optional GNOME 1.4 Qt, KDE 3.0.x (1) GTK, libgtkglarea, GNOME 1.4
Sprache der Oberfläche Englisch Englisch Englisch Englisch Englisch Deutsch/Englisch
Funktionalität
Integrierter Texteditor - x x - - -
Integrierte Vorschau x - - - - -
Speichern und Konvertieren des fertigen Bildes x x - x x x
Grafikeditor - - - - x x
Hilfe
Online-Hilfe - x - - - -
Handbuch - - - - - -
(1) KDE-Version 3.1 wird KPovmodeler als Teil des kdegraphics-Paketes enthalten.

Glossar

WYSIWYG

Das "What You See Is What You Get"-Paradigma verlangt, dass die Darstellung am Bildschirm weitestgehend mit der (Druck-)Ausgabe übereinstimmt.

Home-Verzeichnis

Das Verzeichnis, in dem die Daten und Konfigurationseinstellungen der Benutzerin abgelegt werden. In der Shell lässt es sich zu ~ abkürzen.

Tcl/Tk

Tcl ist eine Skriptsprache, in der unter Zuhilfenahme des GUI-Toolkits Tk auch Programme mit grafischer Oberfläche geschrieben werden können.

GTK

Eine C-Programmbibliothek, die Elemente für eine grafische Oberfläche enthält und ursprünglich für das Bildbearbeitungsprogramm Gimp geschrieben wurde.

Suchpfad

Die Umgebungsvariable PATH enthält alle Verzeichnisse, in denen die Shell Programme oder Skripte sucht, so dass die Benutzerin deren Pfad nicht mit eingeben muss.

Syntax Highlighting

Die Tatsache, dass ein Editor Befehle, Kommentare und Variablen einer Programmiersprache farblich hervorhebt.

Infos

[1] Povray: http://www.povray.org/

[2] Christian Perle: "Strahlenförmig", Linux-Magazin 04/1998, S. 19 ff., http://www.linux-magazin.de/ausgabe/1998/04/Povray/povray.html

[3] Stefanie Teufel: "K-splitter", LinuxUser 08/2002, S. 18

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare