picogl.shaders.registry

Example Usage:

>>>shader_registry = ShaderRegistry() …# Load src at app start …for shader_type_value in ShaderType: … shader_registry.load_and_add(shader_type_value) … …# Later… …shader_manager.current_shader_program = shader_registry.get(ShaderType.ATOMS) …if shader_manager.current_shader_program: … shader_manager.current_shader_program.bind() …

File naming convention:

Ensure GLSL files follow the naming pattern:

atoms_vert.glsl atoms_frag.glsl bonds_vert.glsl bonds_frag.glsl

Classes

ShaderRegistry

ShaderRegistry

Module Contents

class picogl.shaders.registry.ShaderRegistry[source]

ShaderRegistry

shaders: Dict[picogl.shaders.type.ShaderType, picogl.backend.modern.core.shader.program.ShaderProgram][source]
load_and_add(shader_type: picogl.shaders.type.ShaderType) picogl.backend.modern.core.shader.program.ShaderProgram | None[source]

Load, compile, and register a shader_manager.current_shader_program for the given ShaderType.

get(shader_type: picogl.shaders.type.ShaderType) picogl.backend.modern.core.shader.program.ShaderProgram | None[source]
has(shader_type: picogl.shaders.type.ShaderType) bool[source]
release_all()[source]