2011-03-29 32 views

cevap

9

GL_COLOR_BUFFER_BIT ve GL_DEPTH_BUFFER_BIT onlar sabitler konum, fonksiyonlar değildir. Onları temizlemek istediğiniz arabellekleri glClear() anlatmak için kullanın - örneğin, derinlik arabelleği ve şu anda "renk yazımı için etkinleştirilmiş arabellekler". Şablon arabelleğini temizlemek için birikim tamponunu ve/veya GL_STENCIL_BUFFER_BIT'u temizlemek için GL_ACCUM_BUFFER_BIT'u da geçebilirsiniz.

Kitaplığı kullanırken sabitlerin gerçek değerleri sizin için önemli olmamalıdır - önemli uygulama ayrıntısı, her sabit için ikili gösterimlerin birbiriyle çakışmamasıdır. Bu, glClear()'a tek bir aramaya bit sabitini ya da çoklu sabitlerin geçişini sağlayan özelliktir.

Daha fazla ayrıntı için glClear() documention'a bakın.

+4

Onları neden kullandığımızı bu sabitler hakkında soruyorum Daha fazla bilgi istiyorum Onları hakkında lütfen! –

+0

@Mohamed - Daha fazla bilgi ne demek istiyorsun? Belgelerin bilmeniz gereken her şey var. Daha spesifik bir sorunuz var mı? –

+1

belgeseller bana GL_COLOR_BUFFER_BIT renk yazımı için etkin olan arabellekleri gösterir. GL_DEPTH_BUFFER_BIT Derinlik arabelleğini gösterir. –

0

GlClear'a (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) yapılan bir çağrı OpenGL renk ve derinlik tamponlarını (veya herhangi bir başka arabellek veya tampon bileşimi) temizler. OpenGL bir devlet makinesi olmakla birlikte, her çerçeveyi temiz bir sayfa listesiyle başlatmak iyi bir uygulamadır.