Texture¶
-
class
moderngl.
Texture
¶ 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 Texture object cannot be instantiated directly, it requires a context. Use
Context.texture()
orContext.depth_texture()
to create one.
Create¶
-
Context.
texture
(size, components, data=None, samples=0, alignment=1, dtype='f1') → Texture Create a
Texture
object.Parameters: - size (tuple) – The width and height of the texture.
- components (int) – The number of components 1, 2, 3 or 4.
- data (bytes) – Content of the texture.
Keyword Arguments: - samples (int) – The number of samples. Value 0 means no multisample format.
- alignment (int) – The byte alignment 1, 2, 4 or 8.
- dtype (str) – Data type.
Returns: Texture
object
-
Context.
depth_texture
(size, data=None, samples=0, alignment=4) → Texture Create a
Texture
object.Parameters: - size (tuple) – The width and height of the texture.
- data (bytes) – Content of the texture.
Keyword Arguments: - samples (int) – The number of samples. Value 0 means no multisample format.
- alignment (int) – The byte alignment 1, 2, 4 or 8.
Returns: Texture
object
Methods¶
-
Texture.
read
(level=0, alignment=1) → bytes¶ Read the content of the texture into a buffer.
Keyword Arguments: - level (int) – The mipmap level.
- alignment (int) – The byte alignment of the pixels.
Returns: bytes
-
Texture.
read_into
(buffer, level=0, alignment=1, write_offset=0)¶ Read the content of the texture into a buffer.
Parameters: buffer (bytearray) – The buffer that will receive the pixels.
Keyword Arguments: - level (int) – The mipmap level.
- alignment (int) – The byte alignment of the pixels.
- write_offset (int) – The write offset.
-
Texture.
write
(data, viewport=None, level=0, alignment=1)¶ Update the content of the texture.
Parameters: - data (bytes) – The pixel data.
- viewport (tuple) – The viewport.
Keyword Arguments: - level (int) – The mipmap level.
- alignment (int) – The byte alignment of the pixels.
-
Texture.
build_mipmaps
(base=0, max_level=1000)¶ Generate mipmaps.
-
Texture.
use
(location=0)¶ Bind the texture.
Parameters: location (int) – The texture location. Same as the integer value that is used for sampler2D uniforms in the shaders. The value 0
will bind the texture to theGL_TEXTURE0
binding point.
Attributes¶
-
Texture.
repeat_x
¶ bool – The repeat_x of the texture.
-
Texture.
repeat_y
¶ bool – The repeat_y of the texture.
-
Texture.
filter
¶ tuple – The filter of the texture.
-
Texture.
swizzle
¶ str – The swizzle of the texture.
-
Texture.
compare_func
¶ tuple – The compare function of the depth texture.
-
Texture.
width
¶ int – The width of the texture.
-
Texture.
height
¶ int – The height of the texture.
-
Texture.
size
¶ tuple – The size of the texture.
-
Texture.
dtype
¶ str – Data type.
-
Texture.
components
¶ int – The number of components of the texture.
-
Texture.
samples
¶ int – The number of samples of the texture.
-
Texture.
depth
¶ bool – Is the texture a depth texture?
-
Texture.
glo
¶ int – The internal OpenGL object. This values is provided for debug purposes only.