Gl.FramebufferTexture3DEXT (gb.opengl)
Static Sub FramebufferTexture3DEXT ( Target As Integer, Attachment As Integer, TexTarget As Integer, Texture As Integer, Level As Integer, Zoffset 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_ATTACHMENT
i, Gl.DEPTH_ATTACHMENT,
Gl.STENCIL_ATTACHMENT or Gl.DEPTH_STENCIL_ATTACHMMENT.
i in Gl.COLOR_ATTACHMENT
i 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 log
2
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 log
2 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 log
2
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