我打算繪製一箇中心有孔的矩形。我正在嘗試使用模板測試,但我無法使其工作。你可以在下面看到我是如何做到的。OpenGL - 在一個矩形中的模板測試
glEnable(GL_STENCIL_TEST);
glColorMask(GL_FALSE,GL_FALSE, GL_FALSE, GL_FALSE);
glDepthMask(GL_FALSE);
glStencilFunc(GL_ALWAYS, 2, ~0);
glStencilOp(GL_REPLACE, GL_REPLACE, GL_REPLACE);
// Draw the rectangle here
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
glStencilFunc(GL_EQUAL, 2, ~0);
glStencilOp(GL_INCR, GL_INCR, GL_INCR);
我在做什麼錯在這裏?任何幫助將不勝感激! :)
這只是在模板緩衝區中設置'2'(假設它足夠深),然後是「繪製這裏」代碼,無論它在哪裏繪製都將寫入「2」,然後設置模板以僅繪製在哪裏寫了'2'。這與文字說明不符。你能展示一個更完整的(僞)代碼示例嗎? – Angew
@Angew - 這是我用於模板測試的唯一代碼。我對此很陌生,我真的很想知道應該怎麼做。 「draw here」只是緩衝區到opengl的簡單綁定,並調用glDrawArrays。沒有什麼我可以給你從這裏。 – zyneragetro