Мне нужен буфер шаблонов на 3G для рендеринга плоской тени, и смещение полигона не будет работать префект, все еще имеет проблему z-борьбы. Таким образом, я использую буфер шаблонов для создания тени корректной, это работает над эмулятором win32 gles2, но не над iPhone. После того, как я добавил эффект сообщения к целой сцене. Буфер шаблонов не будет работать даже над эмулятором win32 gles2.
И я пытался присоединить буфер шаблонов к FBO, buf экран меняет цвет на черный цвет. Вот мой код,
glGenRenderbuffers(1, &dbo); // depth buffer glBindRenderbuffer(GL_RENDERBUFFER, dbo); glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24_OES, widthGL, heightGL); glGenRenderbuffers(1, &sbo); // stencil buffer glBindRenderbuffer(GL_RENDERBUFFER, sbo); glRenderbufferStorage(GL_RENDERBUFFER, GL_STENCIL_INDEX8, widthGL, heightGL); glGenFramebuffers(1, &fbo); glBindFramebuffer(GL_FRAMEBUFFER, fbo); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, tex, 0); glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, dbo); glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, sbo); // this make the whole screen black.
eglContext создается с STENCIL_SIZE=8, он работает без RTT.
Я пытался изменить RenderbufferStorage и для буфера глубины и для буфера шаблонов, но ни одного из них работы.
Есть ли что-нибудь, что я пропустил? Буфер шаблонов упаковывает буфером глубины? (Я не могу найти вещи как GL_DEPTH24_STENCIL8...),