def init_gl(self):
        self.program = oogl.ShaderProgram(
            oogl.VertexShader(vertex_shader),
            oogl.FragmentShader(fragment_shader),
        )

        self.vbo = oogl.VertexBuffer(self.data)
Exemple #2
0
    def init_gl(self):
        self.program = oogl.ShaderProgram(
            oogl.VertexShader(vertex_shader),
            oogl.FragmentShader(fragment_shader),
        )

        self.update_buffers()
Exemple #3
0
    def __init__(self):
        app.Canvas.__init__(self)
        self.geometry = 0, 0, 400, 400

        self.program = oogl.ShaderProgram(oogl.VertexShader(VERT_CODE),
                                          oogl.FragmentShader(FRAG_CODE))

        self.program.attributes['a_position'] = positions
        self.program.attributes['a_color'] = colors
Exemple #4
0
    def __init__(self):
        app.Canvas.__init__(self)
        self.size = 560, 420

        # Create texture to render to
        self._rendertex = oogl.Texture2D()

        # Create FBO, attach the color buffer and depth buffer
        self._fbo = oogl.FrameBuffer(self._rendertex, oogl.RenderBuffer())

        # Create program to render a shape
        self._program1 = oogl.Program(oogl.VertexShader(VERT_SHADER1),
                                      oogl.FragmentShader(FRAG_SHADER1))
        self._program1['u_color'] = 0.9, 1.0, 0.4, 1
        self._program1['a_position'] = oogl.VertexBuffer(vPosition)

        # Create program to render FBO result
        self._program2 = oogl.Program(oogl.VertexShader(VERT_SHADER2),
                                      oogl.FragmentShader(FRAG_SHADER2))
        self._program2['a_position'] = oogl.VertexBuffer(vPosition)
        self._program2['a_texcoord'] = oogl.VertexBuffer(vTexcoord)
        self._program2['u_texture1'] = self._rendertex
Exemple #5
0
    def __init__(self):
        app.Canvas.__init__(self)
        self.geometry = 0, 0, 400, 400

        self.program = oogl.ShaderProgram(oogl.VertexShader(VERT_CODE),
                                          oogl.FragmentShader(FRAG_CODE))

        # Set attributes
        self.program.attributes['a_position'] = oogl.VertexBuffer(positions)
        self.program.attributes['a_color'] = oogl.VertexBuffer(colors)

        self.init_transforms()

        self.timer = app.Timer(1.0 / 60)
        self.timer.connect(self.update_transforms)
        self.timer.start()
Exemple #6
0
    def __init__(self):
        app.Canvas.__init__(self)

        self.geometry = 0, 0, 400, 400

        # Create program
        self._program = oogl.ShaderProgram(oogl.VertexShader(VERT_SHADER),
                                           oogl.FragmentShader(FRAG_SHADER))

        # Create vbo
        self._vbo = oogl.VertexBuffer(vertex_data)

        # Set uniforms, samplers, attributes
        self._program.attributes.update(self._vbo)
        self._program.uniforms['s_texture'] = oogl.Texture2D(im1)

        # Create first explosion
        self._new_explosion()
Exemple #7
0
    def __init__(self, **kwargs):
        app.Canvas.__init__(self, **kwargs)
        self.geometry = 0, 0, 400, 400

        self.program = oogl.ShaderProgram(oogl.VertexShader(VERT_CODE),
                                          oogl.FragmentShader(FRAG_CODE))

        # Set attributes
        self.program.attributes['a_position'] = oogl.VertexBuffer(positions)
        self.program.attributes['a_texcoord'] = oogl.VertexBuffer(texcoords)

        self.program.uniforms['u_texture'] = oogl.Texture2D(io.cat())

        # Handle transformations
        self.init_transforms()

        self.timer = app.Timer(1.0 / 60)
        self.timer.connect(self.update_transforms)
        self.timer.start()