# programs.Programs

moderngl_window.resources.programs.Programs

  Handle program loading

## Methods

Programs.__init__()

  Initialize internal attributes

Programs.load(meta: ProgramDescription) → Program

  Loads a shader program with the configured loaders

  Parameters:

    meta (`ProgramDescription`) – The resource description

  Returns:

    The shader program

  Return type:

    moderngl.Program

Programs.add(meta: ResourceDescription) → None

  Adds a resource description without loading it. The resource is loaded and returned when `load_pool()` is called.

  Parameters:

    meta (ResourceDescription) – The resource description

Programs.load_pool() → Generator[Tuple[ResourceDescription, Any], None, None]

  Loads all the data files using the configured finders.

  This is only relevant when resource have been added to this pool using `add()`.

  Returns:

    Generator of (meta, resource) tuples

Programs.resolve_loader(meta: ProgramDescription) → None

  Resolve program loader.

  Determines if the references resource is a single or multiple glsl files unless `kind` is specified.

  Parameters:

    meta (ProgramDescription) – The resource description

## Attributes

Programs.settings_attr = 'PROGRAM_LOADERS'

  The name of the attribute in `Settings` containting a list of loader classes.

  Type:

    str

Programs.count

  The number of resource descriptions added. This is only relevant when using add and load_pool.

  Type:

    int

Programs.loaders

  Loader classes for this resource type

  Type:

    Generator