Буфер трафарета в OpenGL
glStencilFunc(GL_EQUAL, 0, 255);
но не выводится при
glStencilFunc(GL_LEQUAL, 1, 255);
Ведь соответствие первому условию автоматически должно означать соответствие и второму.
Код:
При GL_EQUAL будет:
if (0 == 255)
return 1.0;
else
return 0.0;
if (0 == 255)
return 1.0;
else
return 0.0;
Код:
При GL_LEQUAL будет:
if (1 <= 255)
return 1.0;
else
return 0.0;
if (1 <= 255)
return 1.0;
else
return 0.0;
Value Meaning
GL_NEVER Always fails.
GL_LESS Passes if ( ref & mask) < ( stencil & mask).
GL_LEQUAL Passes if ( ref & mask) ≤ ( stencil & mask).
GL_GREATER Passes if ( ref & mask) > ( stencil & mask).
GL_GEQUAL Passes if ( ref & mask) ≥ ( stencil & mask).
GL_EQUAL Passes if ( ref & mask) = ( stencil & mask).
GL_NOTEQUAL Passes if ( ref & mask) ( stencil & mask).
GL_ALWAYS Always passes.
Разобрался. Вопрос снят.