Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl 为什么GLEE在使用glClearIuiEXT()时失败?_Opengl - Fatal编程技术网

Opengl 为什么GLEE在使用glClearIuiEXT()时失败?

Opengl 为什么GLEE在使用glClearIuiEXT()时失败?,opengl,Opengl,我第一次尝试使用GLEE进行测试。我似乎很听懂这本书。但是,此条件通过,但函数未设置清除值。至少,我有一个黑屏。然而,glClearColor是有效的 if (GLEE_VERSION_2_0 && GLEE_EXT_texture_integer) glClearColorIuiEXT(128,128,128,255); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClearColorI*用于清除整数纹

我第一次尝试使用GLEE进行测试。我似乎很听懂这本书。但是,此条件通过,但函数未设置清除值。至少,我有一个黑屏。然而,glClearColor是有效的

if (GLEE_VERSION_2_0 && GLEE_EXT_texture_integer)
    glClearColorIuiEXT(128,128,128,255);

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glClearColorI*
用于清除整数纹理,即采样生成整数值而不是0到1之间的规格化值的纹理。它不适用于常规的、规格化的纹理或渲染缓冲区,就像您的窗口最可能分配的那样

改用常规的
glClearColor
方法。如果必须,将值除以
255

+1:为了避免混淆(无需更改答案),
glClearColorI
从未升级到核心GL。在GL3中将帧缓冲区对象提升为核心时,设置“清除值”背后的整个想法被抛弃。现代的等价物是做一些类似于
GLuint color[]={128128128255};glClearBufferuiv(GL_颜色,0/*glDrawBuffer 0*/,颜色)方便地建立要清除的值,并在一次调用中完成全部清除。这肯定不是OP想要的,但这就是为什么你看不到很多关于
glClearColorI*
;)的问题的原因