名称

glFramebufferTexture2D - 将纹理图像附加到帧缓冲对象

C规范

void glFramebufferTexture2D(GLenum target,

GLenum attachment,

GLenum textarget,

GLuint texture,

GLint level);

参数

target

指定帧缓冲目标。 符号常量必须是GL_FRAMEBUFFER

attachment

指定应附加纹理图像的附着点。 必须是以下符号常量之一:GL_COLOR_ATTACHMENT0GL_DEPTH_ATTACHMENTGL_STENCIL_ATTACHMENT

textarget

指定纹理目标。 必须是以下符号常量之一:GL_TEXTURE_2DGL_TEXTURE_CUBE_MAP_POSITIVE_XGL_TEXTURE_CUBE_MAP_NEGATIVE_XGL_TEXTURE_CUBE_MAP_POSITIVE_YGL_TEXTURE_CUBE_MAP_NEGATIVE_YGL_TEXTURE_CUBE_MAP_POSITIVE_ZGL_TEXTURE_CUBE_MAP_NEGATIVE_Z

texture

指定要附加图像的纹理对象。

level

指定要附加的纹理图像的mipmap级别,该级别必须为0。

描述

glFramebufferTexture2Dtexturelevel指定的纹理图像附加为当前绑定的帧缓冲区对象的逻辑缓冲区之一。 attachment指定是否应将纹理图像附加到帧缓冲对象的颜色,深度或模板缓冲区。 纹理图像不可以附加到默认(名称为0)的帧缓冲对象。

如果texture不为0,则指定附加点的GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE的值设置为GL_TEXTUREGL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME的值设置为textureGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL的值设置为level。 如果纹理是立方体贴图纹理,则GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE的值设置为textarget; 否则将其设置为默认值GL_TEXTURE_CUBE_MAP_POSITIVE_X。 先前绑定的帧缓冲区对象的附件逻辑缓冲区都将被破坏。

如果texture为0,则分离附加到当前绑定的帧缓冲区对象的附件逻辑缓冲区的当前图像(如果有的话)。 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE的值设置为GL_NONEGL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME的值设置为0. GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVELGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE分别设置为默认值0GL_TEXTURE_CUBE_MAP_POSITIVE_X

注意

当纹理对象当前被绑定并可能被当前顶点或片段着色器采样时,需要采取特殊预防措施以避免将纹理图像附加到当前绑定的帧缓冲区。这样做可能导致在通过渲染操作写入像素和在当前绑定纹理中用作纹素时同时读取那些相同像素之间创建“反馈循环”。在这种情况下,帧缓冲区将被视为帧缓冲区完成,但在此状态下渲染的片段的值将是未定义的。纹理样本的值也可能是未定义的。

如果在将图像附加到当前绑定的帧缓冲区时删除纹理对象,这就好比使用纹理0调用glFramebufferTexture2D作为此图像附加到当前绑定的帧缓冲区对象中的附着点。换句话说,纹理图像与当前绑定的帧缓冲区分离了。请注意,纹理图像不会与任何未绑定的帧缓冲区分离。从任何非绑定帧缓冲区中分离映像是应用程序的责任。

错误

GL_INVALID_ENUM target不是GL_FRAMEBUFFER

GL_INVALID_ENUM texture不为0时textarget不是可接收的纹理target。

GL_INVALID_ENUM attachment是不可接收的附着点。

GL_INVALID_VALUE level不是0时,texture不是0。

GL_INVALID_OPERATION :如果绑定了默认的帧缓冲对象名称0。

GL_INVALID_OPERATION :如果texture既不是0也不是现有纹理对象的名称。

GL_INVALID_OPERATION :如果texture是现有二维纹理对象的名称,但textarget不是GL_TEXTURE_2D,或者texture是现有立方体贴图纹理对象的名称,但textargetGL_TEXTURE_2D

相关Gets

glGetFramebufferAttachmentParameteriv

另见

glBindFramebuffer,glBindTexture,glCheckFramebufferStatus,glDeleteFramebuffers,glDeleteTextures,glFramebufferRenderbuffer,glGenerateMipmap,glGetFramebufferAttachmentParameteriv,glTexImage2D

版权

https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glFramebufferTexture2D.xml

https://blog.csdn.net/flycatdeng

Copyright © 1991-2006 Silicon Graphics, Inc.本文档的许可是根据SGI Free Software B License.详见http://oss.sgi.com/projects/FreeB/.

Android,OpenGL ES,图形学

GLES2.0中文API-glFramebufferTexture2D相关推荐

  1. GLES2.0中文API-glBindFramebuffer

    名称 glBindFramebuffer- 绑定一个命名的帧缓冲区对象 C规范 void glBindFramebuffer(GLenum target, GLuint framebuffer); 参 ...

  2. GLES2.0中文API-glUseProgram

    名称 glUseProgram- 使用程序对象作为当前渲染状态的一部分 C规范 void glUseProgram(GLuint program); 参数 program 指定程序对象的句柄,该程序对 ...

  3. GLES2.0中文API-glFramebufferRenderbuffer

    名称 glFramebufferRenderbuffer- 将renderbuffer对象附加到framebuffer对象 C规范 void glFramebufferRenderbuffer(GLe ...

  4. GLES2.0中文API-glGet

    名称 glGet - 返回所选参数的值 C规范 void glGetBooleanv(    GLenum pname,      GLboolean * params); void glGetFlo ...

  5. GLES2.0中文API-glUniform

    名称 glUniform - 指定当前程序对象的统一变量的值 C规范 void glUniform1f(    GLint location, GLfloat v0); void glUniform2 ...

  6. GLES2.0中文API-glTexImage2D

    名称 glTexImage2D- 指定一个二维的纹理图片 C规范 void glTexImage2D(GLenum target, GLint level, GLint internalformat, ...

  7. GLES2.0中文API-glReadPixels

    名称 glReadPixels - 从帧缓冲区中读取一个像素块 C规范 void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei heigh ...

  8. GLES2.0中文API-glCopyTexImage2D

    名称 glCopyTexImage2D - 将像素复制到2D纹理图像中 C规范 void glCopyTexImage2D(    GLenum target,      GLint level,   ...

  9. GLES2.0中文API-glGetActiveUniform

    名称 glGetActiveUniform - 返回有关活动统一变量的信息 C规范 void glGetActiveUniform(GLuint program, GLuint index, GLsi ...

最新文章

  1. deepin10.15安装cuda10.1.168 cudnn7.6.1 tensorflow_gpu1.4.0
  2. cnblogs-5个必须掌握的maven命令
  3. 计算机科学千分之一高校,69所计算机科学进入ESI世界前1%的高校及排名,西电全国第四!...
  4. javascript 给php传值_2020年PHP面试题附答案(实战经验)
  5. 互联网1分钟 |1123
  6. Android中的Intent和Intent-filter总结
  7. 2021年上半年移动广告流量观察白皮书
  8. 黑马程序员--里氏转换
  9. BootStrap table 传递搜索参数
  10. 【汇编优化】之x86架构intrinsic优化
  11. 立即修复!微软史上最严重漏洞之一 Netlogon 细节被公开,三秒接管企业网络
  12. python电脑下载-PC端数据下载软件开发(Python)
  13. 在线分析mysql死锁详解_记一次线上mysql死锁分析(一)
  14. 车联网的麻烦和便利一样多 BAT们要治这种尴尬症
  15. android蓝牙 助手源码,蓝牙串口助手(Android Studio源码)
  16. 分享(转载)跟大家分享一下牛人常用的资源类,供大家参考、学习。
  17. 读《从优秀到卓越》乱摘
  18. 拼多多:补贴与盈利背道而驰
  19. 水利水电安全员考试问答练习题库(4)
  20. 低频能不能采到高频?采样定理指导硬件设计

热门文章

  1. 友达9.87MW隆科太阳能屋顶完成,还将增21MW
  2. 【Unity3D实战】RPG黑暗之光Scene1:创建开始场景
  3. PAT 1080. Graduate Admission (30) 模拟高考志愿录取规则
  4. ARP协议(三)ARP防御篇
  5. 正余弦函数的复指数表示
  6. 【SAP Abap】记录一次增强开发之销售交货开票VF04增强
  7. 量化评价和质化评价举例_量化评价与质性评价的特点和联系
  8. RGB及颜色相关概念
  9. matlab打开笔记本摄像头_如何利用MATLAB实现摄像头视频获取和保存
  10. 科创人·神州数码集团CIO沈旸:最佳实践模式正在失灵,开源加速分布式创新