Skip to content

Latest commit

 

History

History
87 lines (63 loc) · 1.68 KB

program.rst

File metadata and controls

87 lines (63 loc) · 1.68 KB

Program

moderngl.Program

Create

Context.program(vertex_shader, fragment_shader=None, geometry_shader=None, tess_control_shader=None, tess_evaluation_shader=None, varyings=()) -> Program

Methods

Program.get(key, default) -> Union[Uniform, UniformBlock, Subroutine, Attribute, Varying]

Attributes

Program.geometry_input

Program.geometry_output

Program.geometry_vertices

Program.subroutines

Program.glo

Examples

A simple program designed for rendering

my_render_program = ctx.program(
    vertex_shader='''
        #version 330

        in vec2 vert;

        void main() {
            gl_Position = vec4(vert, 0.0, 1.0);
        }
    ''',
    fragment_shader='''
        #version 330

        out vec4 color;

        void main() {
            color = vec4(0.3, 0.5, 1.0, 1.0);
        }
    ''',
)

A simple program designed for transforming

my_transform_program = ctx.program(
    vertex_shader='''
        #version 330

        in vec4 vert;
        out float vert_length;

        void main() {
            vert_length = length(vert);
        }
    ''',
    varyings=['vert_length']
)

Program Members

uniform.rst uniform_block.rst subroutine.rst attribute.rst varying.rst