1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
from PyQt5 import QtGui, QtWidgets, QtCore, QtOpenGL
import moderngl
# pylint: disable=E0202
class QModernGLWidget(QtOpenGL.QGLWidget):
def __init__(self):
fmt = QtOpenGL.QGLFormat()
fmt.setVersion(3, 3)
fmt.setProfile(QtOpenGL.QGLFormat.CoreProfile)
fmt.setSampleBuffers(True)
self.timer = QtCore.QElapsedTimer()
super(QModernGLWidget, self).__init__(fmt, None)
def initializeGL(self):
pass
def paintGL(self):
self.ctx = moderngl.create_context()
self.screen = self.ctx.detect_framebuffer()
self.init()
self.render()
self.paintGL = self.render
def init(self):
pass
def render(self):
pass
class QModernGLWidgetOld(QtWidgets.QOpenGLWidget):
def __init__(self):
super(QModernGLWidgetOld, self).__init__()
fmt = QtGui.QSurfaceFormat()
fmt.setVersion(3, 3)
fmt.setProfile(QtGui.QSurfaceFormat.CoreProfile)
fmt.setDepthBufferSize(24)
fmt.setSwapInterval(0)
fmt.setSamples(8)
self.setFormat(fmt)
def initializeGL(self):
pass
def paintGL(self):
self.ctx = moderngl.create_context()
self.screen = self.ctx.detect_framebuffer(self.defaultFramebufferObject())
self.init()
self.render()
self.paintGL = self.render
def init(self):
pass
def render(self):
pass
|