def run(self): app.use("qt5") self.window = app.Window(width=self.width, height=self.height) #self.window = app.Window() self.window.attach(self) #app.clock.set_fps_limit(20) clock = app.__init__(backend=app.__backend__) if False: with record(self.window, "cube.mp4", fps=20): app.run(framerate=20) else: while True: #dt = clock.tick() #self.program1['time'] = dt*5 time.sleep(0.01) app.__backend__.process(0.05) if self.finish: return
def save(save_path, display_fps=60, save_fps=None, duration=None): if save_fps is None: save_fps = display_fps from glumpy.app.movie import record with record(window, save_path, fps=save_fps): run(fps=display_fps, duration=duration)
program.draw(gl.GL_TRIANGLES, tri_idx) # bb if args.no_rigid: program.draw(gl.GL_LINES, bb_idx) # outlines gl.glDisable(gl.GL_POLYGON_OFFSET_FILL) gl.glEnable(gl.GL_BLEND) gl.glDepthMask(gl.GL_FALSE) program['u_color'] = 0, 0, 0, 1 program.draw(gl.GL_LINES, edge_idx) gl.glDepthMask(gl.GL_TRUE) @window.event def on_resize(width, height): program['u_projection'] = glm.perspective( 15.0, width / float(height), 2.0, 2000.0) @window.event def on_init(): gl.glEnable(gl.GL_DEPTH_TEST) gl.glPolygonOffset(1, 1) gl.glEnable(gl.GL_LINE_SMOOTH) with record(window, savename, fps=framerate): app.run(framerate=framerate, framecount=n_deforms)
cube.draw(gl.GL_TRIANGLES, faces) # Make cube rotate theta += 0.5 # degrees phi += 0.5 # degrees model = np.eye(4, dtype=np.float32) glm.rotate(model, theta, 0, 0, 1) glm.rotate(model, phi, 0, 1, 0) cube['model'] = model @window.event def on_resize(width, height): cube['projection'] = glm.perspective(45.0, width / float(height), 2.0, 100.0) vertices, faces = primitives.cube() cube = gloo.Program(vertex, fragment) cube.bind(vertices) view = np.eye(4, dtype=np.float32) glm.translate(view, 0, 0, -3) cube['view'] = view cube['model'] = np.eye(4, dtype=np.float32) cube['texture'] = data.checkerboard() phi, theta = 0, 0 duration = 5.0 framerate = 60 with record(window, "cube.mp4", fps=framerate): app.run(framerate=framerate, duration=duration)
# Make cube rotate theta += 0.5 # degrees phi += 0.5 # degrees model = np.eye(4, dtype=np.float32) glm.rotate(model, theta, 0, 0, 1) glm.rotate(model, phi, 0, 1, 0) cube['model'] = model @window.event def on_resize(width, height): cube['projection'] = glm.perspective(45.0, width / float(height), 2.0, 100.0) vertices, faces = primitives.cube() cube = gloo.Program(vertex, fragment) cube.bind(vertices) view = np.eye(4, dtype=np.float32) glm.translate(view, 0, 0, -3) cube['view'] = view cube['model'] = np.eye(4, dtype=np.float32) cube['texture'] = data.checkerboard() phi, theta = 0, 0 duration = 5.0 framerate = 60 with record(window, "cube.mp4", fps=framerate): app.run(framerate=framerate, duration=duration)
points2.draw() coord.draw() @window.event def on_key_press(symbol, modifiers): global toggleStop, time # print('Key pressed (symbol=%s, modifiers=%s)' % (symbol, modifiers)) if symbol == 83: gl.glReadPixels(0, 0, window.width, window.height, gl.GL_RGB, gl.GL_UNSIGNED_BYTE, framebuffer) screen_filename = filename[:-3] + '_' + str(time) + '.png' png.from_array(framebuffer, 'RGB').save(screen_filename) print('... screen capture: {}'.format(screen_filename)) if symbol == app.window.key.ENTER: reset(transform) if symbol == app.window.key.SPACE: if toggleStop: toggleStop = False else: toggleStop = True reset(transform) framerate = 30 duration = maxtime / framerate if save_flag: with record(window, filename[:-3] + '.mp4', fps=framerate): app.run(framerate=framerate, duration=duration) else: app.run()