Hva er en sjablongbuffer?

I datagrafikkprogrammering er en sjablongbuffer et minneområde som kan trekkes til og brukes i forhold til andre grafikkbuffere for å oppnå forskjellige effekter, eller for å maskere områder i en scene slik at de ikke blir behandlet eller gjengitt. En sjablongbuffer er en per-pikselbuffer som ligner på et svart-hvitt bilde, der hvert sted i bufferen kan inneholde en verdi som oftest er 1 byte lenge på det meste, men som kan være så liten som 1 bit. Bufferen ble opprinnelig designet for å fungere som en ekte eller falsk maske, omtrent som en stencil fra den virkelige verden, slik at områder av en scene kunne bli tilslørt eller ignorert ved å sette verdiene til forskjellige regioner i sjablongen Buffer til en annen verdi enn null. Det er en rekke bruksområder for bufferen utover enkel maskering, inkludert å tegne et skyggevolum, implementere glorier rundt objekter eller lokalisere områder der gjenstander overlapper hverandre. I mange tilfeller opprettholdes bufferen i grafikkminnet på et grafikkort, slik at det kan nås raskt under RenderiNg.

Konseptet med en sjablongbuffer var opprinnelig en måte å lage en todimensjonal (2D) maske som kunne brukes på en tredimensjonal (3D) scene når toppunktene beveget seg gjennom grafikkledningen. Hvis plasseringen av 3D -toppunktet, en gang rastert, relatert til et område av sjablongbufferen som ikke ble satt til null, kunne den toppunktet ignoreres og resten av rørledningsbehandlingen hoppet over. Dette tillot programmerere en måte å gjengi bare små deler av en scene eller å gjengi et bilde til en uregelmessig formet utsiktsport, for eksempel en refleksjon i et lite speil i en større scene, der formen på speilet trekkes som en sjablong i bufferen, og deretter blir refleksjonen trukket gjennom den formen.

Hukommelseshensyn førte til at den opprinnelige formen for en sjablongbuffer var et rutenett med enkeltbitsverdier der hver piksel i bufferen bare kunne være sant eller usant. Når grafikkort utvikler segED, de fleste buffere ble i stand til å holde en full byteverdi på hvert pikselsted, slik at programmerere kunne ha mer komplekse verdier på et sted. Dette kan tillate at bufferen kan brukes til å oppdage områder der objekter overlapper hverandre, noe som kan gjøres ved å øke verdien av bufferen på et sted hvis et objekt okkuperer den pikselen på skjermen når det raster. Etter denne operasjonen vil verdien av hver pikselplassering i bufferen være lik antall objekter som krysser den piksel på en skjerm.

En av de mest populære bruksområdene for en sjablongbuffer er å lage volumskygger. Dette kan gjøres ved først å gjengi en scene med veldig svak belysning, slik at alt ser ut til å være skyggelagt. Deretter blir det foretatt beregninger for å bestemme plasseringen av alle polygonoverflatene i scenen som er opplyst av en lyskilde, og disse formene blir overført til sjablongbufferen. Scenen blir gjengitt igjen som om hvert objekt er fullstendig opplyst og blandes gjennom sjablongformene på den skyggelagte scenen, EFÅ lage et bilde som ser ut til å inneholde objekter med skygger.

ANDRE SPRÅK