Gl.FramebufferTexture2DEXT (gb.opengl)

Static Sub FramebufferTexture2DEXT ( Target As Integer, Attachment As Integer, TexTarget As Integer, Texture As Integer, Level As Integer )

Attach a level of a texture object as a logical buffer to the currently bound framebuffer object.

Parameters

target

Specifies the framebuffer target. target must be Gl.DRAW_FRAMEBUFFER, Gl.READ_FRAMEBUFFER, or Gl.FRAMEBUFFER. Gl.FRAMEBUFFER is equivalent to Gl.DRAW_FRAMEBUFFER.
attachment

Specifies the attachment point of the framebuffer. attachment must be Gl.COLOR_ATTACHMENTi, Gl.DEPTH_ATTACHMENT, Gl.STENCIL_ATTACHMENT or Gl.DEPTH_STENCIL_ATTACHMMENT.
textarget

For Gl.FramebufferTexture1D, Gl.FramebufferTexture2D and Gl.FramebufferTexture3D, specifies what type of texture is expected in the texture parameter, or for cube map textures, which face is to be attached.
texture

Specifies the texture object to attach to the framebuffer attachment point named by attachment.
level

Specifies the mipmap level of texture to attach.

Description

Gl.FramebufferTexture, Gl.FramebufferTexture1D, Gl.FramebufferTexture2D, and Gl.FramebufferTexture attach a selected mipmap level or image of a texture object as one of the logical buffers of the framebuffer object currently bound to target. target must be Gl.DRAW_FRAMEBUFFER, Gl.READ_FRAMEBUFFER, or Gl.FRAMEBUFFER. Gl.FRAMEBUFFER is equivalent to Gl.DRAW_FRAMEBUFFER.

attachment specifies the logical attachment of the framebuffer and must be Gl.COLOR_ATTACHMENTi, Gl.DEPTH_ATTACHMENT, Gl.STENCIL_ATTACHMENT or Gl.DEPTH_STENCIL_ATTACHMMENT. i in Gl.COLOR_ATTACHMENTi may range from zero to the value of Gl.MAX_COLOR_ATTACHMENTS - 1. Attaching a level of a texture to Gl.DEPTH_STENCIL_ATTACHMENT is equivalent to attaching that level to both the Gl.DEPTH_ATTACHMENT and the Gl.STENCIL_ATTACHMENT attachment points simultaneously.

textarget specifies what type of texture is named by texture, and for cube map textures, specifies the face that is to be attached. If texture is not zero, it must be the name of an existing texture with type textarget, unless it is a cube map texture, in which case textarget must be Gl.TEXTURE_CUBE_MAP_POSITIVE_X Gl.TEXTURE_CUBE_MAP_NEGATIVE_X, Gl.TEXTURE_CUBE_MAP_POSITIVE_Y, Gl.TEXTURE_CUBE_MAP_NEGATIVE_Y, Gl.TEXTURE_CUBE_MAP_POSITIVE_Z, or Gl.TEXTURE_CUBE_MAP_NEGATIVE_Z.

If texture is non-zero, the specified level of the texture object named texture is attached to the framebfufer attachment point named by attachment. For Gl.FramebufferTexture1D, Gl.FramebufferTexture2D, and Gl.FramebufferTexture3D, texture must be zero or the name of an existing texture with a target of textarget, or texture must be the name of an existing cube-map texture and textarget must be one of Gl.TEXTURE_CUBE_MAP_POSITIVE_X, Gl.TEXTURE_CUBE_MAP_POSITIVE_Y, Gl.TEXTURE_CUBE_MAP_POSITIVE_Z, Gl.TEXTURE_CUBE_MAP_NEGATIVE_X, Gl.TEXTURE_CUBE_MAP_NEGATIVE_Y, or Gl.TEXTURE_CUBE_MAP_NEGATIVE_Z.

If textarget is Gl.TEXTURE_RECTANGLE, Gl.TEXTURE_2D_MULTISAMPLE, or Gl.TEXTURE_2D_MULTISAMPLE_ARRAY, then level must be zero. If textarget is Gl.TEXTURE_3D, then level must be greater than or equal to zero and less than or equal to log2 of the value of Gl.MAX_3D_TEXTURE_SIZE. If textarget is one of Gl.TEXTURE_CUBE_MAP_POSITIVE_X, Gl.TEXTURE_CUBE_MAP_POSITIVE_Y, Gl.TEXTURE_CUBE_MAP_POSITIVE_Z, Gl.TEXTURE_CUBE_MAP_NEGATIVE_X, Gl.TEXTURE_CUBE_MAP_NEGATIVE_Y, or Gl.TEXTURE_CUBE_MAP_NEGATIVE_Z, then level must be greater than or equal to zero and less than or equal to log2 of the value of Gl.MAX_CUBE_MAP_TEXTURE_SIZE. For all other values of textarget, level must be greater than or equal to zero and no larger than log2 of the value of Gl.MAX_TEXTURE_SIZE.

layer specifies the layer of a 2-dimensional image within a 3-dimensional texture.

For Gl.FramebufferTexture1D, if texture is not zero, then textarget must be Gl.TEXTURE_1D. For Gl.FramebufferTexture2D, if texture is not zero, textarget must be one of Gl.TEXTURE_2D, Gl.TEXTURE_RECTANGLE, Gl.TEXTURE_CUBE_MAP_POSITIVE_X, Gl.TEXTURE_CUBE_MAP_POSITIVE_Y, Gl.TEXTURE_CUBE_MAP_POSITIVE_Z, Gl.TEXTURE_CUBE_MAP_NEGATIVE_X, Gl.TEXTURE_CUBE_MAP_NEGATIVE_Y, Gl.TEXTURE_CUBE_MAP_NEGATIVE_Z, or Gl.TEXTURE_2D_MULTISAMPLE. For Gl.FramebufferTexture3D, if texture is not zero, then textarget must be Gl.TEXTURE_3D.

Notes

Gl.FramebufferTexture is available only if the GL version is 3.2 or greater.

Errors

Gl.INVALID_ENUM is generated if target is not one of the accepted tokens.

Gl.INVALID_ENUM is generated if renderbuffertarget is not Gl.RENDERBUFFER.

Gl.INVALID_OPERATION is generated if zero is bound to target.

Gl.INVALID_OPERATION is generated if textarget and texture are not compatible.

See also

Gl.GenFramebuffers, Gl.BindFramebuffer, Gl.GenRenderbuffers, Gl.FramebufferTexture, Gl.FramebufferTexture1D, Gl.FramebufferTexture2D, Gl.FramebufferTexture3D

See original documentation on OpenGL website