Computergrafikbelysning - Computer graphics lighting

Computergrafikbelysning er en samling af teknikker, der bruges til at simulere lys i computergrafikscener . Selvom belysningsteknikker giver fleksibilitet i detaljerings- og funktionalitetsniveau, fungerer de også på forskellige niveauer af beregningsmæssig efterspørgsel og kompleksitet . Grafikere kan vælge mellem en række lyskilder, modeller, skyggeteknikker og effekter, der passer til behovene i hver applikation.

Lyskilder

Lyskilder giver mulighed for forskellige måder at introducere lys i grafiske scener.

Punkt

Punktkilder udsender lys fra et enkelt punkt i alle retninger, hvor lysets intensitet falder med afstanden. Et eksempel på en punktkilde er en selvstændig pære.

Image
En retningsbestemt lyskilde, der belyser et terræn.

Retningsbestemt

En retningskilde (eller fjern kilde) lyser ensartet en scene fra en retning. I modsætning til en punktkilde ændrer lysintensiteten, der produceres af en retningskilde, ikke med afstanden, da retningskilden behandles som om den er ekstremt langt væk fra scenen. Et eksempel på en retningskilde er sollys.

Spotlight

En spot frembringer en rettet kegle af lys. Lyset bliver mere intens tættere på spotlyskilden og til midten af ​​lyskeglen. Et eksempel på en spotlight er en lommelygte.

Omgivende

Omgivende lyskilder oplyser objekter, selv når der ikke er nogen anden lyskilde. Intensiteten af ​​omgivende lys er uafhængig af retning, afstand og andre objekter, hvilket betyder, at effekten er fuldstændig ensartet i hele scenen. Denne kilde sikrer, at objekter er synlige selv i fuldstændigt mørke.

Lightwarp

En letkrig er en teknik, hvor et objekt i den geometriske verden bryder lys baseret på lysets retning og intensitet . Lyset forvrænges derefter ved hjælp af et diffust omgivende udtryk med et område af farvespektret . Lyset kan derefter reflekteres spredt for at producere en højere dybdeskarphed og brydes . Teknikken bruges til at producere en unik gengivelsesstil og kan bruges til at begrænse overeksponering af objekter. Spil som Team Fortress 2 bruger rendering teknik til at skabe en tegneserie cel skyggefulde stiliseret look.

Belysningsinteraktioner

I computergrafik består lys normalt af flere komponenter. Den samlede effekt af en lyskilde på et objekt bestemmes af kombinationen af ​​objektets interaktioner med disse komponenter. De tre primære belysningskomponenter (og efterfølgende interaktionstyper) er diffuse, omgivende og spekulære.

Image
Dekomponering af lysinteraktioner.

Spredt

Diffus belysning (eller diffus refleksion ) er den direkte belysning af et objekt ved en jævn mængde lys, der interagerer med en lysspredende overflade. Efter lyset rammer et objekt, reflekteres det som en funktion af objektets overfladeegenskaber såvel som vinklen for indgående lys. Denne interaktion er den primære bidragyder til objektets lysstyrke og danner grundlaget for dets farve.

Omgivende

Da omgivende lys er retningsfrit, interagerer det ensartet på tværs af alle overflader, med sin intensitet bestemt af styrken af ​​de omgivende lyskilder og egenskaberne af genstanders overfladematerialer, nemlig deres omgivende refleksionskoefficienter .

Specular

Den specielle belysningskomponent giver objekter glans og højdepunkter. Dette adskiller sig fra spejleffekter, fordi andre genstande i miljøet ikke er synlige i disse refleksioner. I stedet skaber spekulær belysning lyspunkter på objekter baseret på intensiteten af ​​den spekulære belysningskomponent og overfladens spejlreflektionskoefficient.

Belysningsmodeller

Belysningsmodeller bruges til at replikere lyseffekter i gengivne miljøer, hvor lyset tilnærmes baseret på lysets fysik. Uden belysningsmodeller ville replikering af lyseffekter, som de forekommer i den naturlige verden, kræve mere behandlingskraft end praktisk for computergrafik. Formålet med denne belysning eller belysningsmodel er at beregne farven på hver pixel eller mængden af ​​lys, der reflekteres for forskellige overflader i scenen. Der er to hovedbelysningsmodeller, objektorienteret belysning og global belysning. De adskiller sig ved, at objektorienteret belysning betragter hvert objekt individuelt, mens global belysning kortlægger, hvordan lys interagerer mellem objekter. I øjeblikket udvikler forskere globale belysningsteknikker til mere præcist at replikere, hvordan lys interagerer med dets miljø.

Objektorienteret belysning

Objektorienteret belysning, også kendt som lokal belysning, defineres ved at kortlægge en enkelt lyskilde til et enkelt objekt. Denne teknik er hurtig at beregne, men er ofte en ufuldstændig tilnærmelse til, hvordan lys ville opføre sig i scenen i virkeligheden. Det tilnærmes ofte ved at opsummere en kombination af spekulært, diffust og omgivende lys for et specifikt objekt. De to dominerende lokale belysningsmodeller er Phong- og Blinn-Phong-belysningsmodellerne.

Phong belysning model

En af de mest almindelige skyggemodeller er Phong -modellen. Phong -modellen antager, at intensiteten af ​​hver pixel er summen af ​​intensiteten på grund af diffus, spekulær og omgivende belysning. Denne model tager hensyn til placeringen af ​​en betragter for at bestemme spekulært lys ved hjælp af lysvinklen, der reflekterer fra et objekt. Den cosinus af vinklen er taget og opløftet til en potens besluttet af designeren. Med dette kan designeren bestemme, hvor bredt et højdepunkt de ønsker på et objekt; på grund af dette kaldes magten for skinnende værdi. Skinningsværdien bestemmes af overfladens ruhed, hvor et spejl ville have en uendelig værdi, og den hårdeste overflade kan have en værdi af en. Denne model skaber et mere realistisk udseende hvidt højdepunkt baseret på betragterens perspektiv.

Blinn-Phong belysningsmodel

Blinn-Phong-belysningsmodellen ligner Phong-modellen, da den bruger specielt lys til at skabe et højdepunkt på et objekt baseret på dets skinnende. Blinn-Phong adskiller sig fra Phong-belysningsmodellen, da Blinn-Phong-modellen bruger vektoren normal til overfladen af ​​objektet og halvvejs mellem lyskilden og betragteren. Denne model bruges til at have præcis spekulær belysning og reduceret beregningstid. Processen tager mindre tid, fordi at finde den reflekterede lysvektors retning er en mere involveret beregning end beregning af den halvvejs normale vektor . Selvom dette ligner Phong -modellen, giver det forskellige visuelle resultater, og den spejlende refleksionseksponent eller skinnende skal muligvis modificeres for at producere en lignende spejlreflektion.

Global belysning

Global belysning adskiller sig fra lokal belysning, fordi den beregner lys, som den ville rejse gennem hele scenen. Denne belysning er stærkere baseret på fysik og optik, hvor lysstråler spredes, reflekteres og på ubestemt tid hopper gennem scenen. Der forskes stadig aktivt om global belysning, da det kræver mere beregningskraft end lokal belysning.

Ray -sporing

Image
Billede gengivet ved hjælp af ray tracing

Lyskilder udsender stråler, der interagerer med forskellige overflader gennem absorption, refleksion eller brydning. En observatør af scenen ville se enhver lyskilde, der når deres øjne; en stråle, der ikke når observatøren, går ubemærket hen. Det er muligt at simulere dette ved at få alle lyskilderne til at udsende stråler og derefter beregne, hvordan hver af dem interagerer med alle objekterne i scenen. Denne proces er imidlertid ineffektiv, da de fleste lysstråler ikke ville nå observatøren og ville spilde behandlingstid. Strålesporing løser dette problem ved at vende processen, i stedet sende udsigtsstråler fra observatøren og beregne, hvordan de interagerer, indtil de når en lyskilde. Selvom denne måde mere effektivt bruger behandlingstid og producerer en lyssimulering, der tæt efterligner naturligt lys, har strålesporing stadig høje beregningsomkostninger på grund af de store mængder lys, der når seerens øjne.

Radiositet

Radiositet tager højde for den energi, der afgives af omgivende objekter og lyskilden. I modsætning til strålesporing, som er afhængig af observatørens position og orientering, er radiositybelysning uafhængig af udsigtspositionen. Radiositet kræver mere beregningseffekt end strålesporing, men kan være mere nyttig til scener med statisk belysning, fordi den kun skulle beregnes én gang. Overfladerne på en scene kan opdeles i en stor mængde patches; hver patch udstråler noget lys og påvirker de andre patches, så skal et stort sæt ligninger løses samtidigt for at få den endelige radiositet af hver patch.

Kortlægning af foton

Photon- kortlægning blev oprettet som en to-pass global belysningsalgoritme, der er mere effektiv end raytracing. Det er det grundlæggende princip for sporing af fotoner frigivet fra en lyskilde gennem en række faser. Det første pass inkluderer fotoner, der frigives fra en lyskilde og hopper fra deres første objekt; dette kort over hvor fotonerne er placeret, registreres derefter. Fotonkortet indeholder både positionen og retningen for hver foton, som enten hopper eller absorberes. Det andet pass sker med gengivelse, hvor refleksionerne beregnes for forskellige overflader. I denne proces frakobles fotonkortet fra scenens geometri, hvilket betyder, at gengivelse kan beregnes separat. Det er en nyttig teknik, fordi den kan simulere ætsende, og forbehandlingstrin behøver ikke at gentages, hvis visningen eller objekterne ændres.

Polygonal skygge

Polygonal skygge er en del af rasteriseringsprocessen , hvor 3D -modeller tegnes som 2D -pixelbilleder. Skygge anvender en belysningsmodel i forbindelse med 3D -modellens geometriske attributter for at bestemme, hvordan belysning skal repræsenteres ved hvert fragment (eller pixel) af det resulterende billede. De polygoner i 3D-modellen opbevare de geometriske værdier er nødvendige for skygge proces. Denne information omfatter toppunkt positionelle værdier og fladenormaler , men kan indeholde eventuelle data, såsom tekstur og bump maps.

Image
Et eksempel på flad skygge.
Image
Et eksempel på Gouraud -skygge.
Image
Et eksempel på Phong -skygge.

Flad skygge

Fladskygge er en enkel skygge -model med en ensartet anvendelse af belysning og farve pr. Polygon. Farven og normalen for et toppunkt bruges til at beregne skyggen af ​​hele polygonen. Flad skygge er billig, da belysning for hver polygon kun skal beregnes én gang pr. Gengivelse.

Gouraud skygge

Gouraud -skygge er en type interpoleret skygge, hvor værdierne inde i hver polygon er en blanding af dens toppunktværdier. Hvert toppunkt får sin egen normal, der består af gennemsnittet af overfladens normaler for de omgivende polygoner. Belysningen og skyggen ved dette toppunkt beregnes derefter ved hjælp af gennemsnitsnormalen og den valgte belysningsmodel. Denne proces gentages for alle hjørnerne i 3D -modellen. Dernæst beregnes skyggen af ​​kanterne mellem hjørnerne ved at interpolere mellem toppunktværdierne. Endelig beregnes skyggen inden i polygonen som en interpolation af de omgivende kantværdier. Gouraud -skygge genererer en jævn lyseffekt på tværs af 3D -modellens overflade.

Phong skygge

Phong -skygge , der ligner Gouraud -skygge, er en anden type interpolativ skygge, der blander sig mellem vertex -værdier og skygger polygoner. Den vigtigste forskel mellem de to er, at Phong -skygge interpolerer toppunktets normale værdier over hele polygonen, før den beregner dens skygge. Dette står i kontrast til Gouraud -skygge, som interpolerer de allerede skraverede vertex -værdier over hele polygonen. Når Phong -skygge har beregnet normalen for et fragment (pixel) inde i polygonen, kan den derefter anvende en belysningsmodel, der skygger for det fragment. Denne proces gentages, indtil hver polygon i 3D -modellen er skraveret.

Belysningseffekter

Image
Et reflekterende materiale, der viser ætsende.

Ætsende

Kaustik er en lyseffekt af reflekteret og brydet lys, der bevæger sig gennem et medium. De fremstår som bånd af koncentreret lys og ses ofte, når man ser på vand eller glas. Kaustik kan implementeres i 3D -grafik ved at blande et ætsende teksturkort med teksturkortet over de berørte objekter. Kaustikstrukturen kan enten være et statisk billede, der er animeret for at efterligne virkningerne af kaustik, eller en realtidsberegning af kaustik på et tomt billede. Sidstnævnte er mere kompliceret og kræver baglæns strålesporing for at simulere fotoner, der bevæger sig gennem 3D -gengivelsens miljø. I en foton -kortlægningsbelysningsmodel bruges Monte Carlo -prøveudtagning i forbindelse med strålesporing til at beregne intensiteten af ​​lys forårsaget af kaustikken.

Reflektionskortlægning

Reflektionskortlægning (også kendt som miljøkortlægning) er en teknik, der bruger 2D -miljøkort til at skabe effekten af reflektivitet uden at bruge strålesporing. Da udseendet af reflekterende objekter afhænger af seernes, objekternes og de omkringliggende miljøers relative position, producerer grafiske algoritmer refleksionsvektorer for at bestemme, hvordan objekterne skal farves baseret på disse elementer. Ved hjælp af 2D -miljøkort frem for fuldstændigt gengivne, 3D -objekter til at repræsentere omgivelser, kan refleksioner over objekter bestemmes ved hjælp af enkle, beregningsmæssigt billige algoritmer.

Partikelsystemer

Partikelsystemer bruger samlinger af små partikler til at modellere kaotiske begivenheder med høj kompleksitet, såsom ild, bevægelige væsker, eksplosioner og hår i bevægelse. Partikler, der udgør den komplekse animation, distribueres af en emitter, som giver hver partikel dens egenskaber, såsom hastighed, levetid og farve. Over tid kan disse partikler bevæge sig, ændre farve eller variere andre egenskaber afhængigt af effekten. Typisk inkorporerer partikelsystemer tilfældighed , f.eks. I de oprindelige egenskaber, emitteren giver hver partikel, for at gøre effekten realistisk og ikke-ensartet.

Se også

Referencer