- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
假设在下面的代码之前绘制了一些东西,下面的代码应该做什么?
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_TRUE);
glClearColor(0.0, 0.0, 0.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT);
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
这段代码应该只将 alpha 设置为 1 还是会清除颜色缓冲区?
或者换句话说,glColorMask
会影响 glClear
的作用还是它只适用于正常的绘制操作?
我特别询问关于 OpenGL ES 2.0 的问题,因此任何对规范的引用都将不胜感激。
最佳答案
它只会清除 alpha channel 。
The pixel ownership test, the scissor test, dithering, and the buffer writemasks affect the operation of glClear
关于c++ - glColorMask 是否影响 glClear,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12475369/
在我的应用程序中,我有一些着色器只写入深度缓冲区,以便稍后用于阴影。我还有一些其他着色器可渲染全屏四边形,其深度不会影响所有后续绘制调用,因此它的深度值可能会被丢弃。 假设应用程序在现代硬件(5 年前
假设在下面的代码之前绘制了一些东西,下面的代码应该做什么? glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_TRUE); glClearColor(0.0,
我想渲染深度缓冲区来做一些漂亮的阴影映射。不过,我的绘图代码包含许多着色器开关。如果我设置 glColorMask(0,0,0,0) 并保留所有着色器程序、纹理和其他内容,只渲染深度缓冲区,它会“OK
我正在尝试将我的 iOS 应用程序从 OpenGL 迁移到 Metal。在我的 OpenGL 代码中,我在很多地方使用 glColorMask(如果我只想写入选定的 channel ,例如只写入纹理的
我是一名优秀的程序员,十分优秀!