pip install VisPy
python
from vispy import app, gloo
@canvas.connect
def on_draw(event):
gloo.clear(color='black')
canvas.show()
app.run()
python
import random
def get_data():
return random.random()
@canvas.connect
def update_data(event):
data = get_data()
@canvas.connect
def on_draw(event):
gloo.clear(color='black')
app.Timer(connect=update_data, interval=0.1)
python
import numpy as np
from vispy import gloo
vertex_shader = """
attribute vec2 position;
void main() {
gl_Position = vec4(position, 0.0, 1.0);
}
"""
fragment_shader = """
void main() {
gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
}
"""
data = np.array([[0, 0], [0, 1], [1, 0], [1, 1]], dtype=np.float32)
data_vbo = gloo.VertexBuffer(data)
program = gloo.Program(vertex_shader, fragment_shader)
program['position'] = data_vbo
program['transform'] = np.eye(3, dtype=np.float32)
gloo.set_viewport(0, 0, canvas.size[0], canvas.size[1])
@canvas.connect
def on_draw(event):
gloo.clear(color='black')
program.draw('points')
canvas.show()
app.run()