OpenGL, трафаретный буфер FBO не работает? - PullRequest
3 голосов
/ 05 декабря 2011

Я пытаюсь использовать трафаретный буфер FBO в OpenGL, но не могу заставить его работать.Я связал текстуру deep24_stencil8 с FBO как для целей глубины, так и для целей трафарета.В качестве простого теста я попытался:

/* Enable FBO */

glEnable(GL_STENCIL_TEST);
glStencilFunc(GL_NEVER, 1, 0xff);
glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);

glBegin(GL_TRIANGLE);
/* Draw some triangles */
glEnd();

glDisable(GL_STENCIL_TEST);

/* Disable FBO and render it on screen as a texture. */

Поскольку я использую GL_NEVER, ничто не должно отображаться вообще, но я могу видеть треугольники.Это как если бы вообще не было трафарета, но я не могу понять почему.Попытка этого кода без FBOs работает, поэтому я думаю, что я использую функции трафарета правильно.Я понятия не имею, как решить эту проблему.Кто-нибудь уже использовал трафарет с FBO?

1 Ответ

0 голосов
/ 06 декабря 2011

Плохо, я неправильно подключил трафаретный буфер к своему FBO.Странно то, что мое состояние fbo не указывало на какую-либо ошибку или плохое вложение, поэтому меня убедили, что все в порядке ... эта проблема свела меня с ума, но теперь, похоже, она работает.

...