Ang proseso ng pag-render ay may mahalagang papel sa pag-unlad ng computer graphics cycle.
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 gumagana 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.
- Pagre-render ng Real-Time: Ang real-time na rendering ay ginagamit pinaka-kitang-kita sa paglalaro at interactive na graphics, kung saan ang mga imahe ay dapat na makalkula mula sa 3D na impormasyon sa isang hindi kapani-paniwalang mabilis na bilis. Dahil imposible upang mahulaan ang eksakto kung paano makikipag-ugnay ang isang manlalaro sa kapaligiran ng laro, ang mga imahe ay dapat na isalin sa "real-time" habang lumalabas ang pagkilos.
- Mga Bagay sa Bilis: Upang lumitaw ang paggalaw, ang minimum na 18 hanggang 20 frame bawat segundo ay dapat na maibigay sa screen. Anumang bagay na mas mababa sa ito at pagkilos ay lilitaw pabagu-bago.
- Ang mga pamamaraan: Ang real-time na pag-render ay lubhang pinabuting sa pamamagitan ng dedikadong graphics hardware, 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: Ang offline rendering ay ginagamit sa mga sitwasyon kung saan ang bilis ay mas mababa sa isang isyu, na may mga kalkulasyon na kadalasang ginagampanan gamit ang mga multi-core CPU kaysa sa nakalaang graphics hardware. Ang offline rendering ay madalas na nakikita 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, ang isa o higit pang mga sinag ng liwanag ay sinusubaybayan mula sa camera patungo sa pinakamalapit na 3D object. Ang ilaw ray ay pagkatapos ay dumaan sa isang hanay ng mga "bounce," na maaaring magsama ng pagmuni-muni o repraksyon depende sa mga materyales sa eksena ng 3D. 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 nang hiwalay sa camera, at nakatuon sa ibabaw 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 ganap na walang kapantay para sa visual na 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 tumagal ng mas malalim na pagtingin sa ilan sa mga karaniwang pamamaraan.