Beispiel #1
0
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
Beispiel #2
0
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)
Beispiel #3
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))
Beispiel #4
0
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)
Beispiel #5
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
Beispiel #6
0
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]
Beispiel #7
0
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]
Beispiel #8
0
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]
Beispiel #9
0
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)