Renderizazio
Renderizazioaedoirudien sintesia2D edo 3D modelo batetik (edo modelatuak modu kolektiboan eszena-fitxategi deitu litekeena)ordenagailu programenbidez irudifotoerrealistaedoez-fotoerrealistasortzeko prozesu automatikoa da. Gainera, halako eredu bat bistaratzeko emaitzarirenderizaziodeitu daiteke. Eszena-fitxategi batek zehaztasunez definitutako hizkuntza edodatu egiturabateko objektuak ditu; geometria, ikuspuntua,testura,argiztapenaeta itzalen informazioa eszena birtualaren deskribapen gisa. Eszena-fitxategian jasotako datuak renderizazio-programa batera pasatu eta irteerairudi digitaledoraster irudigrafikoko fitxategi batean gordetzen da. "Renderizazio" terminoa eszena baten "artistaren renderizazioaren" analogia bat izan daiteke.
Errenderizatzeko metodoen xehetasun teknikoak aldatu egiten badira ere, eszena-fitxategi batean gordetako 3D-ko irudikapen batetik 2D irudia sortzeko gainditu beharreko erronka orokorrakhodi-grafikoetanbezela azaltzen da eta errenderizazio gailu batekin batera, esate baterako,GPUgisa agertzen dira. GPU batCPU-ri laguntzeko eraikia izan den gailua da, renderizazio kalkulu konplexuak egiteko. Eszena nahiko errealista eta aurreikusgarria izan behar bada argiztapen birtualaren bidez, renderizazio-programakrenderizazio-ekuazioaebatzi beharko luke. Errendatze-ekuazioak ez ditu argiztapen fenomeno guztiak kontutan hartzen, baina ordenagailuek sortutako irudientzako argiztapen eredu orokorra da. "Renderizazioa" bideo edizio programa batean efektuak kalkulatzeko prozesua deskribatzeko ere erabiltzen da, amaiera bideo irteera sortzeko.
Renderizazioa3D ordenagailu grafikoenazpiatal nagusietako bat da, eta praktikan beti dago lotuta besteekin.Hodi-grafikoa,azken urrats nagusia da, ereduari eta animazioari azken itxura ematen diona. 1970eko hamarkadaz geroztik ordenagailu grafikoen sofistikazioa gero eta handiagoa izanez, gai berezia bilakatu da.
Renderizazioaarkitektura,bideo-joko,simuladore,pelikulaedo telebistaefektu bisualetaneta diseinuaren bistaratzean erabilera du, eta bakoitzak ezaugarri eta teknika oreka desberdinak ditu. Produktu gisa, renderizadore ugari eskaintzen dira. Batzuk modelatze eta animazio pakete handiagoetan integratuta daude, beste batzuk bakarrik, eta beste batzuk ikode irekiko proiektuak dira. Barrualdean, renderizadore batek arretaz diseinatutako programa bat da, fisika arina,ikusmen pertzepzioa,matematikaetasoftware garapenarierlazionatutako diziplinen nahasketa selektiboan oinarritutakoa.
3D grafikoen kasuan, renderizatzea motel egin daiteke, aurre renderizatzean edo denbora errealean.Aurre-renderizazioaprozesu konputazionalki intentsiboa da eta normalean pelikulak sortzeko erabiltzen da.Denbora errealekorenderizazioa 3D bideo-jokoetarako erabiltzen da eta, horretarako, 3Dhardware bidezko azeleraziotxartel grafikoak erabiltzean oinarritzen da.
Teknikak
[aldatu|aldatu iturburu kodea]Renderizatzekoalgoritmougari ikertu dira, eta renderizatzeko erabilitako softwareak hainbat teknika erabili ditzazke azken irudia lortzeko.
Eszena batekoargi partikulabakoitzaren arrastoa segitzea gehienetan ia ezinezkoa da eta denbora kopuru izugarria beharko luke. Irudia sortzeko nahikoak diren argi partikulen arrastoa segitzea denbora izugarria behar du laginketa ez baldin badago zentzuk mugatuta.
Hori dela eta, argi mugumendu eredua modelatzeko teknika eraginkor solte batzuk sortu dira:
- rasterizazioa,eskaneatze renderizazioabarne, eszenako objektuak irudi plano batean proiektatzen ditu, efektu optiko aurreraturik gabe;
- ray casting-ek eszena ikuspuntu zehatz batetik kontsideratzen du, behatzen den irudia geometrian eta islapen-intentsitateen oso oinarrizko lege optikoetan bakarrik oinarritzen da, eta agian,Montecarlokoteknikak erabiliz artefaktuak murrizteko;
- ray tracingray casting-en antzekoa da, baina simulazio optiko aurreratuagoak erabiltzen ditu, eta normalean Monte Carlo teknikak erabiltzen ditu emaitza errealagoak lortzeko eta askotan abiadura azkarragoetan.
Laugarren motako argia garraiatzeko teknika,irradiazioaez da normalean renderizatu teknika gisa inplementatzen, baizik eta argiaren igarotzea kalkulatzen du argiaren iturria utzi eta gainazalak argitzen dituela. Gainazal hauek normalean beste hiru tekniketako bat erabiliz kalkulatzen dira.
Software aurreratu gehienek bi teknika edo gehiago konbinatzen dituzte, emaitza onak lortzeko zentzuzko kostuarekin.
Beste bereizketa batirudi-ordenakoalgoritmoen artean, zein irudi planoko pixelak iteratzen dutenak, etaobjektu-ordenakoalgoritmoak, zein eszenako objektuak iteratzen dutenak. Orokorrean objektuen ordena eraginkorragoa da, normalean eszena batean objektu gutxiago daude pixelak baino.
Scanline renderizazioa eta rasterizioa
[aldatu|aldatu iturburu kodea]Irudi baten maila-altuko irudikapenak pixelen domeinu desberdinetako elementuak ditu nahitaez. Elementu horieiprimitiboakderitze. Marrazki eskematikoan, adibidez, lerro segmentu eta kurbak primitiboak izan daitezke. Erabiltzaile interfaze grafiko batean, leihoak eta botoiak izan daitezke. 3D ereduak errendatzerakoan, espazioan hiruki eta poligonoak primitiboak izan litezke.
Renderizatzerakoan pixelez-pixel (irudien ordena) hurbilketa zereginetarako zaila edo oso motela bada, orduan renderizatzeko primitiboz-primitiboa (objektuen ordena) hurbilketa erabilgarria izan daiteke. Kasu honetan, begizta baten bidez primitiboak banaka korritu, eta irudiko zein pixel eragiten diren zehazten da eta horren arabera aldatzen dira. Honirasterizazioaderitzo eta gaur egungotxartel grafikoguztiek erabiltzen duten renderizazio metodoa da.
Rasterizazioa pixelez-pixel renderizatzea baino azkarragoa da. Lehenik eta behin, irudiaren eremu handiak primitiborik gabe egon daitezke; rasterizazioak eremu horiek alde batera utziko ditu, baina pixelez-pixel renderizazioak horietatik pasa behar da. Bigarrenik, rasterizazioakcachearen koherentziahobetu dezake eta lan erredundantea murriztu, irudian primitibo batean dauden pixelak ondokoak izaten direla. Arrazoi hauengatik, renderizaziointeraktiboabehar denean rasterizazioa aukeratzen izan ohi da; hala ere, pixelez-pixelen ikuspegiak maiz kalitate handiagoko irudiak sor ditzake eta erabilera anitzekoagoa da, ez baitu irudiaren inguruko suposizio askoren arabera rasterizatu behar.
Rasterizatzearen forma zaharrago bat, aurpegi oso bat (primitiboa) kolore bakarrean renderizatzea da. Bestela, rasterizazioa modu konplikatuago batean egin daiteke lehenik objetu baten aurpegiaren erpinak renderizatuz eta aurpegi horren pixelak erpinen koloreen nahasketa bezala renderizatuz. Rasterizazioaren bertsio honek metodo zaharrak gainditu ditu, grafikoak testura korapilatsurik gabe sortu daitzazkelako (rasterizatutako irudi batek konparazioz bloke-efectu nabarmena due; aurpegiak ez dira lehunak kolorea ez delako gutxinaka adatzen primitibo batetik bestera). Rasterizazio metodo berriago honek txartel grafikoaren itzalketa funtzio zailagoak erabiltzen ditu eta hala ere errendimendu hobea lortzen du, memorian gordetako testura sinpleek leku gutxiago erabiltzen baitute. Batzuetan, diseinatzaileek aurpegi batzuetan rasterizazio metodo bat erabiltzen dute eta besteetan beste metodo aurpegi batek beste bat zein angelutan topatzen den oinarrituta, eta honela abiadura handituz.
Ray casting
[aldatu|aldatu iturburu kodea]Ray castingereduan modelatu den geometria pixelez-pixel analizatzen da, lerroz-lerro, ikuspuntutik kanporantz, izpiak ikuspuntutik ateratzen balira bezala. Objektu bat gurutzatzen den lekuan, puntu horretako kolore balioa hainba metodo erabiliz ebaluatu daiteke. Sinpleenean, gurutzatzen den puntuan objektuaren kolore balioa pixel horren balioa bihurtzen da. Koloreaehundura-mapabatean zehaztu daiteke. Metodo sofistikatuago bat kolorearen balioa argiztapen-faktore batez aldatzea da, baina simulatutako argi-iturriarekin erlazioa kalkulatu gabe. Artefaktuak murrizteko, norabide antzekoen izpi batzuen batez-bestekoak egin daiteke.
Ray castingean "ikuspegiaren norabidea" kalkulatzea da (kameraren posiziotik), eta inkrementalki eszenako "ray cast" -a jarraituz "3D objetu solido" -en zehar, 3D espazioan puntu bakoitzeko balioa metatuz. Hau "ray tracing" -arekin erlazionatuta dago eta antzekoak dira, baino raycast-a ez da "errebotatzen" gainazaletik. "Ray casting" argi izpiak bide zuzen bat jarraitzen duela adierazten du (non objektu erdi-gardenak zeharkatzea barne egon daiteke). Ray cast-a kamera edo eszena-mutur batean sor daitekeen bektorea da. Batzuetan, azken argi balioa "transferentzia funtzio" batetik eratorria da eta beste batzuetan zuzenean erabiltzen da.
Propietate optikoen gutxi gorabeherako simulazioa ere erabil daitezke: objektutik ikuspegira izpiaren kalkulu sinple bat egiten da. Beste kalkulu bat egiten da argi izpien intzidentzia angeluarekin argiaren iturburutik, eta hauetatik eta argi iturrien espezifikatutako intentsitatearekin, pixelaren balioa kalkulatzen da. Beste simulazio batek, erradiotasun algoritmo batetik irudikatutako argiztapena erabiltzen du, edo bi hauen konbinaketa bat.
Ray tracing
[aldatu|aldatu iturburu kodea]Ray tracing-ek argiaren fluxu naturala simulatzea helburua du, partikulak bezala interpretatuz. Sarritan, ray tracing metodoak erabiltzen dirarenderizatze-ekuazioarenemaitza hurbiltzekoMonte Carlo metodoakaplikatuz. Metodo erabilienetariko batzukpath tracing,bi noranzko path tracing-a edoMetropolis light transportdira, baina metodo erdi-errealista batzuk ere erabiltzen dira,Whitted Style Ray Tracingedo hibridoak bezala. Inplementazio gehienek argia lerro zuzenetan hedatzen uzten duten bitartean, espazio-denbora efektu erlatibistak simulatzeko aplikazioak existitzen dira.
Erabilera
[aldatu|aldatu iturburu kodea]Aurre irudia (wireframezirriborroa normalean) osatuta dagoenean, renderizazioa erabiltzen da,bitmap-texturakedotextura prozeduralak,argiak,erliebe-mapeaketaeta posizio erlatiboa gehitzen dituena beste objektu batzuekin. Emaitza kontsumitzaileak edo nahi duen ikusleak ikusten duen irudia da.
Pelikulen animazioetarako, hainbat irudi (fotograma) renderizatu behar dira eta mota honetako animazioak egiteko gai den programa batean bildu. 3D irudiak editatzeko programa gehienek egin dezakete.
Aurrerrenderizazioa
[aldatu|aldatu iturburu kodea]Aurrez renderizatutako irudiak erabiltzeari deitzen zaio aurrerenderizazioa. Objektu konplexu bati dagozkion renderizazioak aurrez kalkula daitezke, hau da, ikuspuntu desberdinetatik begiratuz objektuaren irudiak aurretik makina ahaltsu batean kalkulatu eta jaso ditzakegu. Gerora, animazio batean objektu hori sartu behar badugu, objektu konplexuaren poligonoen renderizazioa egin beharrean, begiratze direkzioaren arabera irudi egokia aukeratu eta irudi aurrerrenderizatua ehundura moduan sar daiteke. Izan ere, ehunduraren pixelak irudian txertatzea objektu konplexuaren poligonoak renderizatzea baino askoz azkarragoa da: objektu konplexu horrek berak bere poligonoetan hainbat ehundura eduki ditzake.
Joko zaharretan asko erabiltzen zen (2003 urtetik atzerakoetan), 3D eta 2D arteko nahasketak egiten baitzituzten. Hiru dimentsiotan kalkulatzen zutena objektu mugikorrei zegokiena zen eta hondoko irudiaren gainean mugitu arazten zituzten. Hondoko irudia eta bertako objektuak ehundura geldi bat ziren. Talka-kutxak erabiltzen zituzten pertsonaiak hondoko irudiko objektuekin talka noiz egin behar zuen kalkulatzeko, horrela, objektuok ez zituzten zeharkatzen. Teknika horren desabantaila nagusia kamera askeak erabiltzeko garaian ageri zen. Eszenaren ikuspegi jakin batzuen irudiak besterik ez zeuzkaten aurrerrenderizatuta, eta ondorioz, kamerak ikuspegi horiek besterik ezin zituen eskaini. Metodo hau asko erabili zen besteak besteResident EviletaDino Crisisbezalako jokoetan.
Gaur egun aurrerrenderizazioa 3Dko objektu estatikoen ehundura gisa erabiltzen da: esate baterako, horma batean eszenako objektu estatiko batek itzala eragiten badu, renderizazio-motorrak itzal hori fotograma bakoitzean kalkulatu beharko luke, baina nahikoa da kalkulu hori behin egitea eta jasotzea. Horrela, fotograma bakoitzean hormari dagokion irudia, itzala duena, hormaren ehundura moduan gehitzea nahikoa izango da. Beste hainbat detaile kalkulatzeko ere erabiltzen da, baina aurrera begira gero eta gutxiago erabiliko dela aurre ikus daiteke, izan ere, dinamismoa kentzen du: aurreko itzalaren kalkuluan, esate baterako, argiaren ezaugarriak aldatuko balira itzala ere aldatu egin beharko litzateke, baina motor grafikoak ez duenez unean uneko itzala kalkulatzen ezingo litzateke aldaketaren eraginik ikusi.
"Renderizazio" hitzaren beste erabilera
[aldatu|aldatu iturburu kodea]Duela hainbat urte bi dimentsioetako irudien edizioan ere renderizazio hitza erabiltzen hasi ziren. Argazkiei aldaketak eragiteari, irudiak nahasteari eta antzeko prozesuei ere renderizatzea deitzen diote. Kasu horretan ez da renderizazio-motorrik erabiltzen, baina irudien gainean aldaketak eragiten dituzte eta hitz bera erabiltzen dute. Zenbaiten esanetan erabilera okerra da. Gaizki erabilitako termino hau interneten zehar zabaldu da, eragin gehien izan dutenak irudi digitalen edizio tutorialak doainik argitaratzen dituzten orrietan izan da, diseinatzaile amateur berriek "renderizatu" terminoa gaizki erabiltzeko aukera emanez.
Bibliografia
[aldatu|aldatu iturburu kodea]- Akenine-Möller, Haines; Eric. (2004).Real-time rendering.(2. argitaraldia) Natick, Mass.: AK PetersISBN978-1-56881-182-6..
- Blinn, Jim. (1996).Jim Blinn's corner: a trip down the graphics pipeline.San F rancisco, Calif.: Morgan Kaufmann PublishersISBN978-1-55860-387-5..
- Cohen, Michael F.; Wallace, John R.. (1998).Radiosity and realistic image synthesis.(3. argitaraldia) Boston, Mass. [u.a.]: Academic Press ProfessionalISBN978-0-1 2-178270-2..
- Advanced global illumination.([Online-Ausg.]. argitaraldia) Natick, Mass.: A K PetersISBN978-1-56881-177-2..
- Foley, James D.. (1990).Computer graphics: principles and practice.Reading, Mass.: Addison-WesleyISBN978-0-201-12110-0..
- An introduction to ray tracing.(3. argitaraldia) London [u.a.]: Acad. PressISBN978-0-12-286160-4..
- Glassner, Andrew S.. (2004).Principles of digital image synthesis.(2. argitaraldia) San Francisco, Calif.: KaufmannISBN978-1-55860-276-2..
- Gooch, Bruce; Gooch, Amy. (2001).Non-photorealistic rendering.Natick, Mass.: A K PetersISBN978-1-56881-133-8..
- Jensen, Henrik Wann. (2001).Realistic image synthesis using photon mapping.Natick, Mass.: AK PetersISBN978-1-56881-147-5..
- Pharr, Matt; Humphreys, Greg. (2004).Physically based rendering from theory to implementation.Amsterdam: Elsevier/Morgan KaufmannISBN978-0-12-5 53180-1..
- Shirley, Peter. (2003).Realistic ray tracing.(2. argitaraldia) Natick, Mass.: AK PetersISBN978-1-56881-198-7..
- Strothotte, Thomas; Schlechtweg, Stefan. (2002).Non-photorealistic computer graphics modeling, rendering, and animation.(2. argitaraldia) San Francisc o, CA: Morgan KaufmannISBN978-1-55860-787-3..
- Ward, Gregory J.. (July 1994).«The RADIANCE Lighting Simulation and Rendering System»Siggraph 94.
Ikus, gainera
[aldatu|aldatu iturburu kodea]Kanpo estekak
[aldatu|aldatu iturburu kodea]- GPU Rendering Magazine,online CGI aldizkaria GPU errendatzearen abantailei buruz
- SIGGRAPHACM-ren interes-talde berezia grafikoetan: elkarte eta kongresu akademiko eta profesionalik handiena.
- https://web.archive.org/web/20040923075327/http:// cs.brown.edu/~tor/Sareko siggraph paperen (eta beste batzuen) esteken lista.