Az ablak törlése

Egy számítógép képernyõjére rajzolás nem egyezik meg egy rajzlapra rajzolással, ahol a rajzlap fehér, és csak egyetlen dolgunk van, mégpedig az, hogy rajzoljunk. A számítógép memóriája azt a képet tárolja, amelyet utoljára rajzoltunk, így egy új kép megrajzolása elõtt a képet törölnünk kell a háttérszínnel. A háttérszín, amellyel a hátteret töröljük, az alkalmazástól függ. Ezt a mûveletet elvégezhetnénk úgy is, hogy egy háttérszínû, megfelelõen nagy téglalapot rajzolunk a képernyõre. Azonban, mivel az OpenGL-ben lehetõség van a koordináta-rendszer, a szem pozíció és irány beállítására, így ezen téglalap méreteinek kiszámítása nem is olyan egyszerû. Ráadásul a legtöbb számítógép grafikus hardvere több pufferrel rendelkezik azon felül ami a megjelenítendõ kép pixeleinek színét tárolja, így kényelmes egy olyan paranccsal rendelkezni, amely bármelyiket tudja törölni törölni.
A grafikus hardverben a pixelek színei ún. bitplane-ekként tárolódnak. A tárolásnak két módja van. Az egyik az, hogy a pixel színének mind a négy komponense eltárolódik (vörös, zöld, kék, alpha), vagy csak egy szín index érték tárolódik. Többnyire az elsõ módszert alkalmazzuk.
Az aktuális törlõ színt, amelyet az RGBA módban a szín pufferek törlésére alkalmazunk a

void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);

paranccsal állíthatjuk be. Az alapértelmezett törlõ szín a (0, 0, 0, 0).
A pufferek tartalmát a

void glClear(GLbitfield mask);

paranccsal törölhetjük. A mask argumentum egy bitenkénti vagy kombinációja a GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT, GL_STENCIL_BUFFER_BIT és GL_ACCUM_BUFFER_BIT szimbolikus konstansoknak.

pl.: a glClearColor(1.0, 1.0, 1.0, 1.0);
.
.
.
glClear(GL_COLOR_BUFFER_BIT);

kódrészlet beállítja a törlõ színt fehérre, majd törli vele a szín puffert.

a glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

parancs hatása megegyezik a

glClear(GL_COLOR_BUFFER_BIT);
glClear(GL_DEPTH_BUFFER_BIT);

parancsok hatásával; egy különbség van, az elsõ gyorsabb...

<- elõzõ oldal
-> következõ oldal
<-- fõoldal