コード例 #1
0
    def constructAllDisplayLists(self):
        display.set_caption("PLEASE WAIT... CONSTRUCTING DISPLAY LISTS...")
        numKeys = len( self.objs.keys() )
        count = 0
        for key in self.objs.keys():
            gl_utils.glClear(\
                gl_utils.GL_COLOR_BUFFER_BIT | gl_utils.GL_DEPTH_BUFFER_BIT)

            count = count + 1
            numVertices = len( self.objs[key].vertices )
            # Construct string:
            printStr = "Display list [" + str(count) + "/" + \
              str(numKeys) + "]: \"" + str(key) + "\" ("
            if self.objs[key].isMatlabBody:
                printStr = printStr + "Matlab "
            else:
                printStr = printStr + "fixed "
            printStr = printStr + "body with: " + \
              str(numVertices) + " vertices)"
            gl_utils.printText(0.15, 0.5, printStr)

            display.flip() # update screen, show text

            print " --> " + printStr # console message
            self.objs[ key ].makeDisplayList() # construct this list
コード例 #2
0
        def on_resize(window, w, h):
            nonlocal window_size
            nonlocal content_scale
            if w == 0 or h == 0:
                return

            # Always clear buffers on resize to make sure that there are no overlapping
            # artifacts from previous frames.
            gl_utils.glClear(gl_utils.GL_COLOR_BUFFER_BIT)
            gl_utils.glClearColor(0, 0, 0, 1)

            content_scale = glfw.get_content_scale(window)
            framebuffer_scale = glfw.get_framebuffer_scale(window)
            g_pool.gui.scale = content_scale
            window_size = w, h
            g_pool.camera_render_size = w - int(
                icon_bar_width * g_pool.gui.scale), h
            g_pool.gui.update_window(*window_size)
            g_pool.gui.collect_menus()
            for p in g_pool.plugins:
                p.on_window_resize(window, *g_pool.camera_render_size)

            # Minimum window size required, otherwise parts of the UI can cause openGL
            # issues with permanent effects. Depends on the content scale, which can
            # potentially be dynamically modified, so we re-adjust the size limits every
            # time here.
            min_size = int(2 * icon_bar_width * g_pool.gui.scale /
                           framebuffer_scale)
            glfw.glfwSetWindowSizeLimits(window, min_size, min_size,
                                         glfw.GLFW_DONT_CARE,
                                         glfw.GLFW_DONT_CARE)

            # Needed, to update the window buffer while resizing
            consume_events_and_render_buffer()
コード例 #3
0
ファイル: service_ui.py プロジェクト: rprend/pupil
        def on_resize(window, w, h):
            # Always clear buffers on resize to make sure that there are no overlapping
            # artifacts from previous frames.
            gl_utils.glClear(gl_utils.GL_COLOR_BUFFER_BIT)
            gl_utils.glClearColor(0, 0, 0, 1)

            self.window_size = w, h
            self.content_scale = gl_utils.get_content_scale(window)
            g_pool.gui.scale = self.content_scale
            g_pool.gui.update_window(w, h)
            g_pool.gui.collect_menus()

            # Needed, to update the window buffer while resizing
            self.update_ui()
コード例 #4
0
        def on_resize(window, w, h):
            nonlocal window_size
            nonlocal content_scale

            is_minimized = bool(glfw.get_window_attrib(window, glfw.ICONIFIED))

            if is_minimized:
                return

            # Always clear buffers on resize to make sure that there are no overlapping
            # artifacts from previous frames.
            gl_utils.glClear(GL_COLOR_BUFFER_BIT)
            gl_utils.glClearColor(0, 0, 0, 1)

            active_window = glfw.get_current_context()
            glfw.make_context_current(window)
            content_scale = gl_utils.get_content_scale(window)
            framebuffer_scale = gl_utils.get_framebuffer_scale(window)
            g_pool.gui.scale = content_scale
            window_size = w, h
            g_pool.camera_render_size = w - int(
                icon_bar_width * g_pool.gui.scale), h
            g_pool.gui.update_window(w, h)
            g_pool.gui.collect_menus()
            for g in g_pool.graphs:
                g.scale = content_scale
                g.adjust_window_size(w, h)
            adjust_gl_view(w, h)
            glfw.make_context_current(active_window)

            # Minimum window size required, otherwise parts of the UI can cause openGL
            # issues with permanent effects. Depends on the content scale, which can
            # potentially be dynamically modified, so we re-adjust the size limits every
            # time here.
            min_size = int(2 * icon_bar_width * g_pool.gui.scale /
                           framebuffer_scale)
            glfw.set_window_size_limits(
                window,
                min_size,
                min_size,
                glfw.DONT_CARE,
                glfw.DONT_CARE,
            )

            # Needed, to update the window buffer while resizing
            consume_events_and_render_buffer()