def _set_config(c): """Set the OpenGL configuration""" glformat = QGLFormat() glformat.setRedBufferSize(c['red_size']) glformat.setGreenBufferSize(c['green_size']) glformat.setBlueBufferSize(c['blue_size']) glformat.setAlphaBufferSize(c['alpha_size']) if QT5_NEW_API or PYSIDE6_API: # Qt5 >= 5.4.0 - below options automatically enabled if nonzero. glformat.setSwapBehavior(glformat.DoubleBuffer if c['double_buffer'] else glformat.SingleBuffer) elif PYQT6_API: glformat.setSwapBehavior( glformat.SwapBehavior.DoubleBuffer if c['double_buffer'] else glformat.SwapBehavior.SingleBuffer) else: # Qt4 and Qt5 < 5.4.0 - buffers must be explicitly requested. glformat.setAccum(False) glformat.setRgba(True) glformat.setDoubleBuffer(True if c['double_buffer'] else False) glformat.setDepth(True if c['depth_size'] else False) glformat.setStencil(True if c['stencil_size'] else False) glformat.setSampleBuffers(True if c['samples'] else False) glformat.setDepthBufferSize(c['depth_size'] if c['depth_size'] else 0) glformat.setStencilBufferSize( c['stencil_size'] if c['stencil_size'] else 0) glformat.setSamples(c['samples'] if c['samples'] else 0) glformat.setStereo(c['stereo']) return glformat
def __init__(self): # init the widget #QWidget.__init__(self, parent) # set up the scene self.scene = QGraphicsScene() self.scene.setSceneRect(0, 0, 800, 600) # add a view of that scene self.view = QGraphicsView() self.view.setScene(self.scene) self.view.setRenderHint(QPainter.Antialiasing) self.view.setFixedSize(800, 600) self.view.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) self.view.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff) # set the screen sync to vertical retrace val = "1" # Set for nVidia linux os.environ["__GL_SYNC_TO_VBLANK"] = val # Set for recent linux Mesa DRI Radeon os.environ["LIBGL_SYNC_REFRESH"] = val qglf = QGLFormat() qglf.setSampleBuffers(True) self.glw = QGLWidget(qglf) self.glw.setAutoBufferSwap(False) self.view.setViewport(self.glw) #self.view.showFullScreen() self.view.show() self.last_finish = 0 QTimer.singleShot(0, self.glw.swapBuffers)
def __init__(self): # init the widget #QWidget.__init__(self, parent) # set up the scene self.scene=QGraphicsScene() self.scene.setSceneRect(0,0,800,600) # add a view of that scene self.view = QGraphicsView() self.view.setScene(self.scene) self.view.setRenderHint(QPainter.Antialiasing) self.view.setFixedSize(800,600) self.view.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) self.view.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff) # set the screen sync to vertical retrace val = "1" # Set for nVidia linux os.environ["__GL_SYNC_TO_VBLANK"] = val # Set for recent linux Mesa DRI Radeon os.environ["LIBGL_SYNC_REFRESH"] = val qglf = QGLFormat() qglf.setSampleBuffers(True) self.glw = QGLWidget(qglf) self.glw.setAutoBufferSwap(False) self.view.setViewport(self.glw) #self.view.showFullScreen() self.view.show() self.last_finish = 0 QTimer.singleShot(0,self.glw.swapBuffers)
def __init__ (self, parent = None): ''' Viewer's Constructor ''' frmt = QGLFormat () frmt.setSampleBuffers (True) super (OGLViewer, self).__init__ (frmt, parent) #self.setMouseTracking (True) self.__mouse = QCursor () self.setCursor (Qt.OpenHandCursor) self.setFocusPolicy (Qt.ClickFocus) self.__Ctrl_or_Meta_key_pressed = False self.__Alt_key_pressed = False self.__w = 720 self.__h = 450 self._init_camera_vars () self._init_objec_vars () # matrix changed signal. The signal's payload is the matrix itself. self.__GLMatrixChanged = SIGNAL ("MatrixChanged (PyQt_PyObject)") self.__compo_light_pos = QVector3D (.3,.2,.1) self.__AmbientMaterial = QVector3D ( .2, .2, .2)
def __init__(self, parent=None): ''' Viewer's Constructor ''' frmt = QGLFormat() frmt.setSampleBuffers(True) super(OGLViewer, self).__init__(frmt, parent) #self.setMouseTracking (True) self.__mouse = QCursor() self.setCursor(Qt.OpenHandCursor) self.setFocusPolicy(Qt.ClickFocus) self.__Ctrl_or_Meta_key_pressed = False self.__Alt_key_pressed = False self.__w = 720 self.__h = 450 self._init_camera_vars() self._init_objec_vars() # matrix changed signal. The signal's payload is the matrix itself. self.__GLMatrixChanged = SIGNAL("MatrixChanged (PyQt_PyObject)") self.__compo_light_pos = QVector3D(.3, .2, .1) self.__AmbientMaterial = QVector3D(.2, .2, .2)
def _set_config(c): """Set the OpenGL configuration""" glformat = QGLFormat() glformat.setRedBufferSize(c['red_size']) glformat.setGreenBufferSize(c['green_size']) glformat.setBlueBufferSize(c['blue_size']) glformat.setAlphaBufferSize(c['alpha_size']) if QT5_NEW_API: # Qt5 >= 5.4.0 - below options automatically enabled if nonzero. glformat.setSwapBehavior(glformat.DoubleBuffer if c['double_buffer'] else glformat.SingleBuffer) else: # Qt4 and Qt5 < 5.4.0 - buffers must be explicitly requested. glformat.setAccum(False) glformat.setRgba(True) glformat.setDoubleBuffer(True if c['double_buffer'] else False) glformat.setDepth(True if c['depth_size'] else False) glformat.setStencil(True if c['stencil_size'] else False) glformat.setSampleBuffers(True if c['samples'] else False) glformat.setDepthBufferSize(c['depth_size'] if c['depth_size'] else 0) glformat.setStencilBufferSize(c['stencil_size'] if c['stencil_size'] else 0) glformat.setSamples(c['samples'] if c['samples'] else 0) glformat.setStereo(c['stereo']) return glformat
def _set_config(c): """Set the OpenGL configuration""" glformat = QGLFormat() glformat.setRedBufferSize(c["red_size"]) glformat.setGreenBufferSize(c["green_size"]) glformat.setBlueBufferSize(c["blue_size"]) glformat.setAlphaBufferSize(c["alpha_size"]) glformat.setAccum(False) glformat.setRgba(True) glformat.setDoubleBuffer(True if c["double_buffer"] else False) glformat.setDepth(True if c["depth_size"] else False) glformat.setDepthBufferSize(c["depth_size"] if c["depth_size"] else 0) glformat.setStencil(True if c["stencil_size"] else False) glformat.setStencilBufferSize(c["stencil_size"] if c["stencil_size"] else 0) glformat.setSampleBuffers(True if c["samples"] else False) glformat.setSamples(c["samples"] if c["samples"] else 0) glformat.setStereo(c["stereo"]) return glformat
def _set_config(c): """Set the OpenGL configuration""" glformat = QGLFormat() glformat.setRedBufferSize(c['red_size']) glformat.setGreenBufferSize(c['green_size']) glformat.setBlueBufferSize(c['blue_size']) glformat.setAlphaBufferSize(c['alpha_size']) glformat.setAccum(False) glformat.setRgba(True) glformat.setDoubleBuffer(True if c['double_buffer'] else False) glformat.setDepth(True if c['depth_size'] else False) glformat.setDepthBufferSize(c['depth_size'] if c['depth_size'] else 0) glformat.setStencil(True if c['stencil_size'] else False) glformat.setStencilBufferSize( c['stencil_size'] if c['stencil_size'] else 0) glformat.setSampleBuffers(True if c['samples'] else False) glformat.setSamples(c['samples'] if c['samples'] else 0) glformat.setStereo(c['stereo']) return glformat
def __init__(self, parent=None): super(GLWidget, self).__init__(parent) fmt = QGLFormat() fmt.setSampleBuffers(True) fmt.setSamples(4) # print fmt.samples() # exit(0) self.setFormat(fmt) # Anti-aliasing self.width = 1280 self.height = 720 self.lastPos = None self.zoom = -1.2 self.sim = None self.viewer = None self.captureIndex = 0 self.scene = OpenGLScene(self.width, self.height, parent) self.renderer = self.scene.renderer self.lock_camera = False
def __init__(self, parent, shareWidget, useStencilBuffer): """ #doc @note: If shareWidget is specified, useStencilBuffer is ignored: set it in the widget you're sharing with. """ if shareWidget: self.shareWidget = shareWidget #bruce 051212 glformat = shareWidget.format() QGLWidget.__init__(self, glformat, parent, shareWidget) if not self.isSharing(): assert 0, "%r refused to share GL display list namespace " \ "with %r" % (self, shareWidget) return else: glformat = QGLFormat() if (useStencilBuffer): glformat.setStencil(True) # set gl format to request stencil buffer # (needed for mouseover-highlighting of objects of general # shape in BuildAtoms_Graphicsmode.bareMotion) [bruce 050610] if (self.useMultisample): # use full scene anti-aliasing on hardware that supports it # (note: setting this True works around bug 2961 on some systems) glformat.setSampleBuffers(True) QGLWidget.__init__(self, glformat, parent) pass self.glprefs = drawing_globals.glprefs # future: should be ok if this differs for different glpanes, # even between self and self.shareWidget. AFAIK, the refactoring # I'm doing yesterday and today means this would work fine, # or at least it does most of what would be required for that. # [bruce 090304] self._initialize_view_attributes() # Initial value of depth "constant" (changeable by prefs.) self.DEPTH_TWEAK = DEPTH_TWEAK_UNITS * DEPTH_TWEAK_VALUE self.trackball = Trackball(10, 10) self._functions_to_call_when_gl_context_is_current = [] # piotr 080714: Defined this attribute here in case # chunk.py accesses it in ThumbView. self.lastNonReducedDisplayMode = default_display_mode # piotr 080807 # Most recent quaternion to be used in animation timer. self.last_quat = None self.transforms = [] ### TODO: clear this at start of frame, complain if not clear # stack of current transforms (or Nodes that generate them) # [bruce 090220] # Note: this may be revised once we have TransformNode, # e.g. we might push their dt and st separately; # note we might need to push a "slot" for them if they might # change before being popped, or perhaps even if they might # change between the time pushed and the time later used # (by something that collects them from here in association # with a ColorSortedDisplayList). return
def __init__(self, parent, shareWidget, useStencilBuffer): """ #doc @note: If shareWidget is specified, useStencilBuffer is ignored: set it in the widget you're sharing with. """ if shareWidget: self.shareWidget = shareWidget #bruce 051212 glformat = shareWidget.format() QGLWidget.__init__(self, glformat, parent, shareWidget) if not self.isSharing(): assert 0, "%r refused to share GL display list namespace " \ "with %r" % (self, shareWidget) return else: glformat = QGLFormat() if (useStencilBuffer): glformat.setStencil(True) # set gl format to request stencil buffer # (needed for mouseover-highlighting of objects of general # shape in BuildAtoms_Graphicsmode.bareMotion) [bruce 050610] if (self.useMultisample): # use full scene anti-aliasing on hardware that supports it # (note: setting this True works around bug 2961 on some systems) glformat.setSampleBuffers(True) QGLWidget.__init__(self, glformat, parent) pass self.glprefs = drawing_globals.glprefs # future: should be ok if this differs for different glpanes, # even between self and self.shareWidget. AFAIK, the refactoring # I'm doing yesterday and today means this would work fine, # or at least it does most of what would be required for that. # [bruce 090304] self._initialize_view_attributes() # Initial value of depth "constant" (changeable by prefs.) self.DEPTH_TWEAK = DEPTH_TWEAK_UNITS * DEPTH_TWEAK_VALUE self.trackball = Trackball(10, 10) self._functions_to_call_when_gl_context_is_current = [] # piotr 080714: Defined this attribute here in case # chunk.py accesses it in ThumbView. self.lastNonReducedDisplayMode = default_display_mode # piotr 080807 # Most recent quaternion to be used in animation timer. self.last_quat = None self.transforms = [ ] ### TODO: clear this at start of frame, complain if not clear # stack of current transforms (or Nodes that generate them) # [bruce 090220] # Note: this may be revised once we have TransformNode, # e.g. we might push their dt and st separately; # note we might need to push a "slot" for them if they might # change before being popped, or perhaps even if they might # change between the time pushed and the time later used # (by something that collects them from here in association # with a ColorSortedDisplayList). return