Kaj je pufer za šablone?

V programiranju računalniške grafike je medpomnilnik šablone območje pomnilnika, ki ga je mogoče narisati in uporabiti v povezavi z drugimi grafičnimi medpomnilniki za doseganje različnih učinkov ali za prikrivanje območij scene, tako da ne bodo obdelana ali upodobljena. Vmesni pomnilnik šablon je medpomnilnik na slikovno piko, podoben črno-beli sliki, v katerem lahko vsaka lokacija v medpomnilniku vsebuje vrednost, ki je najpogosteje dolga največ 1 bajt, vendar je lahko majhna kot 1 bit. Medpomnilnik je bil prvotno zasnovan tako, da deluje kot resnična ali napačna maska, podobno kot šablona v resničnem svetu, zato je bilo mogoče področja prizora zakriti ali prezreti z nastavitvijo vrednosti različnih regij medpomnilnika šablone na vrednost, ki ni nič. Obstaja več uporab za medpomnilnik, ki presega preprosto maskiranje, vključno z risanjem senčnega volumna, izvajanjem halojev okoli predmetov ali lociranjem območij, kjer se predmeti prekrivajo drug drugega. V mnogih primerih je medpomnilnik shranjen v grafičnem pomnilniku na grafični kartici, tako da je do njega mogoče hitro dostopati med upodabljanjem.

Koncept predpomnilnika šablon je bil prvotno način za ustvarjanje dvodimenzionalne (2D) maske, ki bi jo bilo mogoče uporabiti na tridimenzionalni (3D) sceni, ko se oglišča premikajo skozi grafični cevovod. Če je lokacija 3D-oglišča, ko je bila rasterizirana, povezana z območjem vmesnega pomnilnika šablone, ki ni bilo nastavljeno na nič, bi bilo mogoče to oglišče prezreti in preostanek njegove obdelave cevovoda preskočiti. To je programerjem omogočilo način, da upodabljajo le majhne dele scene ali upodabljajo sliko v nepravilno oblikovano vidno polje, kot je odsev v majhnem zrcalu znotraj večje scene, kjer je oblika zrcala narisana kot šablona v pufer, nato pa se odsev nariše skozi to obliko.

Zaskrbljenost zaradi pomnilnika je privedla do tega, da je bila prvotna oblika vmesnega pomnilnika šablona mreža enobitnih vrednosti, v kateri je lahko vsaka slikovna pika v medpomnilniku le resnična ali napačna. Ko so se grafične kartice razvile, je večina medpomnilnikov postala sposobna hraniti celotno bajtno vrednost na vsaki lokaciji slikovnih pik, kar je programerjem omogočilo, da imajo bolj zapletene vrednosti na lokaciji. To lahko omogoči uporabo medpomnilnika za zaznavanje območij, kjer se predmeti prekrivajo, kar je mogoče storiti s povečanjem vrednosti medpomnilnika na lokaciji, če predmet zasede to slikovno piko na zaslonu, ko je rasteriziran. Po tej operaciji bo vrednost vsake lokacije slikovnih pik v medpomnilniku enaka številu predmetov, ki prečkajo to slikovno piko na zaslonu.

Ena izmed najbolj priljubljenih uporab puferja šablon je ustvarjanje volumskih senc. To lahko storite tako, da najprej upodabljate prizor z zelo šibko osvetlitvijo, tako da se zdi, da je vse zasenčeno. Nato se izvedejo izračuni za določitev lokacije vseh poligonskih površin v sceni, ki so osvetljene s svetlobnim virom, in te oblike se prenesejo v pufer šablone. Scena je ponovno upodobljena, kot da je vsak predmet popolnoma osvetljen in se zlije skozi oblike šablone v zasenčeno sceno, kar učinkovito ustvari sliko, za katero se zdi, da vsebuje predmete s sencami.