继续这个问题:
GLSL : accessing framebuffer to get RGB and change it
是否有可能开发基于GLSL的程序如下?
我确认了这个算法区分对象1被其他对象使用glut函数隐藏。 我使用了glReadbuffer,glDrawbuffer函数。但是那些太慢了,我想用GLSL。
答案 0 :(得分:2)
如果唯一的目标是当object1隐藏在object2后面时(即深度已经改变的object1的像素)使用不同的颜色集渲染它,我将采用完全不同的方法。
glDrawBuffer(GL_NONE)
或glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE)
)glDepthFunc(GL_GREATER)
的object1和object1位于object2之后的颜色绘制glDepthFunc(GL_LESS)
,并将object1位于object2前面时绘制所需的颜色。与您在问题中描述的算法相比,不需要任何回读操作或额外的帧缓冲区