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
TextureCube
object.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: TextureCube
object
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 0
will bind the texture to theGL_TEXTURE0
binding 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
vec4
value 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.0
andctx.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