Esempio n. 1
0
GL.NewVertexArray()
GL.NewVertexBuffer()
GL.NewVertexShader()

GL.ReadPixel()
GL.ReadPixels()

GL.ReadDepthPixel()
GL.ReadDepthPixels()

GL.ReadStorageBuffer()

GL.RenderLineLoop()
GL.RenderLineStrip()
GL.RenderLines()
GL.RenderPoints()
GL.RenderTriangleFan()
GL.RenderTriangleStrip()
GL.RenderTriangles()

GL.RenderLinesAdjacency()
GL.RenderLineStripAdjacency()
GL.RenderTrianglesAdjacency()
GL.RenderTriangleStripAdjacency()

GL.SetTextureFiltered()
GL.SetTextureMipmapped()
GL.SetTexturePixelated()
GL.SetUniform()
GL.SetUniformMatrix()
Esempio n. 2
0
])

width, height = WND.GetSize()

GL.SetUniform(points['scale'], 10, 10 * height / width)


def vec(a, r=1):
    return [math.cos(a) * r, math.sin(a) * r]


def rvec(a, b):
    return vec(random.uniform(0.0, math.pi * 2.0), random.uniform(a, b))


P = numpy.array([[0.0, 0.0] for i in range(100)])
V = numpy.array([rvec(0.01, 0.05) for i in range(100)])

vbo = GL.NewVertexBuffer(P, dynamic=True)
vao = GL.NewVertexArray(points, vbo, '2d', ['vert'])

while WND.Update():
    P += V
    GL.Clear(240, 240, 240)
    GL.RenderPoints(vao, 100)
    GL.UpdateVertexBuffer(vbo, 0, P)

    if WND.KeyPressed(' '):
        P = numpy.array([[0.0, 0.0] for i in range(100)])
        V = numpy.array([rvec(0.01, 0.05) for i in range(100)])
Esempio n. 3
0
	out vec4 color;

	void main() {
		color = vec4(0.30, 0.50, 1.00, 1.0);
	}
''')

prog = GL.NewProgram([vert, frag])

transform = GL.NewTransformProgram([tvert], ['out_pos', 'out_prev'])

vbo1 = GL.NewVertexBuffer(b''.join(
    struct.pack('2f2f', 0.0, 0.0, random.uniform(-0.001, 0.001),
                random.uniform(-0.001, 0.0)) for i in range(1024)))
vbo2 = GL.NewVertexBuffer(b''.join(
    struct.pack('2f2f', 0.0, 0.0, random.uniform(-0.001, 0.001),
                random.uniform(-0.001, 0.0)) for i in range(1024)))

vao1 = GL.NewVertexArray(transform, vbo1, '2f2f', ['in_pos', 'in_prev'])
vao2 = GL.NewVertexArray(transform, vbo2, '2f2f', ['in_pos', 'in_prev'])

render_vao = GL.NewVertexArray(prog, vbo1, '2f8x', ['vert'])

GL.SetUniform(transform['acc'], 0, -0.00001)

while WND.Update():
    GL.Clear(240, 240, 240)
    GL.RenderPoints(render_vao, 1024)
    GL.TransformPoints(vao1, vbo2, 1024)
    GL.TransformPoints(vao2, vbo1, 1024)