Specifikace rozhraní RenderMan - RenderMan Interface Specification
Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto problémech na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
The Specifikace rozhraní RenderMan,[1] nebo RISpec zkrátka je otevřený API vyvinutý uživatelem Pixar Animation Studios popsat trojrozměrné scény a proměnit je v digitální fotorealistické snímky. Zahrnuje Stínovací jazyk RenderMan.
Jako technická specifikace Pixaru pro standard komunikační protokol (nebo rozhraní ) mezi modelovacími programy a renderovacími programy schopnými vytvářet snímky v fotorealistické kvalitě, je RISpec podobný koncept PostScript ale pro popis 3D scény spíše než 2D rozvržení stránky. Modelové programy, které rozumějí protokolu rozhraní RenderMan, tedy mohou odesílat data do vykreslovacího softwaru, který implementuje rozhraní RenderMan, aniž by se staral o to, co vykreslování algoritmy jsou využívány posledně jmenovanými.
Rozhraní bylo poprvé publikováno v roce 1988 (verze 3.0) a bylo navrženo tak, aby bylo dostatečně budoucí důkaz zahrnovat technologický pokrok po značný počet let. Aktuální revize je 3.2.1, vydaná v listopadu 2005.
To, co odlišovalo RISpec od ostatních tehdejších standardů, bylo to, že umožňovalo použití geometrických primitiv na vysoké úrovni, jako jsou kvadrics nebo bikubické patche, implicitně specifikovat geometrické primitivy, než aby se spoléhalo na aplikaci pro modelování, aby předem předem výslovně aproximovala tyto tvary. Další novinkou zavedenou v té době RISpec byla specifikace a stínovací jazyk.
The Stínovací jazyk RenderMan umožňuje materiální definice z povrchy být popsán nejen úpravou malé sady parametrů, ale libovolně složitým způsobem pomocí a C -jako programovací jazyk pro psaní stínování postupy obecně známé jako procedurální textury a shadery. Osvětlení a posuny na povrchu jsou také programovatelné pomocí stínovacího jazyka. Stínovací jazyk umožňuje provedení každého příkazu v a SIMD způsobem, ale netrvá na tom. Další funkcí, která nastavuje vykreslovací moduly založené na RISpec na rozdíl od mnoha jiných vykreslovacích modulů, je schopnost vydávat libovolné proměnné jako obrázek: normály povrchu, samostatné světelné průchody a téměř vše ostatní lze z vykreslovacího modulu vydat jediným průchodem.
RenderMan má mnoho společného s OpenGL (vyvinutý nyní zaniklým Křemíková grafika ), a to navzdory dvěma API zaměřeným na různé skupiny uživatelů (OpenGL pro hardwarové vykreslování v reálném čase a RenderMan pro fotorealistické offline vykreslování). Obě API mají podobu stavového automatu založeného na zásobníku s (koncepčně) okamžitým vykreslením geometrických primitiv. Je možné implementovat kterékoli API z hlediska druhého.
Požadované schopnosti
Aby se vykreslovač mohl nazývat „kompatibilní s RenderMan“, musí implementovat alespoň následující funkce:
- Úplný hierarchický stav grafiky, včetně zásobníků atributů a transformací a seznamu aktivních světel.
- Ortografický a perspektivní prohlížení transformací.
- Na základě hloubky skrytý povrch odstranění.
- Filtrování pixelů a prostorové vyhlazení.
- Gama korekce a dithering před kvantování.
- Výstup obrázků obsahujících jakoukoli kombinaci RGB, A a Z. Rozlišení těchto souborů musí být tak, jak je zadá uživatel.
- Všechny geometrické primitivy popsané ve specifikaci a poskytnout všechny standardní primitivní proměnné použitelné pro každého primitiva.
- Schopnost provádět výpočty stínování pomocí uživatelem programovatelného stínování
- Schopnost indexovat texturové mapy, mapy prostředí a mapy hloubky stínů
- Patnáct standardních světelných zdrojů, povrchů, objemů, posunů a shaderů imager požadovaných specifikací. Jakékoli další shadery a jakékoli odchylky od standardních shaderů uvedených v této specifikaci musí být zdokumentovány poskytnutím ekvivalentního shaderu vyjádřeného v RenderMan stínovací jazyk.
Volitelné pokročilé funkce
Renderovač může navíc implementovat kteroukoli z následujících volitelných funkcí:
- Plošné zdroje světla
- Hloubka pole
- Mapování posunutí
- Mapování prostředí
- Globální osvětlení
- Úroveň detailu
- Rozostření pohybu
- Speciální projekce kamery
- Spektrální barvy
- Sledování paprsku
- Objemové modelování
- Stínování hlasitosti
Vývozci
- Pro 3D Studio Max: 3Delight pro 3ds Max DNA Research
- Pro Mixér: Mozaika (otevřený zdroj )
- Pro Houdini: integrovaná podpora. Při použití možností licencování Apprentice nebo Apprentice HD je však zakázána veškerá podpora vykreslovače třetích stran (včetně RenderMan).
- Pro Světelná vlna:
- Pro Maya:
- 3D světlo pro Mayu
- Kapalný (otevřený zdroj )
- MayaMan podle AnimalLogic
- RenderMan pro Mayu Pixar
- Pro Softimage:
- 3Delight pro Softimage
- Affogato podle Rising Sun Pictures (otevřený zdroj )
- XSIMan grafickými primitivy
Nástroje
- Studio RenderMan
- RIBKit (otevřený zdroj, různé nástroje RenderMan, např. vizuální nástroj pro vytváření shaderů s názvem 'SLer')
- RIBShrink a RIBZávisí (nástroje, které jsou součástí 3D světlo. Zmenšete RIB, abyste zabrali méně místa na disku a přesunuli RIB se závislostmi do nového umístění nebo lokalizovali závislosti)
- ShaderMan. Další (otevřený zdroj, bezplatný nástroj pro vytváření shaderů. Přepsat ShaderMan )
Jazykové vazby
- Sada počítačové grafiky Python pro Krajta
- RubyMan pro Rubín
- G&RT pro Lua
- RiGO pro Jít
- Skriptování Tcl
Další čtení
- Apodaca, Anthony A.; Larry Gritz; Ronen Barzel (1999). Advanced RenderMan: Vytváření CGI pro filmy. San Francisco: Morgan Kaufmann Publishers. ISBN 1-55860-618-1. OCLC 42621055.
- Ebert, David S.; F. Kenton Musgrave; Darwyn Peachey; Ken Perlin; Steven Worley (2003). Texturování a modelování: procedurální přístup, 3. vyd. Burlington, MA: Morgan Kaufmann Publishers. ISBN 1-55860-848-6. OCLC 52689816.
- Raghavachary, Saty (2005). Rendering pro začátečníky: Syntéza obrázků pomocí RenderMan. Burlington, MA: Focal Press. ISBN 0-240-51935-3. OCLC 57670361.
- Stephenson, Iane (2002). Základní RenderMan rychle. Londýn, New York: Springer. ISBN 1-85233-608-0. OCLC 50494960.
- Upstill, Steve (1990). RenderMan Companion: Programátorský průvodce realistickou počítačovou grafikou. Čtení, mše: Addison-Wesley. ISBN 0-201-50868-0. OCLC 19741379.
- Cortes, Rudy; Saty Raghavachary (2007). Průvodce jazykem stínování RenderMan. Technologie kurzu PTR. ISBN 1-59863-286-8.
Viz také
Reference
- ^ „RenderMan - koutek pro vývojáře - specifikace RI“. Archivovány od originál dne 16. května 2009. Citováno 2009-06-12.
externí odkazy
- Specifikace RI společnosti Pixar - oficiální specifikace.
- RenderMan Repository
- CG reference a návody Prof. Malcolm Kesson
- Poznámky RenderMan (poznámky k psaní shaderu)
- RenderMan Shader Language Dominik Susmel
- Vykreslování pro začátečníky Soubory RIB a shadery z knihy