首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenGL ES 2.0 GL_DEPTH_COMPONENT和glTexImage2D

OpenGL ES 2.0 GL_DEPTH_COMPONENT和glTexImage2D
EN

Stack Overflow用户
提问于 2017-06-03 11:21:57
回答 1查看 1.9K关注 0票数 0

OpenGL ES 2.0 programming guide书的第12章有一个例子,叫做Example 12-2 Render to Depth Texture。此示例调用glTexImage2D API,internalformat参数为GL_DEPTH_COMPONENT。

但根据GL_DEPTH_COMPONENT,https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glTexImage2D.xml是不允许使用的。

所以我有两个关于OpenGL ES 2.0的问题。

  • 如果这个例子不合适,如何渲染到深度纹理?如果示例是正确的,为什么不匹配www.khronos.org的描述?
  • 哪个API将使用GL_DEPTH_COMPONENT枚举?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-04 01:38:53

哪个API将使用GL_DEPTH_COMPONENT枚举?

glRenderbufferStorage使用GL_DEPTH_COMPONENT,特别是GL_DEPTH_COMPONENT16

代码语言:javascript
复制
    glGenRenderbuffers(1, (GLuint*)&_nRenderTargetRboDepthId);
    glBindRenderbuffer(GL_RENDERBUFFER, _nRenderTargetRboDepthId);
    glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, nTexWidth, nTexHeight);
    glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, _nRenderTargetRboDepthId);

    GLenum err = glCheckFramebufferStatus(GL_FRAMEBUFFER);
    if(err != GL_FRAMEBUFFER_COMPLETE) { // error!
         // format harddrive
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44343363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档