Fotorealisticky Rendering Terenu

Total Page:16

File Type:pdf, Size:1020Kb

Fotorealisticky Rendering Terenu Z´apadoˇcesk´a univerzita v Plzni Fakulta aplikovan´ych vˇed Katedra informatiky a v´ypoˇcetn´ı techniky Bakal´aˇrsk´apr´ace Fotorealistick´yrendering ter´enu Plzeˇn2011 Milan Staffa Prohl´aˇsen´ı Prohlaˇsuji, ˇzejsem bakal´aˇrskou pr´aci vypracoval samostatnˇea v´yhradnˇe s pouˇzit´ım citovan´ych pramen˚u. V Plzni dne 27. dubna 2011 Milan Staffa Abstract Photorealistic terrain rendering This thesis is focused on the problem of photorealistic terrain rendering. Main task is to create modules for photorealistic terrain rendering in RenderMan Shading Language (RSL) and make photorealistic output images of requested terrain. Output images of these modules have to be comparable with outputs of other programs with similar field of use. In order to provide greater variability, graphical user interface (GUI) frontend was made in C#. This program simplifies creating these modules and offers wide range of options. Obsah 1 Uvod´ 1 2 Teoretick´aˇc´ast 2 2.1 Fotorealistick´ezobrazov´an´ıter´enu . 2 2.2 Datov´areprezentace ter´enu . 3 2.3 RenderMan shading language . 4 2.4 Reprezentace ploch ter´enu v RenderManu . 5 2.4.1 Plochy tvoˇren´ebiline´arn´ımi pl´aty . 6 2.4.2 Plochy tvoˇren´ebikubick´ymi pl´aty . 6 2.5 Sumov´efunkceˇ .......................... 7 2.5.1 Perlin˚uvˇsum ....................... 7 2.5.2 Skl´ad´an´ıˇsumov´ych funkc´ı . 9 2.5.3 Turbulence . 10 2.6 Programy pro rendering ter´enu . 14 3 Realizaˇcn´ıˇc´ast 19 3.1 Fotorealistick´eter´eny v Terragenu . 19 3.1.1 V´yˇskov´adata . 20 3.1.2 Texturov´an´ı . 23 3.2 GUI program . 26 3.2.1 V´yˇskov´adata . 27 3.2.2 Podm´ınky povrchu . 28 3.2.3 N´ahled vybran´eho ter´enu . 30 3.2.4 Tvorba surface shaderu a texturov´an´ı. 31 3.3 RIB soubory . 33 3.4 Moduly a jejich pouˇzit´ı. 34 3.4.1 Modul v´ypoˇctu Turbulence . 35 3.4.2 Modul v´ypoˇctu Bump mappingu . 35 3.4.3 Modul m´ıch´an´ıbarev . 36 3.4.4 Modul pro um´ıstˇen´ıter´enu na povrch . 39 3.4.5 Modul hlavn´ıho surface shaderu . 43 OBSAH OBSAH 3.5 Dosaˇzen´ev´ysledky . 43 3.5.1 Napodoben´ıre´aln´ehory Mount Ruapehu . 43 3.5.2 Napodoben´ıpouˇstn´ıscen´erie . 46 3.5.3 Napodoben´ıhorsk´escen´erie . 47 3.5.4 Napodoben´ıantarktick´escen´erie . 49 3.5.5 Napodoben´ıhorsk´escen´erie . 51 4 Z´avˇer 53 Literatura 54 Seznam zkratek 56 Pˇr´ıloha A 57 Pˇr´ıloha B 66 4 1 Uvod´ C´ılem t´eto pr´ace je snaha o pˇribl´ıˇzen´ıse realistick´emu vyobrazen´ıter´enu (tak jak to dˇelaj´ınapˇr´ıklad k tomuto ´uˇcelu urˇcen´eprofesion´aln´ıprogramy). Nejde tedy o tvorbu simulace re´aln´eho ter´enu, jde pouze o ˇcistˇev´ytvarn´yprostˇredek vyobrazen´ıter´enu do obr´azku. Ke splnˇen´ıtohoto c´ıle je nutno sezn´amit se se specifikac´ıRenderMan a pomoc´ıt´eto specifikace vhodnˇeimplementovat bloky pro tvorbu v´ysledn´eho obr´azku. Vytvoˇren´eobr´azky budou porovn´av´any jak se skuteˇcn´ymi fotkami tak i s umˇele vytvoˇren´ymi obr´azky ter´en˚u(kter´ebyly vytvoˇreny pomoc´ıjin´ych program˚u). Modern´ı poˇc´ıtaˇcov´agrafika se v dneˇsn´ı dobˇesnaˇz´ı dos´ahnout co nej- v´ıce fotorealistick´eho zobrazov´an´ı umˇele vytvoˇren´ych objekt˚u. Tato snaha zapoˇcala mal´ıˇrstv´ım, kdy se umˇelci snaˇzili napodobit co nejl´epe skuteˇcn´ekra- jiny. Dnes je tato snaha patrn´anejv´ıce ve v´yvoji poˇc´ıtaˇcov´ych her a v ani- movan´ych filmech, kde jsou tyto techniky podstatou realistiˇcnosti. Pro co nejpˇresvˇedˇcivˇejˇs´ızobrazov´an´ıse klade d˚uraz hlavnˇena pˇrirozen´eosvˇetlen´ıa vyobrazen´ıpovrchu objekt˚u. Pˇred zobrazen´ım ter´enu je nutno si zvolit reprezentaci ter´enu samotn´eho, na kter´yse n´aslednˇepak aplikuj´ı shadery. Ukolem´ shader˚uje napodobo- vat na ter´enu co nejv´ıce realistickou texturu (obarven´ıter´enu) a dodateˇcn´e ´upravy geometrie p˚uvodn´ıho tvaru ter´enu. Pr´acepojedn´av´ao vytvoˇren´ı modul˚ua jejich aplikaci na jednoduchou geometrii reprezentuj´ıc´ıter´entak, aby v´ysledn´yefekt byl co nejv´ıce fotoreali- stick´y.Tyto moduly po sloˇzen´ıd´av´aj´ıdohromady shader, kter´yse na ter´en aplikuje a obarv´ıho do v´ysledn´epodoby. Pro psan´ıshader˚ubyl zvolen pro- gramovac´ıjazyk RenderMan Shading Language. Pro uˇzivatelskou pˇr´ıstupnost bude v jazyce C# vytvoˇren interaktivn´ıGUI program (nazvan´y RTC - RenderMan Terrain Creator), kter´ypodle nastave- n´ych hodnot vygeneruje vˇsechny zdrojov´esoubory pro vytvoˇren´ıv´ysledn´eho obr´azku s obarven´ym ter´enem. 1 2 Teoretick´aˇc´ast 2.1 Fotorealistick´ezobrazov´an´ıter´enu Pro vytvoˇren´ı obr´azku s fotorealistick´ym zobrazen´ım ter´enu je potˇreba si urˇcit, z ˇceho a jak bude tento obr´azek vytvoˇren. Je tedy nutn´eurˇcit tvar ter´enu, jak´abude textura tohoto ter´enu (respektive jak definovat obarven´ı povrchu tak, aby co nejv´ıce pozorovateli pˇripom´ınal re´aln´ypovrch ter´enu). D´ale je potˇreba urˇcit, jak´ym svˇetlem bude ter´enosvˇetlen, zda a jak´ebudou ve sc´enˇes ter´enem p˚usobit atmosf´erick´ejevy (tedy mlha atd) a podobnˇe. V tomto textu si pop´ıˇseme, jak reprezentovat ter´en. Digit´aln´ımodel ter´enu (DMT) budeme reprezentovat v trojrozmˇern´emprostoru. DMT se rozum´ı prostorov´ygeometrick´ypopis reli´efuter´enu. Na tomto ter´enu se daj´ıd´ale modelovat nejr˚uznˇejˇs´ıobjekty (napˇr´ıklad budovy, vegetace a podobnˇe). Pro samotn´yDMT jsou vˇsak tyto objekty ned˚uleˇzit´e. Mezi charakteristick´evlastnosti DMT patˇr´ı: • ter´en je nepravideln´aplocha. V t´eto ploˇsese nach´azej´ıjak m´ısta s hlad- kou geometri´ıtak s naruˇsen´ım t´eto hladk´egeometrie. Zvl´aˇstn´ımi ˇc´astmi ter´enu jsou vrcholy, sedla, ´udolnice (coˇzje kˇrivka spojuj´ıc´ım´ısta nejvˇe- tˇs´ıho vyhlouben´ıpˇr´ıˇcn´eho ˇrezu ´udol´ım) a hˇrbetnice (ta je opakem ´udol- nice - tedy hˇrbetnice spojuje relativnˇenejvyˇsˇs´ıbody ter´enn´ıho tvaru), kter´emaj´ıpod´elnˇeˇcasto hladk´ypr˚ubˇeh, avˇsak v kolm´emsmˇeru m˚uˇze doj´ıt k ostr´emu l´am´an´ıplochy. Tˇemto ´uk´az˚um se ˇr´ık´a singularity\. " • jelikoˇzse vych´az´ız re´aln´ych ter´en˚u, v´yˇskov´asouˇradnice (vˇetˇsinou jde o souˇradnici z) je vzhledem k souˇradnic´ım d´elky a ˇs´ıˇrky DMT v niˇzˇs´ı hodnot´ach. Z toho d˚uvodu jsou tak´ev DMT niˇzˇs´ıpˇrev´yˇsen´ı. • k popisu plochy je potˇreba velk´emnoˇzstv´ıdat (z d˚uvodu rozs´ahlosti digit´aln´ıho modelu ter´enu). • zobrazovan´yter´en lze vˇetˇsinou z matematick´eho hlediska ch´apat jako funkci dvou promˇenn´ych z = f(x, y), kde funkˇcn´ıhodnota z je jedno- znaˇcnˇepˇriˇrazen´aa vyjadˇruje v´yˇsku ter´enu v dan´embodˇe [x,y]. Pro- bl´emem jsou pouze pˇrevisy a svisl´eplochy, kter´esamozˇrejmˇeneod- pov´ıdaj´ıcharakteru zobrazen´ı(respektive funkce dvou promˇenn´ych), 2 Teoretick´aˇc´ast Datov´areprezentace ter´enu protoˇze jednomu bodu [x, y] je pˇriˇrazeno v´ıce v´yˇskov´ych hodnot z. Sin- gularity lze ch´apat z matematick´eho hlediska jako m´ısta s nespojit´ymi parci´aln´ımi derivacemi funkce popisuj´ıc´ıtvar ter´enu. 2.2 Datov´areprezentace ter´enu Pro snadn´ypopis ter´enu se ˇcasto pouˇz´ıv´arozdˇelen´ıcel´eplochy DMT na menˇs´ı ˇc´asti, kter´ese daj´ı jednoduˇsejigeometricky popsat. Podle charakteristiky tˇechto ploˇsek se rozliˇsuj´ın´asleduj´ıc´ıtypy model˚u: • Polyedrick´ymodel { V tomto modelu jsou element´arn´ı ploˇsky tvoˇreny troj´uheln´ıky. Tyto troj´uheln´ıky k sobˇepˇril´ehaj´ı a tvoˇr´ı tak mnohostˇen(bez podstavy), kter´yse pˇrimyk´ak ter´enu. Vrcholy mnohostˇenu (tedy jednotliv´evrcholy troj´uheln´ık˚u) jsou body na ter´enn´ıploˇse.Ty jsou souˇradnicovˇepˇredem urˇcen´e. { Interpolace plochy ter´enu se prov´ad´ıline´arnˇepo troj´uheln´ıc´ıch. Vrcholy troj´uheln´ık˚uje vˇsakvhodn´ezvolit tak, aby vystihovaly nejen obecnˇepr˚ubˇehtvaru ter´enu, ale i jeho singularity. { Popis tohoto modelu je rozdˇelen do geometrick´e ˇc´asti, kter´aud´av´a souˇradnice vrchol˚utroj´uheln´ık˚u, a do ˇc´asti topologick´e, jej´ımˇz´uko- lem je pˇriˇrazovat vrcholy jednotliv´ym troj´uheln´ık˚um a udrˇzetsou- sednost troj´uheln´ık˚u. • Rastrov´ymodel { Tento model je d´an mnoˇzinou element´arn´ıch ploˇseknad prvky pravideln´eho rastru1. Jde vlastnˇeo ˇctyˇr´uheln´ıky, kter´eje moˇzno rozdˇelit na troj´uheln´ıky. { V´yhoda tohoto modelu je v tom, ˇzepracuje s pravidelnou matic´ı uzlov´ych bod˚u, kter´ese daj´ısnadno vypoˇc´ıtat a nen´ınutn´eo nich udrˇzovat vˇsechny ´udaje. Naopak nev´yhodou m˚uˇzeb´yt r˚uznorod´y ter´en, kter´yobsahuje napˇr´ıklad rozs´ahl´erovn´eplochy a z´aroveˇn vysok´epohoˇr´ı. V tom pˇr´ıpadˇeje tedy nutn´etento model rozdˇelit na menˇs´ımodely, kter´ereprezentuj´ıdan´ytyp povrchu a zpraco- v´avat je ve vhodn´emrozliˇsen´ı, kaˇzd´eho tohoto podmodelu. 1Rastr = mˇr´ıˇzka bod˚u. 3 Teoretick´aˇc´ast RenderMan shading language { Rastrov´ymodel je v principu definov´an prostorov´ymi souˇradnicemi kaˇzd´eho bodu rastru (tedy souˇradnicemi bodu x, y, z). Pˇri prakti- ck´empouˇzit´ıstaˇc´ıurˇcit vzd´alenost bod˚urastru a um´ıstit jeden bod do souˇradn´eho syst´emu. Vˇsechny ostatn´ıbody se pak snadno dopoˇc´ıtaj´ı. Z toho tedy vypl´yv´a, ˇzeprakticky pouˇziteln´yrastrov´y form´at m˚uˇzeobsahovat pouze: ∗ souˇradnice jednoho rohu rastru ∗ ´uhel natoˇcen´ırastrov´es´ıtˇe ∗ rozmˇerjednoho prvku rastru ∗ matici v´yˇskov´ych hodnot kaˇzd´eho bodu rastru • Pl´atov´ymodel { Tento typ modelu pˇredpokl´ad´a, ˇzese povrch rozdˇel´ına nepravidel´e, obecnˇekˇriv´eploˇsky troj´uheln´ıkov´eho tvaru, pˇriˇcemˇzhranice se ve- dou po singularit´ach (v pˇr´ıpadˇe,ˇzese v modelu vyskytuj´ı).
Recommended publications
  • Sistema GRID Para El Render De Escenas 3D Distribuido: YAFRID
    UNIVERSIDAD DE CASTILLA-LA MANCHA ESCUELA SUPERIOR DE INFORMATICA´ INGENIERIA´ EN INFORMATICA´ PROYECTO FIN DE CARRERA Sistema GRID para el Render de Escenas 3D Distribuido: YAFRID Jose´ Antonio Fernandez´ Sorribes Julio, 2006 UNIVERSIDAD DE CASTILLA-LA MANCHA ESCUELA SUPERIOR DE INFORMATICA´ Departamento de Informatica´ PROYECTO FIN DE CARRERA Sistema GRID para el Render de Escenas 3D Distribuido: YAFRID Autor: Jose´ Antonio Fernandez´ Sorribes Director: Carlos Gonzalez´ Morcillo Julio, 2006 c Jose´ Antonio Fernandez´ Sorribes. Se permite la copia, distribucion´ y/o modificacion´ de este documento bajo los terminos´ de la licencia de documentacion´ libre GNU, version´ 1.1 o cualquier version´ posterior publicada por la Free Software Foundation, sin secciones invariantes. Puede consultar esta licencia en http://www.gnu.org. Este documento ha sido compuesto con LATEX. Las figuras que contiene han sido en su mayor´ıa creadas con OpenOffice y El GIMP y los diagramas UML con ArgoUML y Umbrello. Las figuras que aparecen en la introduccion´ a sistemas distribuidos (Apartado 3.5) han sido sacadas de [Moy05]. Las imagenes´ de los dragones de la Figura 3.5 han sido cedidas por Carlos Gonzalez.´ Los derechos de la imagen de Toy Story que aparece en la Introduccion´ pertenecen a Pixar Animation Studios (TM y c 1986 - 2006). TRIBUNAL: Presidente: Vocal: Secretario: FECHA DE DEFENSA: CALIFICACION:´ PRESIDENTE VOCAL SECRETARIO Fdo.: Fdo.: Fdo.: Resumen El ultimo´ paso en el proceso para la generacion´ de imagenes´ y animaciones 3D por ordenador es el llamado render. En esta fase se genera una imagen bidimensional (o un conjunto de imagenes´ en el caso de las animaciones) a partir de la descripcion´ de una escena 3D.
    [Show full text]
  • Renderers List By: Valued Contributing Readers
    Renderers List By: valued contributing readers Max Plugins Name URL/Link Submit Changes Brazil r/s http://www.splutterfish.com/sf/WebContent/B4Max edit BusyRay http://www.busyray.com/ edit Click-VR Visualizer http://www.codeblend.com/products/visualizer edit finalRender http://www.finalrender.com/ edit FryRender [exporter] http://fryrender.com/ edit Light Studio http://www.lichtplaner.com/default_ls.asp edit Luminaire Tools http://sourceforge.net/projects/luminaire/ edit Maxwell http://www.maxwellrender.com/ edit http://usa.autodesk.com/adsk/servlet/index? Mental Ray edit id=6837573&siteID=123112 RenderPipe [exporter] http://www.art-render.com/page/110/renderpipe.htm edit V-Ray http://www.chaosgroup.com/en/2/vray.html edit VoxelRender [exporter] http://voxelrender.ru/about.html edit http://web.archive.org/web/20041014140620/http://homepage AF Render [dead] edit s.irk.ru/frango/af_afr_eng.htm http://web.archive.org/web/20011213215152/http://www.geoci The Atmospheric Engine [dead] edit ties.com/TimesSquare/2143/tests.h ... http://www.renderman.org/RMR/OtherLinks/blackSIGGRAPH. Entropy [dead] edit html http://web.archive.org/web/20021216184710/http://www.integ Insight [dead] edit ra.co.jp/insight/index.htm Jackie [dead?] http://www.movimage.com/ edit http://web.archive.org/web/20021108074314/http://www.light RadioRay [dead] edit workdesign.com/news/pressreleases ... http://web.archive.org/web/20010608120202/http://www.us.ri Raygun [dead] edit ghthemisphere.com/raygun30/raygun ... RayMAX [coma] http://www.raymax.com/ edit RayStudio [dead] http://www.nervana.montana.edu/sculpture/animation.html edit http://web.archive.org/web/20040616063042/http://www.paral RenderP3D [dead] edit elo.com.br/en/solucoes/tecnologia ..
    [Show full text]
  • Chrono::Render a Graphical Visualization Pipeline for Multibody Dynamics Simulations
    Technical Report TR-2014-06 CHRONO::RENDER A GRAPHICAL VISUALIZATION PIPELINE FOR MULTIBODY DYNAMICS SIMULATIONS Daniel Kaczmarek, Aaron Bartholomew, Felipe Gutierrez, Hammad Mazhar, Dan Negrut May 22, 2014 Abstract This paper describes a web-enabled tool capable of generating high quality videos and images from multibody dynamics simulation results. This tool, called Chrono::Render, uses the Blender modeling software as the front end with Pixars RenderMan used to create high quality images. Blender is a free and open source tool used to create and visualize 3D content and provides a robust plugin framework which Chrono::Render leverages. To produce the final image, the Blender front end passes data to a Ren- derMan compliant rendering engine. Along with Pixars PhotoRealistic RenderMan (PRMan), several open source options such as Aqsis, JrMan, or Pixie can be used. Pre-processing is performed on the client side, where the front end generates a work order for the RenderMan compliant rendering engine to process. This work order, which contains several scripts that define the visualization parameters, along with the pre-processed simulation data and other user-defined geometry assets is uploaded to a remote server hosted by the Simulation Based Engineering Lab. This server contains more than a thousand CPU cores used for high performance computing applications, which can be used to render many frames of an animation in parallel. Chrono::Render is free and open source software released under a BSD3 license. Keywords: Chrono::Render, rendering, RenderMan, Blender 1 Contents 1 Introduction 3 2 RenderMan 5 3 Blender Plugin 6 4 Chono::Render Post-Processor 8 5 Server Side Chrono::Render 9 6 Results 9 6.1 Waterwheel .
    [Show full text]
  • Blender and Renderman Building a Production Pipeline for Professional Use
    Blender and Renderman Building a production pipeline for professional use. Ted Gocek [email protected] www.blendertorenderman.org September, 2010 Figure 1: Project Widow©s main character with shadow mapped fake SSS and DoF (rendered using 1.6.0 dev build) Table of Contents Introduction................................................................................................................................................2 Why Renderman?.......................................................................................................................................4 History..........................................................................................................................................4 RenderMan Interface Specification.............................................................................................5 Required capabilities....................................................................................................................6 Optional advanced capabilities ...................................................................................................6 Production Requirements.............................................................................................................6 Feature Set...............................................................................................................................6 Flexibility................................................................................................................................7 Robustness...............................................................................................................................7
    [Show full text]