OpenGL обрезает картинку
Нужно отрисовать 3d фигуру в OpenGL использую в связке с Python и PyQT5. Размер виджета для отрисовки соответствует размеру окна, но изображение получается обрезанным.
Класс Figure отвечает за генерацию точек 3d модели, которые потом отрисовываются по граням, сам класс работает как нужно проверял c pygame. Но при подключении Qt начинаются странные вещи с обрезкой изображения, пробывал разные примеры результат один маленькое окошко в правом нижнем углу.
Само окно:
from OpenGL.GL import *
from OpenGL.GLU import *
from PyQt5.QtOpenGL import *
from PyQt5.QtWidgets import QWidget, QApplication, QHBoxLayout
from Figure import Figure
class MainWindow(QWidget):
def __init__(self):
super(MainWindow, self).__init__()
self.widget = glWidget(self)
mainLayout = QHBoxLayout()
mainLayout.addWidget(self.widget)
self.setLayout(mainLayout)
class glWidget(QGLWidget):
def __init__(self, parent):
QGLWidget.__init__(self, parent)
self.setMinimumSize(640, 480)
self.figure = Figure(((-3,-3,-3),(-0.5,0,-0.5)), 3)
def paintGL(self):
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glLoadIdentity()
glTranslatef(3, 0.5, -6.0)
glColor3f( 1.0, 1.5, 0.0 )
# glPolygonMode(GL_FRONT, GL_FILL)
glBegin(GL_LINES)
for edge in self.figure.edges():
glVertex3fv(self.figure.verts[edge[0]])
glVertex3fv(self.figure.verts[edge[2]])
glEnd()
glFlush()
def initializeGL(self):
# glClearDepth(1[![введите сюда описание изображения][2]][2].0)
# glDepthFunc(GL_LESS)
# glEnable(GL_DEPTH_TEST)
# glShadeModel(GL_SMOOTH)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(45.0, 1.33, 0.1, 50.0)
glMatrixMode(GL_MODELVIEW)
if __name__ == '__main__':
app = QApplication(['Yo'])
window = MainWindow()
window.show()
app.exec_()
