如果我完全禁用深度測試時,遮擋查詢仍然有效,因爲當事先知道障礙物集合嚴格位於相機和待測試對象之間時? 這是一個嘗試提高性能,因爲從邏輯上說,如果沒有任何遮擋物位於occludee後面,我不需要複雜的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);
爲什麼不嘗試一下,並找出版本? – 2014-10-16 18:19:15
遮擋查詢只對通過深度測試的樣本進行計數;模板緩衝區是無關緊要的。 HTTPS://www.opengl。org/wiki/Occlusion_Query#Occlusion_queries – 2014-10-16 18:47:11
@ColonelThirtyTwo我不小心發佈了以前的評論。將在一秒鐘內重寫它。 – user2464424 2014-10-16 18:49:24