def initializeGL(self): QOpenGLWidget.makeCurrent(self.openGLWidget) gl.glEnable(gl.GL_BLEND) gl.glBlendFunc(gl.GL_SRC_ALPHA, gl.GL_ONE_MINUS_SRC_ALPHA) gl.glEnable(gl.GL_DEPTH_TEST) gl.glDepthMask(1) gl.glDepthFunc(gl.GL_LEQUAL) self.object = gl.glGenLists(self.NLists) gl.glNewList(self.object, gl.GL_COMPILE) gl.glEndList()
def paintGL(self): QOpenGLWidget.makeCurrent(self.openGLWidget) ambient = [1.0, 1.0, 1.0, 0.04] lightpos = [1.0, 10.0, 100.0] gl.glLightModelfv(gl.GL_LIGHT_MODEL_AMBIENT, ambient) # Определяем текущую модель освещения gl.glEnable(gl.GL_LIGHTING) gl.glEnable(gl.GL_LIGHT0) gl.glEnable(gl.GL_DEPTH_TEST) gl.glEnable(gl.GL_COLOR_MATERIAL) gl.glLightfv(gl.GL_LIGHT0, gl.GL_POSITION, lightpos) # Определяем положение источника света try: self.prepere_scene() if self.active: self.prepare_orientation() if self.ViewAtoms: gl.glCallList(self.object) # atoms if self.CanSearch: self.get_atom_on_screen() if self.ViewBonds and (len(self.MainModel.bonds) > 0): gl.glCallList(self.object + 2) # find_bonds_exact if self.ViewVoronoi: gl.glCallList(self.object + 1) # Voronoi if self.ViewBox: gl.glCallList(self.object + 3) # lattice_parameters_abc_angles if self.ViewSurface: gl.glCallList(self.object + 4) # Surface if self.ViewContour: gl.glCallList(self.object + 5) # Contour if self.ViewContourFill: gl.glCallList(self.object + 6) # ContourFill if self.ViewAxes: gl.glCallList(self.object + 7) # Axes except Exception as exc: print(exc) pass