pip install vispy python import numpy as np from vispy import app, gloo vertex_shader = """ attribute vec2 a_position; uniform float u_scale; void main (void) { gl_Position = vec4(a_position * u_scale, 0.0, 1.0); } """ fragment_shader = """ void main() { gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0); } """ class Canvas(app.Canvas): def __init__(self): app.Canvas.__init__(self, size=(400, 400), title='VisPy Canvas') self.program = gloo.Program(vertex_shader, fragment_shader) self.program['a_position'] = (-0.5, -0.5), (-0.5, 0.5), (0.5, -0.5), (0.5, 0.5) self.program['u_scale'] = 1.0 def on_draw(self, event): gloo.clear(color=True, depth=True) self.program.draw('triangle_strip') canvas = Canvas() canvas.show() app.run() python import numpy as np from vispy import app, gloo n = 100000000 x = np.random.rand(n).astype(np.float32) y = np.random.rand(n).astype(np.float32) vertex_shader = """ attribute vec2 a_position; void main (void) { gl_Position = vec4(a_position, 0.0, 1.0); } """ fragment_shader = """ void main() { gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0); } """ class Canvas(app.Canvas): def __init__(self): app.Canvas.__init__(self, size=(800, 800), title='VisPy Canvas') self.program = gloo.Program(vertex_shader, fragment_shader) self.program['a_position'] = np.column_stack((x, y)) def on_draw(self, event): gloo.clear(color=True, depth=True) self.program.draw('points') canvas = Canvas() canvas.show() app.run()


上一篇:
下一篇:
切换中文