OpenGL API - glClear


在這裏插入圖片描述

https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glClear.xhtml

OpenGL API - 筆記彙總

名稱

glClear ---- 清理指定的緩存。

原型

void glClear(GLbitfield mask);

參數

mask
按位的“或”(OR) 的掩碼來代表要清理的緩存。有三個掩碼 GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT, 和 GL_STENCIL_BUFFER_BIT

描述

glClear 設置window 窗口的 bitplane 區域值,根據 mask 來用 glClearColorglClearDepthglClearStencil 函數設置的值來設置緩存。要同時清理多個緩存通過 glDrawBuffer 來選擇多個緩存。

像素的 ownership 測試,scissor 測試,dithering(抖動),與寫緩存掩碼都影響 glClear 操作。scissor 框的綁定可以設置清理的區域。

glClear 通過單個參數的 bit 位的“或”(OR)位運算來取掩碼,取到的掩碼值代表要清理的緩存:

掩碼值有如下:

  • GL_COLOR_BUFFER_BIT
    代表當前啓用的寫入顏色緩存。
  • GL_DEPTH_BUFFER_BIT
    代表深度緩存。
  • GL_STENCIL_BUFFER_BIT
    代表模板緩存。

注意

如果某個緩存沒有內容,那麼 glClear 清理這個緩存是沒有效果的。

錯誤

如果如果 bit 都是不前面說的三個定義的 mask 掩碼 bits 定義,那麼生成 GL_INVALID_VALUE 錯誤。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章