Hva er en OpenGL® Shadow?

En Open Graphics Library® (OpenGL®) Shadow er en visuell tilnærming i en tredimensjonal (3D) OpenGL®-scene for hvordan en skygge ville bli støpt i det virkelige liv under lignende lysforhold. Shadows er et komplekst visuelt trekk å implementere i OpenGL®, hovedsakelig fordi det ikke er noen medfødt støtte for å støpe skygger i en scene. Det er i stedet en rekke teknikker som kan brukes til å lage skygger fra objekter og geometri i en scene ved hjelp av forskjellige verktøy, for eksempel de forskjellige tilgjengelige buffere, skyggelegger, og i noen tilfeller utvidelser som gir tilgang til spesielle funksjoner på visse grafikkort. I de fleste tilfeller er kvaliteten, nøyaktigheten og hastigheten til OpenGL® Shadow -gjengivelsen direkte relatert til prosessorkraften og minnet til grafikkmaskinvaren som er til stede på en datamaskin eller enhet. Noen av de mer populære metodene for å implementere en OpenGL® Shadow inkluderer skyggevolum, skyggekartlegging og stråle.

Å lage en applikasjon som har OpenGL® Shadow Support krever matematisk kunnskap og en dyp forståelse av hvordan OpenGL® fungerer. OpenGL® brukes i stor grad til å lage 3D -scener som er dynamiske og gjengis i sanntid, så algoritmene som brukes til å lage skygger, må ikke bare optimaliseres for hastighet, men også må måles nøye for deres forbruk av ressurser og eventuelle forstyrrelser som kan være forårsaket i grafikken som brukes til å gjengi. Av disse grunner er den mest grunnleggende metoden for å lage en skygge, kalt stråle -sporing, ofte upraktisk for full 3D -scener, fordi det kan ta veldig lang tid.

Strålesporing følger i utgangspunktet en imaginær linje, eller stråle, fra visningsplanet eller posisjonen til kameraet gjennom en scene til et objekts overflate og beregner deretter fargen på overflaten basert på plasseringen av en eller flere lyskilder og andre faktorer. Under rasterprosessen, der3D-scenen trekkes til en todimensjonal (2D) overflate slik at den kan vises, prosessen med strålesporing må utføres på hver piksel som blir tegnet, og spesielt med teksturer eller andre overflateegenskaper kan det hende at de må vurdere de samme pikslene flere ganger. Dette betyr at sanntidsstrålesporing, selv om det nøyaktig vil gjengi skygger, vanligvis ikke er praktisk.

En annen metode som kan brukes til å lage en OpenGL® Shadow er kjent som skyggekartlegging. Denne metoden bruker dybden eller sjablongbufferen for å gjengi en scene fra lyskildens vinkel som en serie avstander fra lyskilden til overflatene til forskjellige gjenstander i scenen. Scenen blir deretter gjengitt en gang fra riktig synsvinkel, og sjekker for å se om hver piksel faller innenfor et visst avstandsområde innenfor bufferen, noe som indikerer om pikselen er tent eller skyggelagt. Å bruke skyggekartlegging kan være minnekrevende og med scener som har mer enn en lyskilde, kan involvere mAking flere kart fra flere vinkler.

Shadow Volumes er en måte å lage en OpenGL® Shadow som er mer nøyaktig enn noen andre metoder, men den gir sine egne problemer. Et skyggevolum er egentlig et usynlig stykke geometri i en scene som utvides fra den opplyste overflaten til et objekt bort fra lyskilden. Dette volumet kan sjekkes mot andre gjenstander for å se om de faller i skyggen av overflaten som volumet har sin opprinnelse fra. Denne prosedyren kan være veldig kompleks og til slutt lage visuelle gjenstander når den er optimalisert for hastighet.

ANDRE SPRÅK