如果事先知道障碍物集严格位于相机和要测试的对象之间,如果我完全禁用深度测试,遮挡查询是否仍然有效?这是一种提高性能的尝试,因为从逻辑上讲,如果没有遮挡物位于被遮挡物后面,我不需要复杂的 z 测试。
我正在使用以下命令来初始化颜色/深度/模板缓冲区:
SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 0);
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 0);
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 0);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 0);
SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 1);
...
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
glDisable(GL_CULL_FACE);
glDisable(GL_DEPTH_TEST);
glDepthMask(GL_FALSE);
glEnable(GL_STENCIL_TEST);
glStencilMask(0x00000001);
...
glClear(GL_STENCIL_BUFFER_BIT);