POV-Ray - POV-Ray
![]() | |
Původní autoři | David Kirk Buck, Aaron A. Collins, Alexander Enzmann |
---|---|
Vývojáři | Tým POV |
První vydání | 29. července 1991[1][2] |
Stabilní uvolnění | 3.7.0 (9. listopadu 2013[3]) [±] |
Náhled verze | v3.8.0-alpha.10064738 (19. února 2019[4]) [±] |
Úložiště | ![]() |
Napsáno | C ++ |
Operační systém | Cross-platform |
Typ | Ray tracer |
Licence | AGPLv3[5] |
webová stránka | www |
The Perzistence Vision Ray Tracer, nejčastěji akronymed as POV-Ray, je napříč platformami sledování paprsků program, který generuje obrázky z a textový popis scény. Původně byl založen na DKBTrace, napsaných Davidem Kirkem Buckem a Aaronem A. Collinsem pro Amiga počítače. Existují také vlivy dřívějších Polyray[6] raytracer kvůli příspěvkům jeho autora Alexandra Enzmanna. POV-Ray je bezplatný open source software, s zdrojový kód k dispozici pod AGPLv3.
Dějiny

Někdy v 80. letech si David Kirk Buck stáhl zdrojový kód pro Unix ray tracer k jeho Amiga. Chvíli s tím experimentoval a nakonec se po svých iniciálách rozhodl napsat svůj vlastní paprskový stopař s názvem DKBTrace. Zveřejnil to na „You Can Call Me Ray“ systém BBS (BBS) v Chicagu, myslí si, že by to mohlo zajímat ostatní. V roce 1987 si Aaron A. Collins stáhl DKBTrace a začal pracovat na x86 jeho přístav. Spolu s Davidem Buckem spolupracovali na přidání několika dalších funkcí.
Když se program ukázal být populárnějším, než se očekávalo, nemohli držet krok s poptávkou po dalších funkcích. V červenci 1991 tedy David předal projekt týmu programátorů pracujících v programu „GraphDev“ Fórum na CompuServe. Zároveň David cítil, že je nevhodné používat jeho iniciály v programu, který již neudržuje. Název „STAR-Light“ (softwarová pracovní skupina pro animaci a vykreslování) byl původně používán, ale nakonec se název stal „PV-Ray“ a poté nakonec „POV-Ray“ (Persistence of Vision Ray Tracer),[2] jméno inspirované Dali malba, Perzistence paměti.[7][8]
Vlastnosti aplikace a shrnutí její historie jsou popsány v rozhovoru z února 2008 s Davidem Kirkem Buckem a Chrisem Casonem v epizodě 24 FLOSS každý týden.[8]
Funkce

POV-Ray od svého vzniku podstatně dozrál. Nejnovější verze softwaru zahrnují následující funkce:
- A Turing-kompletní jazyk popisu scény (SDL), který podporuje makra a smyčky[9]
- knihovna hotových scén, textur a objektů
- podpora řady geometrické primitivy a konstruktivní objemová geometrie
- několik druhů světelné zdroje
- atmosférické efekty jako např mlha a média (kouř, mraky )
- odrazy, lomy a světlo žíravost použitím fotonové mapování
- povrchové vzory jako vrásky, hrboly a vlnky, pro použití v procedurální textury a bump mapping
- radiosita
- podpora pro textury a vykreslený výstup v mnoha obrazových formátech, včetně TGA, PNG, a JPEG, mezi ostatními
- rozsáhlý uživatelská dokumentace
Jednou z hlavních atrakcí POV-Ray je velká sbírka aktiv a nástrojů třetích stran. Na webu lze najít velké množství nástrojů, textur, modelů, scén a výukových programů. Je to také užitečná reference pro ty, kteří se chtějí naučit jak sledování paprsku a související 3D geometrie a počítačové grafické algoritmy fungují.
Současná verze
Aktuální oficiální verze POV-Ray je 3.7. Tato verze zavádí:
- podpora pro symetrické více procesů (SMP), aby mohl vykreslovací modul využívat výhody více procesorů
- podpora pro zobrazování s vysokým dynamickým rozsahem (HDRI), včetně OpenEXR a záře formáty souborů
- vylepšeno ohraničující použitím BSP stromy
Některé z hlavních představených funkcí předchozí verze (3.6) jsou:
- prodlužování UV mapování více primitivům
- přidání 16- a 32bitových celočíselných dat do souboru hustoty
- zlepšování 64-bit kompatibilita
V červenci 2006 Intel Corporation začal používat beta verze 3,7 předvést své nové dvoujádrový Procesor Conroe kvůli efektivitě implementace SMP (symetrický multiprocesing).
Primitiv


POV-Ray, kromě standardu 3D geometrické tvary jako Tori, koule, a výšková pole, podporuje matematicky definované primitiv tak jako isosurface (konečná aproximace libovolné funkce), polynomiální primitivní (an nekonečný objekt definovaný a 15. řád nebo nižší polynom ), Julia Fraktální (trojrozměrný řez a 4-dimenzionální fraktální), superkvadratický elipsoid (meziprodukt mezi koulí a krychlí) a parametrické primitivní (pomocí rovnic, které představují jeho povrch, spíše než jeho vnitřek).
POV-Ray interně představuje objekty pomocí jejich matematických definic; všechny primitivní objekty POV-Ray lze popsat pomocí matematické funkce. To se liší od mnoha počítačových programů, které obsahují 3D modely, které obvykle používají trojúhelník oka skládat všechny objekty ve scéně.
Tato skutečnost poskytuje POV-Ray několik výhod a nevýhod oproti jiným renderovacím a modelovacím systémům; Primitivy POV-Ray jsou přesnější než jejich polygonální protějšky: objekty, které lze popsat pomocí koulí, rovinných povrchů, válců, tori apod., Jsou dokonale hladké a matematicky přesné při vykreslování POV-Ray, zatímco polygonální artefakty mohou být viditelné v modelovacím softwaru založeném na sítích. POV-Ray primitivy jsou také jednodušší definovatelné než většina jejich polygonálních protějšků, např. V POV-Ray, koule je popsán jednoduše jeho středem a poloměrem; v prostředí založeném na síti musí být koule popsána množstvím malých spojených polygonů (obvykle čtyřkolky nebo trojúhelníky ).
Na druhou stranu, primitivní modelování založené na skriptu není vždy praktickou metodou pro vytváření určitých objektů, jako jsou realistické postavy nebo složité umělé artefakty, jako jsou automobily. Tyto objekty mohou a měly by být vytvořeny nejprve v modelových aplikacích založených na mřížkách, jako je Křídla 3D a Mixér, a poté je lze převést na vlastní formát mřížky POV-Ray.
Příklady jazyka popisu scény
Následuje příklad jazyka popisu scény, který používá POV-Ray k popisu scény k vykreslení. Předvádí použití barvy pozadí, kamery, světel, jednoduchého tvaru krabice, který má povrch normální a povrchovou úpravu, a transformační účinky rotace.

#verze 3.6;// Zahrnuje samostatný soubor definující řadu běžných barev #zahrnout „colors.inc“ globální nastavení { převzala_gamma 1.0 }// Nastaví barvu pozadí obrázku (tmavě šedá) Pozadí { barva rgb <0.25, 0.25, 0.25> }// Umístí kameru// direction: Nastavuje mimo jiné zorné pole kamery// vpravo: Nastaví poměr stran obrazu// look_at: Řekne kameře, kde má hledat Fotoaparát { umístění <0.0, 0.5, -4.0> směr 1.5*z že jo X*image_width/image_height podívat se na <0.0, 0.0, 0.0> }// Umístí světelný zdroj// color: Nastaví barvu světelného zdroje (bílá)// translate: Přesune světelný zdroj na požadované místo zdroj světla { <0, 0, 0> barva rgb <1, 1, 1> přeložit <-5, 5, -5> }// Umístí další světelný zdroj// color: Nastaví barvu zdroje světla (tmavě šedá)// translate: Přesune světelný zdroj na požadované místo zdroj světla { <0, 0, 0> barva rgb <0.25, 0.25, 0.25> přeložit <6, -6, -6> }// Nastaví rámeček// pigment: Nastaví barvu rámečku („Červená“, jak je definována v „colors.inc“)// finish: Nastavuje, jak povrch krabice odráží světlo// normal: Nastaví nerovnost pole pomocí vestavěného modelu „achát“// rotate: Otočí rámeček krabice { <-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5> textura { pigment { barva Červené } Dokončit { zrcadlový 0.6 } normální { achát 0.25 měřítko 1/2 } } točit se <45,46,47> }
Následující fragment skriptu ukazuje použití deklarace proměnné, přiřazení, porovnání a konstrukce while smyčky:

#prohlásit the_angle = 0; #zatímco (the_angle < 360) krabice { <-0.5, -0.5, -0.5> <0.5, 0.5, 0.5> textura { pigment { barva Červené } Dokončit { zrcadlový 0.6 } normální { achát 0.25 měřítko 1/2 } } točit se the_angle } #prohlásit the_angle = the_angle + 45; #konec
Modelování
Samotný program POV-Ray neobsahuje a modelování Vlastnosti; je to v podstatě čistý renderer se sofistikovaným jazykem popisu modelu. K této sadě funkcí vyvinuli třetí strany širokou škálu modelovacího softwaru, některé se specializují na POV-Ray, jiné podporují import a export jeho datových struktur, včetně sady pro tvorbu 3D zdarma a open-source. Mixér.
Je připojena řada dalších modelářů kompatibilních s POV-Ray Povray.org: Modelovací programy.
V roce 2007 společnost POV-Ray získala práva na Moray,[10] interaktivní 3D modelovací program dlouho používaný s POV-Ray. Od prosince 2016 je však vývoj Moray zastaven.
Software
Vývoj a údržba
Oficiální úpravy stromu zdrojů POV-Ray jsou prováděny a / nebo schváleny POV-Teamem. Většina odesílání oprav a / nebo hlášení chyb se provádí v diskusních skupinách POV-Ray na webu news.povray.org zprávy server (s Webové rozhraní také dostupný ). Vzhledem k tomu, že zdroj POV-Ray je k dispozici, jsou neoficiální vidličky a opravené verze POV-Ray dostupné od třetích stran; tyto však POV-Team oficiálně nepodporuje.
Oficiální verze POV-Ray aktuálně nepodporují shader zásuvné moduly.[11] Některé funkce, jako radiosita a splajny jsou stále ve vývoji a mohou podléhat syntaktickým změnám.
Podpora platformy
POV-Ray 3.6 je distribuován v kompilovaném formátu pro Macintosh, Okna a Linux.Podpora pro Intel Mac není k dispozici v Macintosh verze, ale od té doby Mac OS X je verze Unix verze pro Linux může být sestaven na to.
Verze 3.7 s SMP podpora je oficiálně podporována pro Windows a Linux. Neoficiální Macintosh lze najít verze pro v3.7.[12]
POV-Ray může být přeneseno na jakoukoli platformu, která má kompatibilní C ++ překladač.
Licencování
Původně byl POV-Ray distribuován pod svým vlastním POV-Ray Licence. Jmenovitě distribuční licence POV-Ray 3.6[13] a zdrojovou licenci POV-Ray 3.6,[14] který umožňoval bezplatnou distribuci zdrojového kódu programu a binárních souborů, ale omezuje komerční distribuci a vytváření odvozených děl jiných než plně funkčních verzí POV-Ray.
Ačkoliv zdrojový kód starších verzí je k dispozici pro modifikaci, kvůli výše uvedené 3.6 a předchozím licenčním omezením tomu tak nebylo otevřený zdroj nebo svobodný software podle OSI nebo FSF definice pojmu. To byl problém, protože zdrojový kód výměna s většími FOSS ekosystém byl nemožný kvůli Nekompatibilita licence s copyleft licence.
Jedním z důvodů, proč společnost POV-Ray původně neměla licenci pod svobodným softwarem GNU General Public License (GPL) nebo jiné licence s otevřeným zdrojovým kódem je to, že POV-Ray byl vyvinut dříve, než se široce používaly licence ve stylu GPL; vývojáři napsali vlastní licenci na vydání POV-Ray a přispěvatelé softwaru pracovali za předpokladu, že jejich příspěvky budou licencovány na základě licencí POV-Ray 3.6.
V roce 2013, s verzí 3.7, byl POV-Ray znovu licencovaný pod Obecná veřejná licence Affero verze 3 (nebo novější).[15] POV-Ray tedy od té doby je svobodný software podle FSF definice a také open source software podle Definice otevřeného zdroje.
Viz také
- Mixér - bezplatný a otevřený softwarový program pro 3D modelování, animaci a vykreslování
- Kerkythea - freewarový program pro sledování paprsků s vylepšeným Skica kompatibilita
- Sluneční paprsek - open-source renderovací systém pro fotorealistickou syntézu obrázků, napsaný v Javě
- YafaRay - populární bezplatný open-source engine pro sledování paprsků
Reference
- ^ „POV-Ray: Dokumentace: 1.1.5.3 Historická historie verzí'". povray.org. Citováno 2018-12-19.
- ^ A b "POV-Ray: Novinky". povray.org. Citováno 2018-12-19.
- ^ "Stažení". POV-Ray. 09.11.2013. Citováno 2013-11-09.
- ^ „Zprávy“. POV-Ray. 19. 2. 2019. Citováno 2019-02-19.
- ^ „Licence POV-Ray“. povray.org. Citováno 2014-05-05.
- ^ „Polyray v1.7“. Alexander R. Enzmann. Citováno 2016-07-05.
- ^ „Dokumentace: 1.1.5 Raná historie“. POV-Ray. Citováno 2014-05-05.
- ^ A b „Síť TWiT Netcast s Leo Laporte“. Twit.tv. 2008-02-07. Citováno 2014-05-05.
- ^ Paul Bourke: Supershape ve 3D jsou příklady obrazů POV-Ray vytvořených pomocí velmi krátkého kódu
- ^ „News: Moray Announcement“. POV-Ray. 2007-02-01. Citováno 2014-05-05.
- ^ pro takovou implementaci viz např. http://www.aetec.ee/fv/vkhomep.nsf/pages/povman2 Archivováno 2007-02-07 na Wayback Machine
- ^ povrayunofficial_mac na megapov.inetart.net
- ^ „Licence distribuce POV-Ray 3.6“. povray.org. Citováno 2016-12-12.
- ^ „Licence zdroje POV-Ray 3.6“. povray.org. Citováno 2016-12-12.
- ^ Cason, Chris (8. listopadu 2013). „Stáhnout POV-Ray 3.7.0“. Citováno 11. listopadu 2013.
Počínaje verzí 3.7 je POV-Ray vydáván pod licencí AGPL3 (nebo novější) a jedná se tedy o svobodný software podle definice FSF. […] K dispozici je celý zdrojový kód, který umožňuje uživatelům vytvářet jejich vlastní verze a vývojářům začlenit části nebo celý zdroj POV-Ray do vlastního softwaru za předpokladu, že je distribuován na základě kompatibilní licence (například AGPL3 nebo - dle vlastního uvážení - jakákoli novější verze).