self.gcodeDisplayListMade += 1\r
self.Refresh()\r
\r
+ glPushMatrix()\r
+ glTranslate(self.parent.machineCenter.x, self.parent.machineCenter.y, 0)\r
+ for obj in self.parent.objectList:\r
+ if obj.mesh == None:\r
+ continue\r
+ if obj.displayList == None:\r
+ obj.displayList = glGenLists(1);\r
+ if obj.dirty:\r
+ obj.dirty = False\r
+ glNewList(obj.displayList, GL_COMPILE)\r
+ opengl.DrawMesh(obj.mesh)\r
+ glEndList()\r
+ \r
+ if self.viewMode == "Mixed":\r
+ glDisable(GL_BLEND)\r
+ glColor3f(0.0,0.0,0.0)\r
+ self.drawModel(obj)\r
+ glColor3f(1.0,1.0,1.0)\r
+ glClear(GL_DEPTH_BUFFER_BIT)\r
+ glPopMatrix()\r
+ \r
if self.parent.gcode != None and (self.viewMode == "GCode" or self.viewMode == "Mixed"):\r
glEnable(GL_COLOR_MATERIAL)\r
glEnable(GL_LIGHTING)\r
for obj in self.parent.objectList:\r
if obj.mesh == None:\r
continue\r
- if obj.displayList == None:\r
- obj.displayList = glGenLists(1);\r
- if obj.dirty:\r
- obj.dirty = False\r
- glNewList(obj.displayList, GL_COMPILE)\r
- opengl.DrawMesh(obj.mesh)\r
- glEndList()\r
\r
if self.viewMode == "Transparent" or self.viewMode == "Mixed":\r
glLightfv(GL_LIGHT0, GL_DIFFUSE, map(lambda x: x / 2, self.objColor[self.parent.objectList.index(obj)]))\r
glBlendFunc(GL_ONE, GL_ONE)\r
glEnable(GL_LIGHTING)\r
self.drawModel(obj)\r
+ glEnable(GL_DEPTH_TEST)\r
elif self.viewMode == "X-Ray":\r
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE)\r
glDisable(GL_LIGHTING)\r
glDisable(GL_STENCIL_TEST)\r
glEnable(GL_DEPTH_TEST)\r
\r
- #Fix the depth buffer for the outline drawing.\r
+ #Fix the depth buffer\r
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE)\r
self.drawModel(obj)\r
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE)\r