def get_default_textured_shader(): try: return pyglet.gl.current_context.model_default_textured_shader except AttributeError: vert_shader = shader.Shader(TexturedMaterialGroup.default_vert_src, 'vertex') frag_shader = shader.Shader(TexturedMaterialGroup.default_frag_src, 'fragment') default_shader_program = shader.ShaderProgram(vert_shader, frag_shader) pyglet.gl.current_context.model_default_textured_shader = default_shader_program return current_context.model_default_textured_shader
vertex_colors = colors; } """ fragment_source = """#version 150 core in vec4 vertex_colors; out vec4 final_color; void main() { final_color = vertex_colors; } """ # TODO: cache these on the current_context, like Sprites/etc.? _default_vert_shader = shader.Shader(vertex_source, 'vertex') _default_frag_shader = shader.Shader(fragment_source, 'fragment') _default_program = shader.ShaderProgram(_default_vert_shader, _default_frag_shader) class _ShapeGroup(ShaderGroup): """Shared Shape rendering Group. The group is automatically coalesced with other shape groups sharing the same parent group and blend parameters. """ def __init__(self, blend_src, blend_dest, parent=None): """Create a Shape group. The group is created internally. Usually you do not