Ang proseso ng pag-render ay may mahalagang papel sa pag-unlad ng computer graphics cycle. Hindi kami magkakaroon ng labis na lalim dito, ngunit walang pag-uusap ng CG pipeline ay magiging kumpleto nang hindi bababa sa pagbanggit ng mga tool at mga pamamaraan para sa pag-render ng mga imaheng 3D.
Tulad ng Pagbuo ng Pelikula
Ang pagre-render ay ang pinaka-komplikadong komplikadong aspeto ng 3D na produksyon, ngunit maaari itong talagang maunawaan nang simple sa konteksto ng isang pagkakatulad: Karamihan tulad ng isang litratista ng pelikula ay dapat bumuo at i-print ang kanyang mga larawan bago maipakita, ang mga propesyonal sa computer graphics ay nabigyan ng katulad pangangailangan.
Kapag ang isang artist ay nagtatrabaho sa isang eksena sa 3D , ang mga modelo na kanyang manipulahin ay talagang isang representasyon ng matematika ng mga punto at ibabaw (mas partikular, mga vertex at polygon) sa tatlong-dimensional space.
Ang terminong pag- render ay tumutukoy sa mga kalkulasyon na isinagawa ng render engine ng 3D software package upang isalin ang eksena mula sa isang mathematical approximation sa isang finalized 2D na imahe. Sa panahon ng proseso, pinagsama ang impormasyon ng spatial, textural, at lighting ng buong eksena upang matukoy ang halaga ng kulay ng bawat pixel sa flat image.
Dalawang Uri ng Pag-render
Mayroong dalawang mga pangunahing uri ng pag-render, ang kanilang pangunahing pagkakaiba ay ang bilis kung saan ang mga imahe ay nakalkula at tinatapos.
- Ang Real-Time na Pagre-render: Ang Real-Time Rendering ay ginagamit na pinaka-kitang-kitang sa paglalaro at interactive na mga graphics, kung saan ang mga imahe ay kinakalkula mula sa 3D na impormasyon sa isang napakabilis na bilis.
- Interactivity: Dahil imposible upang mahulaan nang eksakto kung paano nakikipag-ugnayan ang isang manlalaro sa kapaligiran ng laro, ang mga imahe ay dapat na maisasalin sa "real-time" habang lumalabas ang pagkilos.
- Mga Bagay sa Bilis: Upang ang paggalaw ay lumitaw ang likido, ang minimum na 18-20 frames bawat segundo ay dapat na maibigay sa screen. Anumang bagay na mas mababa sa ito at pagkilos ay lilitaw pabagu-bago.
- Ang mga paraan: Ang real-time na pag-render ay lubhang pinabuting sa pamamagitan ng naka- dedikadong graphics hardware (GPUs), at sa pamamagitan ng pre-pag-compile ng maraming impormasyon hangga't maaari. Ang isang mahusay na deal ng impormasyon sa pag-iilaw ng kapaligiran ng laro ay na-computed at "inihurnong" direkta sa mga file ng texture ng kapaligiran upang mapabuti ang bilis ng pag-render.
- Offline o Pre-Rendering: Ginagamit ang offline rendering sa mga sitwasyon kung saan ang bilis ay mas mababa sa isang isyu, na may mga kalkulasyon na kadalasang gumanap gamit ang mga multi-core CPU kaysa sa dedikadong graphics hardware.
- Mahuhulaan: Ang offline rendering ay nakikita nang madalas sa animation at mga epekto sa trabaho kung saan ang visual na kumplikado at photorealism ay gaganapin sa isang mas mataas na pamantayan. Dahil walang hindi mapagpasiya kung ano ang lilitaw sa bawat frame, ang malalaking mga studio ay kilala na maglaan ng hanggang 90 oras na oras ng pag-render sa mga indibidwal na frame.
- Photorealism: Dahil ang offline rendering ay nangyayari sa loob ng isang open-ended time-frame, ang mas mataas na antas ng photorealism ay maaaring makamit kaysa sa real-time na pag-render. Ang mga character, kapaligiran, at ang kanilang nauugnay na mga texture at mga ilaw ay karaniwang pinapayagan ang mas mataas na bilang ng polygon, at 4k (o mas mataas) na mga file ng texture na resolusyon.
Mga Rendering Techniques
May tatlong pangunahing mga diskarte sa computational na ginagamit para sa karamihan ng pag-render. Ang bawat isa ay may sariling hanay ng mga pakinabang at disadvantages, na ginagawang lahat ng tatlong mga pagpipilian na maaaring mabuhay sa ilang mga sitwasyon.
- Scanline (o rasterization): Ang pag- render ng scanline ay ginagamit kapag ang bilis ay isang pangangailangan, na ginagawang pamamaraan ng pagpili para sa real-time rendering at interactive na graphics. Sa halip na pag-render ng isang pixel-by-pixel na imahe, ang compute ng scanline sa isang polygon sa pamamagitan ng polygon na batayan. Ang mga diskarte sa scanline na ginamit kasabay ng precomputed (inihurnong) ilaw ay makakamit ang bilis ng 60 frame kada segundo o mas mahusay sa isang high-end na graphics card.
- Raytracing: Sa raytracing, para sa bawat pixel sa eksena, isa (o higit pa) ray (s) ng liwanag ang sinubaybayan mula sa camera patungo sa pinakamalapit na 3D object. Ang ilaw ray pagkatapos ay dumaan sa isang hanay ng mga "bounce", na maaaring magsama ng pagmuni-muni o repraksyon depende sa mga materyales sa 3D scene. Ang kulay ng bawat pixel ay nakalkula nang algorithmically batay sa pakikipag-ugnayan ng light ray sa mga bagay sa traced landas nito. Ang Raytracing ay may kakayahang mas higit na photorealism kaysa scanline ngunit exponentially mas mabagal.
- Radiosity: Hindi tulad ng raytracing, ang radiosity ay kinakalkula independiyenteng ng camera, at ibabaw oriented sa halip na pixel-by-pixel. Ang pangunahing function ng radiosity ay upang mas tumpak na gayahin ang kulay ng ibabaw sa pamamagitan ng accounting para sa hindi direktang pag-iilaw (bounced nagkakalat liwanag). Ang radiosity ay karaniwang nailalarawan sa pamamagitan ng malambot na nagtatapos na mga anino at kulay ng pagdurugo, kung saan ang ilaw mula sa maliwanag na kulay na mga bagay "dumudugo" papunta sa kalapit na mga ibabaw.
- Sa pagsasagawa, ang radiosity at raytracing ay madalas na ginagamit kasabay ng isa't isa, gamit ang mga bentahe ng bawat sistema upang makamit ang kahanga-hangang antas ng photorealism.
Rendering Software
Kahit na ang pag-render ay nakasalalay sa hindi kapani-paniwalang sopistikadong mga kalkulasyon, ang software ngayon ay nagbibigay ng madaling maunawaan ang mga parameter na ginagawa ito upang hindi kailanman kailangan ng isang artist upang harapin ang pinagbabatayan ng matematika. Ang render engine ay kasama sa bawat pangunahing 3D suite ng software, at karamihan sa mga ito ay kasama ang mga pakete ng materyal at lighting na ginagawang posible upang makamit ang mga nakamamanghang antas ng photorealism.
Ang dalawang pinakakaraniwang render engine:
- Mental Ray - Nakabalot sa Autodesk Maya. Mental Ray ay hindi mapaniniwalaan o kapani-paniwala maraming nalalaman, medyo mabilis, at marahil ang pinaka-karampatang tagapag-render para sa mga imahe ng character na kailangan subsurface scattering. Gumagamit ang ray ng isip ng kumbinasyon ng raytracing at "global illumination" (radiosity).
- V-Ray - Karaniwang makikita mo ang V-Ray na ginamit kasabay ng 3DS Max-magkasama ang pares ay walang pasubali para sa pag-visual ng arkitektura at pag-render ng kapaligiran. Ang mga pangunahing bentahe ng VRay sa katunggali nito ay ang mga tool sa pag-iilaw nito at malawak na library ng mga materyales para sa arch-viz.
Ang pag-render ay isang teknikal na paksa, ngunit maaaring maging medyo kawili-wili kapag nagsisimula ka nang magsimulang mag-isang mas malalim na pagtingin sa ilan sa mga karaniwang pamamaraan.