Я хотел бы приобрести буфер трафарета, но, если это возможно, не пострадает из-за нехватки встроенного буфера глубины, так как я бы не использовал его. Большинство ресурсов, которые я нашел, показывают, что, хотя буфер трафарета является необязательным (исключая его, например, для получения большей точности буфера глубины), я не видел никакого кода, который запрашивает и успешно получает только 8-битный буфер трафарета. Самая распространенная конфигурация, которую я видел, - это 24-битные буферы глубины с 8-битным буфером трафарета.OpenGL: Приобретение только буфера трафарета и буфер глубины?
Можно ли запросить только буфер с трафаретом с цветовым буфером?
Если возможно, возможно, запрос будет предоставлен большинством реализаций OpenGL?
OpenGL версии я использую 2.0
редактировать:
API-интерфейс я использую для вызова OpenGL является SFML, который обычно не поддерживает выделение трафарет для него это объекты оболочки кО , хотя он позволяет использовать его для фреймбуфера на поверхности дисплея. Я редактировал функциональность в себе, хотя именно там я застрял.
glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH24_STENCIL8_EXT, width, height));
Эта линия определяет тип хранения, который я предполагаю. Тем не менее, GL_DEPTH24_STENCIL8_EXT
- это единственное определение, которое я нашел, который определяет создание буфера трафарета. (Нет GL_STENCIL8 или что-либо подобное, по крайней мере)
Вы должны уметь. Я знаю, что вы можете это сделать с FBO. – Xonar
Да. Возможно, это зависит от того, что вы используете для окон, как вы его реализуете. Что вы используете для оконной обработки (glut/SDL/GLFW и т. Д.)? – Xonar
Я использую SFML, который «обычно» не позволяет обертке FBO запрашивать буфер трафарета. Но я взломал это в себе. Я могу отредактировать это в вопросе –