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 |
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]