OpenGL трафаретный буфер в Gtkmm в Linux Переполнение стека

Я пытался создать отражение с помощью буфера трафарета для школьного проекта. Я следовал этому уроку: http://www.opengl.org/archives/resources/code/samples/mjktips/Reflect.html В нем описывается, как создать отражение, отражая сцену над плоскостью, и снова нарисовать его, чтобы создать отражение, а затем обрезать отражение, чтобы избавиться от торчащих частей.
Я следовал учебному пособию, но ничего не вырезано, отражение показано полностью. Я попробовал следующее:

int i;
glGetIntegerv(GL_STENCIL_BITS,&i);
std::cout << "Stencil bits is " << i << std::endl;

И вывод «Трафарет битов равен 0». Так что у меня нет трафаретного буфера вообще. Как вы создаете трафаретный буфер в Gtkmm (я читал, что создание трафаретного буфера зависит от библиотеки)?

-1

Решение

Прочитав ответ j-p, я понял, что искал не в том месте. Мне дали стартовый код в проекте, поэтому я пропустил настройку glContext. Что мне нужно было сделать, это:

glconfig = Gdk::GL::Config::create(Gdk::GL::MODE_RGB |
Gdk::GL::MODE_DEPTH |
Gdk::GL::MODE_DOUBLE |
Gdk::GL::MODE_STENCIL );

Добавлен флаг Gdk :: GL :: MODE_STENCIL для включения режима трафарета в Gtk. Обратите внимание, что это очень специфично для библиотеки.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]