# texture.TextureDescription

moderngl_window.meta.texture.TextureDescription

  Describes a texture to load.

  Example:

      # Loading a 2d texture
      TextureDescription(path='textures/wood.png')

      # Loading a 2d texture with mimpmaps with anisotropy
      TextureDescription(path='textures/wood.png', mipmap=True, anisotropy=16.0)

      # Loading texture array containing 10 layers
      TextureDescription(path='textures/tiles.png', layers=10, kind='array')

## Methods

TextureDescription.__init__(path: str = None, kind: str = None, flip=True, flip_x=False, flip_y=True, mipmap=False, mipmap_levels: Tuple[int, int] = None, anisotropy=1.0, image=None, layers=None, pos_x: str = None, pos_y: str = None, pos_z: str = None, neg_x: str = None, neg_y: str = None, neg_z: str = None, **kwargs)

  Describes a texture resource

  Parameters:

    - path (str) – path to resource relative to search directories

    - kind (str) – The kind of loader to use

    - flip (boolean) – (use flip_y) Flip the image vertically (top to bottom)

    - flip_x (boolean) – Flip the image horizontally (left to right)

    - flip_y (boolean) – Flip the image vertically (top to bottom)

    - mipmap (bool) – Generate mipmaps. Will generate max possible levels unless mipmap_levels is defined.

    - mipmap_levels (tuple) – (base, max_level) controlling mipmap generation. When defined the mipmap parameter is automatically True.

    - anisotropy (float) – Number of samples for anisotropic filtering

    - image – PIL image for when loading embedded resources

    - layers – (int): Number of layers for texture arrays

    - neg_x (str) – Path to negative x texture in a cube map

    - neg_y (str) – Path to negative y texture in a cube map

    - neg_z (str) – Path to negative z texture in a cube map

    - pos_x (str) – Path to positive x texture in a cube map

    - pop_y (str) – Path to positive y texture in a cube map

    - pos_z (str) – Path to positive z texture in a cube map

    - **kwargs – Any optional/custom attributes

## Attributes

TextureDescription.mipmap

  If mipmaps should be generated

  Type:

    bool

TextureDescription.image

  PIL image when loading embedded resources

  Type:

    Image

TextureDescription.layers

  Number of layers in texture array

  Type:

    int

TextureDescription.anisotropy

  Number of samples for anisotropic filtering

  Type:

    float

TextureDescription.mipmap_levels

  base, max_level for mipmap generation

  Type:

    Tuple[int, int]

TextureDescription.flip_x

  If the image should be flipped horizontally (left to right)

  Type:

    bool

TextureDescription.flip_y

  If the image should be flipped vertically (top to bottom)

  Type:

    bool

TextureDescription.pos_x

  Path to positive x in a cubemap texture

  Type:

    str

TextureDescription.pos_y

  Path to positive y in a cubemap texture

  Type:

    str

TextureDescription.pos_z

  Path to positive z in a cubemap texture

  Type:

    str

TextureDescription.neg_x

  Path to negative x in a cubemap texture

  Type:

    str

TextureDescription.neg_y

  Path to negative y in a cubemap texture

  Type:

    str

TextureDescription.neg_z

  Path to negative z in a cubemap texture

  Type:

    str

## Inherited Attributes

TextureDescription.path

  The path to a resource when a single file is specified

  Type:

    str

TextureDescription.resolved_path

  The resolved path by a finder.

  The absolute path to the resource can optionally be assigned by a loader class.

  Type:

    pathlib.Path

TextureDescription.attrs

  All keywords arguments passed to the resource

  Type:

    dict

TextureDescription.label

  optional name for the resource

  Assigning a label is not mandatory but can help when aliasing resources. Some prefer to preload all needed resources and fetch them later by the label. This can he a lot less chaotic in larger applications.

  Type:

    str

TextureDescription.kind

  default resource kind.

  The resource `kind` is directly matched with the `kind` in loader classes.

  This property also supports assignment and is useful if the `kind` is detected based in the the attribute values.

      description.kind = 'something'

  Type:

    str

TextureDescription.loader_cls

  The loader class for this resource.

  This property is assigned to during the loading stage were a loader class is assigned based on the kind.

  Type:

    Type

TextureDescription.default_kind = '2d'

  The default kind for this resource type

  Type:

    str

TextureDescription.resource_type = 'textures'

  A unique identifier for the resource type

  Type:

    str