TextureCube¶
-
class
moderngl.TextureCube¶ A Texture is an OpenGL object that contains one or more images that all have the same image format. A texture can be used in two ways. It can be the source of a texture access from a Shader, or it can be used as a render target.
A Texture3D object cannot be instantiated directly, it requires a context. Use
Context.texture_cube()to create one.
Create¶
-
Context.texture_cube(size, components, data=None, alignment=1, dtype='f1') → TextureCube Create a
TextureCubeobject.Parameters: - size (tuple) – The width, height of the texture. Each side of the cube will have this size.
- components (int) – The number of components 1, 2, 3 or 4.
- data (bytes) – Content of the texture.
Keyword Arguments: - alignment (int) – The byte alignment 1, 2, 4 or 8.
- dtype (str) – Data type.
Returns: TextureCubeobject
Methods¶
-
TextureCube.read(face, alignment=1) → bytes¶ Read a face from the cubemap texture.
Parameters: face (int) – The face to read. Keyword Arguments: alignment (int) – The byte alignment of the pixels.
-
TextureCube.read_into(buffer, face, alignment=1, write_offset=0)¶ Read a face from the cubemap texture.
Parameters: - buffer (bytearray) – The buffer that will receive the pixels.
- face (int) – The face to read.
Keyword Arguments: - alignment (int) – The byte alignment of the pixels.
- write_offset (int) – The write offset.
-
TextureCube.write(face, data, viewport=None, alignment=1)¶ Update the content of the texture.
Parameters: - face (int) – The face to update.
- data (bytes) – The pixel data.
- viewport (tuple) – The viewport.
Keyword Arguments: alignment (int) – The byte alignment of the pixels.
-
TextureCube.use(location=0)¶ Bind the cubemap texture.
Parameters: location (int) – The texture location. Same as the integer value that is used for sampler3D uniforms in the shaders. The value 0will bind the texture to theGL_TEXTURE0binding point.
Attributes¶
-
TextureCube.size¶ The size of the texture.
Type: tuple
-
TextureCube.dtype¶ Data type.
Type: str
-
TextureCube.components¶ The number of components of the texture.
Type: int
-
TextureCube.filter¶ The minification and magnification filter for the texture. (Default
(moderngl.LINEAR. moderngl.LINEAR))Example:
texture.filter == (monderngl.NEAREST, moderngl.NEAREST) texture.filter == (monderngl.LINEAR_MIPMAP_LINEAR, moderngl.LINEAR) texture.filter == (monderngl.NEAREST_MIPMAP_LINEAR, moderngl.NEAREST) texture.filter == (monderngl.LINEAR_MIPMAP_NEAREST, moderngl.NEAREST)
Type: tuple
-
TextureCube.swizzle¶ The swizzle mask of the texture (Default
'RGBA').The swizzle mask change/reorder the
vec4value returned by thetexture()function in a GLSL shaders. This is represented by a 4 character string were each character can be:'R' GL_RED 'G' GL_GREEN 'B' GL_BLUE 'A' GL_ALPHA '0' GL_ZERO '1' GL_ONE
Example:
# Alpha channel will always return 1.0 texture.swizzle = 'RGB1' # Only return the red component. The rest is masked to 0.0 texture.swizzle = 'R000' # Reverse the components texture.swizzle = 'ABGR'
Type: str
-
TextureCube.anisotropy¶ Number of samples for anisotropic filtering (Default
1.0). The value will be clamped in range1.0andctx.max_anisotropy.Any value greater than 1.0 counts as a use of anisotropic filtering:
# Disable anisotropic filtering texture.anisotropy = 1.0 # Enable anisotropic filtering suggesting 16 samples as a maximum texture.anisotropy = 16.0
Type: float
-
TextureCube.glo¶ The internal OpenGL object. This values is provided for debug purposes only.
Type: int
-
TextureCube.extra¶ Any - Attribute for storing user defined objects