Opengl 为什么GLEE在使用glClearIuiEXT()时失败?
我第一次尝试使用GLEE进行测试。我似乎很听懂这本书。但是,此条件通过,但函数未设置清除值。至少,我有一个黑屏。然而,glClearColor是有效的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*用于清除整数纹
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*
;)的问题的原因