POV-Strahl

Die Fortsetzung der Vision Raytracer oder POV-Strahl, ist ein für eine Vielfalt von Computerplattformen verfügbares Strahlenaufzeichnungsprogramm. Es hat ursprünglich auf DKBTrace basiert, der von David Kirk Buck und Aaron A. Collins geschrieben ist. Es gibt auch Einflüsse vom früheren Polystrahl raytracer beigetragen von seinem Autor Alexander Enzmann. POV-Strahl ist freeware mit dem verfügbaren Quellcode.

Geschichte

Einmal in den 1980er Jahren hat David Kirk Buck den Quellcode für Unix raytracer zu seinem Amiga heruntergeladen. Er hat damit eine Zeit lang experimentiert, schließlich sich dafür entscheidend, seinen eigenen raytracer zu schreiben, hat DKBTrace nach seinen Initialen genannt. Er hat es zu einem Anschlagbrett-System angeschlagen, denkend, dass sich andere dafür interessieren könnten. 1987 hat Aaron A. Collins DKBTrace heruntergeladen und hat begonnen, an einem mit Sitz in x86 Hafen davon zu arbeiten. Er und David Buck haben zusammengearbeitet, um noch mehrere Eigenschaften hinzuzufügen. Als sich das Programm erwiesen hat, populärer zu sein, als vorausgesehen, konnten sie nicht mit Nachfrage nach mehr Eigenschaften Schritt halten. So im Juli 1991 hat David das Projekt einer Mannschaft von Programmierern umgesetzt. Zur gleichen Zeit hat er gefunden, dass es unpassend war, seine Initialen auf einem Programm zu verwenden, das er nicht mehr aufrechterhalten hat. Der Name "STERN" (Software Taskforce auf dem Zeichentrickfilm und Machend) wurde betrachtet, aber schließlich ist der Name die "Fortsetzung der Vision Raytracer" oder "POV-Strahl" für den kurzen geworden.

POV-Strahl war das erste Strahl-Leuchtspurgeschoss, um ein Image in der Bahn zu machen, die von Mark Shuttleworth innerhalb der Internationalen Raumstation gemacht ist.

Eigenschaften der Anwendung und einer Zusammenfassung seiner Geschichte werden in einem Interview mit David Kirk Buck und Chris Cason auf der Episode 24 der GLASSCHLACKE Wöchentlich besprochen.

Eigenschaften

POV-Strahl ist wesentlich reif geworden, seitdem er geschaffen wurde. Neue Versionen der Software schließen die folgenden Eigenschaften ein:

  • Eine Turing-ganze Szene-Beschreibungssprache (SDL), die Makros und Schleifen unterstützt.
  • Bibliothek von Konfektionsszenen, Texturen und Gegenständen
  • Unterstützung für mehrere geometrische Primitive und konstruktive Raumgeometrie der Körper
  • Mehrere Arten von leichten Quellen
  • Atmosphärische Effekten wie Nebel und Medien (Rauch, Wolken)
  • Nachdenken, Brechungen und leichte Ätzmittel mit dem Foton, das kartografisch darstellt
  • Oberflächenmuster wie Runzeln, Beulen und Kräuselungen, für den Gebrauch in Verfahrenstexturen und Beule, die kartografisch darstellt
  • Radiosity
  • Bildformat unterstützt für Texturen und gemachte Produktion, einschließlich TGA, PNG, JPEG (nur Eingang) unter anderen
  • Umfassende Benutzerdokumentation

Einer der Hauptattraktionen des POV-Strahls ist seine große Sammlung der Drittunterstützung. Eine Vielzahl von Werkzeugen, Texturen, Modellen, Szenen und Tutorenkursen kann im Web gefunden werden. Es ist auch eine nützliche Verweisung für diejenigen, die wollen erfahren, wie Strahlenaufzeichnung und Geometrie und Grafikalgorithmus-Arbeit verbunden hat.

Jetzige Version

Die aktuelle offizielle Version des POV-Strahls ist 3.6. Einige der Haupteigenschaften dieser Ausgabe:

  • Erweitert UV, der zu mehr Primitiven kartografisch darstellt.
  • Tragen 16 und 32 Bit-Daten der ganzen Zahl zur Dichte-Datei bei.
  • Verschiedener bugfixes und Beschleunigungen.
  • Verbesserte 64-Bit-Vereinbarkeit.

Die Beta-Prüfung der Version 3.7 ist bezüglich des Julis 2008 laufend. Die Hauptverbesserung werden mehr als 3.6 SMP-Unterstützung sein, um dem renderer zu erlauben, vielfache Verarbeiter auszunutzen. Zusätzlich ist Unterstützung für HDRI einschließlich der OpenEXR und Strahlen-Dateiformate hinzugefügt worden, und hat das Springen mit BSP Bäumen verbessert.

Im Juli 2006 hat Intel Corporation angefangen, die Beta-Version zu verwenden, um ihren neuen Doppelkernverarbeiter von Conroe wegen der Leistungsfähigkeit der SMP Durchführung des 3.7 Betas zu demonstrieren.

Primitive

POV-Strahl, zusätzlich zu geometrischen Standardgestalten wie Ringe, Bereiche und heightfields, unterstützt mathematisch definierte Primitive wie der isosurface (eine begrenzte Annäherung einer willkürlichen Funktion), der polynomische Primitive (ein unendlicher Gegenstand, der durch eine 15. Ordnung oder niedrigeres Polynom definiert ist), der julia fractal (eine 3-dimensionale Scheibe eines 4-dimensionalen fractal), das superquadratische Ellipsoid (Zwischenglied zwischen einem Bereich und einem Würfel), und der parametrische Primitive (das Verwenden von Gleichungen, die seine Oberfläche, aber nicht sein Interieur vertreten).

POV-Strahl vertritt innerlich Gegenstände mit ihren mathematischen Definitionen; der ganze POV-Strahl primitive Gegenstände kann durch mathematische Funktionen beschrieben werden. Das ist von vielen 3D-Computermodellieren-Paketen verschieden, die normalerweise Dreieck-Ineinandergreifen verwenden, um alle Gegenstände zusammenzusetzen.

Diese Tatsache versorgt POV-Strahl mit mehreren Vorteilen und Nachteilen über andere Übergabe / das Modellieren von Systemen. POV-Strahl-Primitive sind genauer als ihre polygonalen Kollegen. Gegenstände, die in Bezug auf Bereiche, planare Oberflächen, Zylinder, Ringe und ähnlich beschrieben werden können, sind vollkommen glatt und in der POV-Strahl-Übergabe mathematisch genau, wohingegen polygonale Kunsterzeugnisse in der Ineinandergreifen-basierten modellierenden Software sichtbar sein können. POV-Strahl-Primitive sind auch einfacher zu definieren als die meisten ihrer polygonalen Kollegen. Im POV-Strahl wird ein Bereich einfach durch sein Zentrum und Radius beschrieben; in einer Ineinandergreifen-basierten Umgebung muss ein Bereich durch eine Menge von kleinen Vielecken beschrieben werden.

Andererseits, primitiv - ist das Schrift-basierte Modellieren nicht immer eine praktische Methode, Gegenstände wie realistische Charaktere oder komplizierte künstliche Kunsterzeugnisse wie Autos zu schaffen. Jene Gegenstände müssen in Ineinandergreifen-basierten modellierenden Anwendungen wie Flügel 3D oder Mixer geschaffen und dann zum eigenen Ineinandergreifen-Format des POV-Strahls umgewandelt werden.

Beispiele der Szene-Beschreibungssprache

Der folgende ist ein Beispiel der durch den POV-Strahl verwendeten Szene-Beschreibungssprache, um eine Szene zu beschreiben, um zu machen. Es demonstriert den Gebrauch einer Hintergrundfarbe, Kamera, Lichter, eine einfache Kasten-Gestalt, die eine Oberfläche normal und Schluss und die sich verwandelnden Effekten der Folge hat.

#version 3.6;

//Schließt eine getrennte Datei ein, die mehrere allgemeine Farben definiert

#include "colors.inc"

global_settings {assumed_gamma 1.0 }\

//Setzt eine Hintergrundfarbe für das Image (dunkelgrauer)

Hintergrund {färbt rgb

//Legt eine Kamera

//Richtung: Sätze, unter anderem, das Feld der Ansicht von der Kamera

//Recht: Setzt das Aspekt-Verhältnis des Images

//look_at: Erzählt die Kamera, wo man schaut

Kamera {Position

Richtung 1.5*z

Recht x*image_width/image_height

look_at

//Legt eine leichte Quelle

//Farbe: Stellt die Farbe der leichten Quelle (weißer) ein

//übersetzen Sie: Bewegt die leichte Quelle zu einer gewünschten Position

light_source {

Farbe rgb

übersetzen

//Plätze eine andere leichte Quelle

//Farbe: Stellt die Farbe der leichten Quelle (dunkelgrauer) ein

//übersetzen Sie: Bewegt die leichte Quelle zu einer gewünschten Position light_source { Farbe rgb übersetzen

//Setzt einen Kasten

//Pigment: Stellt eine Farbe für den Kasten ("Rot", wie definiert, in "colors.inc") ein

//Schluss: Sätze, wie die Oberfläche des Kastens Licht widerspiegelt

//normal: Setzt eine Unebenheit für den Kasten mit dem "Achat" integriertes Modell

//rotieren Sie: Lässt den Kasten rotieren

Kasten {

Textur {Pigment {färbt Roten }\

Schluss {spiegelnde 0.6 }\

normal {Achat 0.25 Skala 1/2 }\

}\

rotieren

</Quelle>

Das folgende Schrift-Bruchstück zeigt den Gebrauch der variablen Behauptung, der Anweisung, des Vergleichs und während Schleife-Konstruktion:

#declare the_angle = 0;

#while (the_angle

Textur {Pigment {färbt Roten }\ Schluss {spiegelnde 0.6 }\

normal {Achat 0.25 Skala 1/2} }\

lassen Sie the_angle }\rotieren

#declare the_angle = the_angle + 45;

#end </Quelle>

Das Modellieren

Das POV-Strahl-Programm selbst schließt keine Modellieren-Eigenschaft ein; es ist im Wesentlichen ein reiner renderer mit einer hoch entwickelten Musterbeschreibungssprache. Um diese Merkmalsreihe zu begleiten, haben Dritte eine große Vielfalt des Modellierens der Software, einige entwickelt, die für den POV-Strahl, andere spezialisiert sind, die Import und Export seiner Datenstrukturen unterstützen.

Mehrere POV-Strahl werden vereinbare Modellierer von Povray.org verbunden: Das Modellieren von Programmen.

Software

Entwicklung und Wartung

Offizielle Modifizierungen zum POV-Strahl-Quellbaum werden getan und/oder von der POV-Mannschaft genehmigt. Der grösste Teil der Fleck-Vorlage und/oder Programmfehler-Bericht werden im POV-Strahl newsgroups auf [nntp://news.povray.org/news.povray.org] Nachrichtenserver (mit einer Webschnittstelle auch verfügbar) getan. Da die Quelle des POV-Strahls verfügbar ist, gibt es inoffizielle Gabeln und geflickte Versionen des von Dritten verfügbaren POV-Strahls; jedoch werden diese von der POV-Mannschaft nicht offiziell unterstützt.

Offizielle POV-Strahl-Versionen unterstützen zurzeit shader Einfügefunktionen nicht. Einige Eigenschaften, wie radiosity und Fugenbretter sind noch in der Entwicklung und können der syntaktischen Änderung unterworfen sein.

Plattform-Unterstützung

POV-Strahl wird im kompilierten Format für Macintosh, Windows und Linux verteilt.

Die Unterstützung für Intel Macs ist in der Version von Macintosh nicht verfügbar, aber da Mac OS X eine Version von Unix ist, kann die Version von Linux darauf kompiliert werden. POV-Strahl konnte auch zu jeder Plattform getragen werden, die einen vereinbaren C ++ Bearbeiter hat.

Leute mit Intel Macs können die Gabel MegaPOV verwenden, obwohl weil das als universale Dualzahl kompiliert wird.

Die Versionen des Betas 3.7 mit der SMP-Unterstützung sind noch jedoch nur für Windows und Linux verfügbar.

Das Genehmigen

POV-Strahl wird laut der POV-Strahl-Lizenz verteilt, die freien Vertrieb des Programm-Quellcodes und der Dualzahlen erlaubt, aber kommerziellen Vertrieb und die Entwicklung von abgeleiteten Arbeiten außer völlig funktionellen Versionen des POV-Strahls einschränkt.

Obwohl der Quellcode für die Modifizierung wegen spezifischer Beschränkungen verfügbar ist, ist es nicht offene Quelle gemäß der OSI Definition des Begriffes. Einer der Gründe, dass POV-Strahl unter dem GNU der kostenlosen Software General Public License (GPL) oder andere offene Quelllizenzen nicht lizenziert wird, ist, dass POV-Strahl entwickelt wurde, bevor die GPL-artigen Lizenzen weit verwendet geworden sind; die Entwickler haben ihre eigene Lizenz für die Ausgabe des POV-Strahls geschrieben, und Mitwirkende zur Software haben unter der Annahme gearbeitet, dass ihre Beiträge laut der POV-Strahl-Lizenz lizenziert würden.

Ein ganzer schreibt vom POV-Strahl um ("POV-Strahl 4.0") ist zurzeit unter der Diskussion, die eine liberalere Lizenz, wahrscheinlichster GPL v3 verwenden würde.

Siehe auch

  • YafaRay Eine populäre freie offene Quelle raytracing Motor
  • Kerkythea Freies Strahlenaufzeichnungsprogramm mit der erhöhten Vereinbarkeit von Sketchup
  • Sunflow ein offenes Quellübergabe-System für die photorealistische Bildsynthese, die in Java geschrieben ist
  • Mixer ein freier und Softwareprogramm der offenen Quelle für das 3D-Modellieren, den Zeichentrickfilm und die Übergabe
  • Internetstrahlenaufzeichnungskonkurrenz hat eine Vielzahl von Vorlagen von POV-Strahl-Benutzern

Links


Mesona / Chad Kroeger
Impressum & Datenschutz