def setup(): ui.init() renderStacks = [] windows = [] for idx, winData in enumerate(WINDOWS): renderStack = ui.RenderStack() renderStack.display = ui.Display(resolution=winData['size']) share = None if idx == 0 else windows[0] window = renderStack.addWindow( ui.open_window(winData['name'], winData['location'][0], winData['location'][1], renderStack.display.width, renderStack.display.height, share=share)) if not window: ui.terminate() exit(1) ui.make_context_current(window) dg.initGL() windows.append(window) renderStacks.append(renderStack) ui.add_key_callback(ui.close_window, ui.KEY_ESCAPE) scene = loadScene(renderStacks) for rs in renderStacks: rs.graphicsCardInit() return renderStacks, scene, windows
def runLoop(scene, mainWindow): # Print message to console, and kick off the loop to get it rolling. print("Hit ESC key to quit.") frame = 0 totalSleep = 0 start = time.time() while not dgui.window_should_close(mainWindow): dgui.make_context_current(mainWindow) scene.render() now = time.time() toSleep = max(0,(frame+1)/config.maxFPS+start-now) time.sleep(toSleep) dgui.swap_buffers(mainWindow) dgui.poll_events() animateScene(scene, frame) totalSleep += toSleep frame += 1 end = time.time() dgui.terminate() elapsed = end-start computePct = (1-totalSleep/elapsed)*100 renderTime = elapsed-totalSleep frameTime = renderTime/frame*1000 print('Average frame took %.4f ms to render.\nRendered %.4f seconds of a total %.4f seconds.\nRendering %.2f%% of the time.'%(frameTime,renderTime,elapsed,computePct)) exit(0)
def runLoop(scene, mainWindow): # Print message to console, and kick off the loop to get it rolling. renderGraph = scene[list(scene.renderGraphs)[0]] display = renderGraph[list(renderGraph.displays)[0]] frame = 0 totalSleep = 0 start = time.time() while not dgui.window_should_close(mainWindow): dgui.make_context_current(mainWindow) scene.render() now = time.time() toSleep = max(0, (frame + 1) / display.fps + start - now) time.sleep(toSleep) dgui.swap_buffers(mainWindow) dgui.poll_events() scene.animate(frame) totalSleep += toSleep frame += 1 end = time.time() dgui.terminate() elapsed = end - start computePct = (1 - totalSleep / elapsed) * 100 renderTime = elapsed - totalSleep frameTime = renderTime / frame * 1000 print( 'Average frame took %.4f ms to render.\nRendered %.4f seconds of a total %.4f seconds.\nRendering %.2f%% of the time.' % (frameTime, renderTime, elapsed, computePct))
def runLoop(renderStack, mainWindow): # Print message to console, and kick off the loop to get it rolling. print("Hit ESC key to quit.") start = time.time() while not ui.window_should_close(mainWindow): ui.make_context_current(mainWindow) drawScene(renderStack) now = time.time() time.sleep(max((frame+1)/config.maxFPS+start-now,0)) ui.swap_buffers(mainWindow) ui.poll_events() #ui.wait_events() ui.terminate() exit(0)
def setup(): winData = WINDOWS[0] renderStack = ui.RenderStack() renderStack.display = ui.Display(resolution=winData['size']) ui.init() mainWindow = renderStack.addWindow(ui.open_window(winData['name'], winData['location'][0], winData['location'][1], renderStack.display.width, renderStack.display.height)) if not mainWindow: ui.terminate() exit(1) ui.make_context_current(mainWindow) ui.add_key_callback(ui.close_window, ui.KEY_ESCAPE) scenes = [loadScene(renderStack) for renderStack in renderStacks] for rs in renderStacks: rs.graphicsCardInit() return renderStacks, scenes, windows
def setup(): renderGraph = dgr.RenderGraph('Test1_RG') display = renderGraph.add(dgui.Display('Fake Display',resolution=(1920,1200))) dgui.init() offset = (0,0) mainWindow = renderGraph.add(dgui.open_window('Scene Graph Test', offset[0], offset[1], display.width, display.height)) if not mainWindow: dgui.terminate() exit(1) x, y = dgui.get_window_pos(mainWindow) width, height = dgui.get_window_size(mainWindow) dgui.add_key_callback(dgui.close_window, dgui.KEY_ESCAPE) dg.initGL() scene = loadScene(renderGraph) renderGraph.graphicsCardInit() return scene, [mainWindow]
def setup(): renderStack = ui.RenderStack() renderStack.display = ui.Display() ui.init() offset = (0,0) mainWindow = renderStack.addWindow(ui.open_window('Warp Distortion Test', offset[0], offset[1], renderStack.display.width, renderStack.display.height)) if not mainWindow: ui.terminate() exit(1) x, y = ui.get_window_pos(mainWindow) width, height = ui.get_window_size(mainWindow) ui.add_key_callback(ui.close_window, ui.KEY_ESCAPE) dg.initGL() scene = loadScene(renderStack) renderStack.graphicsCardInit() return renderStack, scene, [mainWindow]
def setup(): dgui.init() renderGraph = dgr.RenderGraph('TestMTL_RG') monitors = dgui.get_monitors() display = renderGraph.add(dgui.Display('Last', monitors[0])) offset = display.screenPosition mainWindow = renderGraph.add( dgui.open_window('Render Graph Test', offset[0], offset[1], display.width, display.height)) if not mainWindow: dgui.terminate() exit(1) x, y = dgui.get_window_pos(mainWindow) width, height = dgui.get_window_size(mainWindow) dgui.add_key_callback(dgui.close_window, dgui.KEY_ESCAPE) dg.initGL() scene = loadScene(renderGraph) renderGraph.graphicsCardInit() return renderGraph, [mainWindow]
def runLoop(renderStack, windows, requestedDepth, stillRunning): # Print message to console, and kick off the loop to get it rolling. print("Hit ESC key to quit.") index = 0 while not ui.window_should_close(windows[0]): animate(renderStack) ui.make_context_current(windows[0]) test.drawScene(renderStack) ui.swap_buffers(windows[0]) if TIMING: now = time.time() if (now % 5) < .01: index = int(((now % 15)/5))%len(DEPTHS) switchDepths(windows[0],DEPTHS[index],requestedDepth,renderStack) ui.poll_events() #ui.wait_events() stillRunning.value=False ui.terminate() exit(0)