pip install vispy python import numpy as np from vispy import app, gloo from vispy.util.transforms import perspective, translate, rotate python class MapVisualization(app.Canvas): def __init__(self): app.Canvas.__init__(self, keys='interactive') def on_initialize(self, event): # ... pass def on_draw(self, event): # ... pass def on_update(self, event): # ... pass def on_key_press(self, event): # ... pass def on_mouse_move(self, event): # ... pass def run(self): self.show() app.run() python def on_initialize(self, event): self.map_data = np.array([[0, 0], [0, 1], [1, 1], [1, 0]]) self.map_color = np.array([[1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 1, 1]]) def on_draw(self, event): gloo.clear(color='black') gloo.set_viewport(0, 0, *self.size) gloo.set_state(clear_color=(0, 0, 0, 1), blend=False, depth_test=True) program = gloo.Program(vertex_shader=VERTEX_SHADER, fragment_shader=FRAGMENT_SHADER) program['map_data'] = gloo.VertexBuffer(self.map_data) program['map_color'] = gloo.VertexBuffer(self.map_color) program['transform'] = translate((0, 0, -5)) program['transform'] = rotate(0, (0, 1, 0)) program['transform'] = perspective(45.0, self.size[0] / float(self.size[1]), 1.0, 100.0) program.draw('triangles') def on_update(self, event): # ... pass python app = MapVisualization() app.run()


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