Skip to main content

Ano ang isang OpenGL Shadow?

Isang Open Graphics Library (OpenGL ) Ang anino ay isang visual approximation sa isang three-dimensional (3D) OpenGL tanawin kung paano ang isang anino ay itatapon sa totoong buhay sa ilalim ng magkatulad na mga kondisyon ng pag -iilaw.Ang mga anino ay isang kumplikadong visual na tampok upang maipatupad sa OpenGL , higit sa lahat dahil walang likas na suporta para sa paghahagis ng mga anino sa isang eksena.Mayroong sa halip ng iba't ibang mga pamamaraan na maaaring magamit upang lumikha ng mga anino mula sa mga bagay at geometry sa loob ng isang eksena gamit ang iba't ibang mga tool, tulad ng iba't ibang magagamit na mga buffer, shaders at, sa ilang mga kaso, ang mga extension na nagbibigay ng access sa mga espesyal na tampok sa ilang mga graphicsMga Card.Sa karamihan ng mga kaso, ang kalidad, kawastuhan at bilis ng OpenGL Ang pag -render ng anino ay direktang nauugnay sa kapangyarihan ng pagproseso at memorya ng mga graphic hardware na naroroon sa isang computer o aparato.Ang ilan sa mga mas tanyag na pamamaraan ng pagpapatupad ng isang OpenGL Kasama sa anino ang mga volume ng anino, anino ng pagmamapa at pagsubaybay sa sinag.

Paglikha ng isang application na may OpenGL Ang suporta sa anino ay nangangailangan ng kaalaman sa matematika at isang malalim na pag -unawa sa kung paano ang OpenGL gumagana.OpenGL ay higit na ginagamit upang lumikha ng mga eksena sa 3D na pabago -bago at nai -render sa totoong oras, kaya ang mga algorithm na ginagamit upang lumikha ng mga anino ay hindi lamang dapat na -optimize para sa bilis, ngunit dapat ding maingat na masukat para sa kanilang pagkonsumo ng mga mapagkukunan at anumang mga pagkagambala na maaaringsanhi ng graphics pipeline na ginamit para sa pag -render.Para sa mga kadahilanang ito, ang pinaka pangunahing pamamaraan ng paglikha ng isang anino, na tinatawag na pagsubaybay sa sinag, madalas ay hindi praktikal para sa buong 3D na mga eksena, sapagkat maaaring tumagal ng mahabang panahon.eroplano o posisyon ng camera sa pamamagitan ng isang eksena sa ibabaw ng isang bagay at pagkatapos ay kinakalkula ang kulay ng ibabaw batay sa posisyon ng isa o higit pang mga ilaw na mapagkukunan at iba pang mga kadahilanan.Sa panahon ng proseso ng rasterization, kung saan ang eksena ng 3D ay iginuhit sa isang two-dimensional (2D) na ibabaw upang maipakita ito, ang proseso ng pagsubaybay sa sinag ay dapat isagawa sa bawat pixel na iguguhit at, lalo na sa mga texture o iba pamga katangian ng ibabaw, maaaring kailanganin upang masuri ang parehong mga pixel nang maraming beses.Nangangahulugan ito na ang pagsubaybay sa ray ng real-time, bagaman tumpak itong mag-render ng mga anino, karaniwang hindi praktikal.

Ang isa pang pamamaraan na maaaring magamit upang lumikha ng isang OpenGL reg;Ang Shadow ay kilala bilang Shadow Mapping.Ang pamamaraang ito ay gumagamit ng lalim o stencil buffer upang mag -render ng isang eksena mula sa anggulo ng mapagkukunan ng ilaw bilang isang serye ng mga distansya mula sa ilaw na mapagkukunan hanggang sa mga ibabaw ng iba't ibang mga bagay sa loob ng eksena.Ang eksena ay pagkatapos ay nai -render sa pangalawang beses mula sa tamang anggulo ng pagtingin, na suriin upang makita kung ang bawat pixel ay nahuhulog sa loob ng isang tiyak na saklaw ng distansya sa loob ng buffer, na nagpapahiwatig kung ang pixel ay naiilawan o anino.Ang paggamit ng pagmamapa ng anino ay maaaring maging masinsinang memorya at, na may mga eksena na may higit sa isang ilaw na mapagkukunan, ay maaaring kasangkot sa paggawa ng maraming mga mapa mula sa maraming mga anggulo.

Ang mga volume ng anino ay isang paraan upang lumikha ng isang OpenGL Ang anino na mas tumpak kaysa sa ilang iba pang mga pamamaraan, ngunit nagtatanghal ito ng sariling mga problema.Ang isang dami ng anino na mahalagang ay isang hindi nakikita na piraso ng geometry sa isang eksena na lumalawak mula sa ilaw na ibabaw ng isang bagay na malayo sa ilaw na mapagkukunan.Ang dami na ito ay maaaring suriin laban sa iba pang mga bagay upang makita kung nahuhulog sila sa anino ng ibabaw kung saan nagmula ang dami.Ang pamamaraang ito ay maaaring maging kumplikado at sa huli ay lumikha ng mga visual artifact kapag na -optimize para sa bilis.