def renderTransparent( self, toRender ): """Render the transparent geometry from toRender (in forward order)""" self.transparent = True setup = False debugFrustum = self.context.contextDefinition.debugBBox try: for key,mvmatrix,tmatrix,bvolume,path in toRender: if key[0]: if not setup: setup = True glEnable(GL_BLEND) glBlendFunc(GL_ONE_MINUS_SRC_ALPHA,GL_SRC_ALPHA, ) glDepthMask( 0 ) glDepthFunc( GL_LEQUAL ) self.matrix = mvmatrix self.renderPath = path glLoadMatrixf( mvmatrix ) try: path[-1].RenderTransparent( mode = self ) if debugFrustum: bvolume.debugRender( ) except Exception, err: log.error( """Failure in %s: %s""", path[-1].Render, getTraceback( err ), ) finally: self.transparent = False if setup: glDisable( GL_BLEND ) glDepthMask( 1 ) glDepthFunc( GL_LEQUAL ) glEnable( GL_DEPTH_TEST )
def renderTransparent( self, toRender ): """Render the transparent geometry from toRender (in forward order)""" self.transparent = True setup = False debugFrustum = self.context.contextDefinition.debugBBox try: for key,mvmatrix,tmatrix,bvolume,path in toRender: if key[0]: if not setup: setup = True glEnable(GL_BLEND) glBlendFunc(GL_ONE_MINUS_SRC_ALPHA,GL_SRC_ALPHA, ) glDepthMask( 0 ) glDepthFunc( GL_LEQUAL ) self.matrix = mvmatrix self.renderPath = path glLoadMatrixf( mvmatrix ) try: path[-1].RenderTransparent( mode = self ) if debugFrustum: bvolume.debugRender( ) except Exception, err: log.error( """Failure in %s: %s""", path[-1].Render, getTraceback( err ), ) finally: self.transparent = False if setup: glDisable( GL_BLEND ) glDepthMask( 1 ) glDepthFunc( GL_LEQUAL ) glEnable( GL_DEPTH_TEST )
def renderOpaque( self, toRender ): """Render the opaque geometry from toRender (in reverse order)""" self.transparent = False debugFrustum = self.context.contextDefinition.debugBBox for key,mvmatrix,tmatrix,bvolume,path in toRender: if not key[0]: self.matrix = mvmatrix self.renderPath = path # glMatrixMode(GL_MODELVIEW) # glLoadMatrixf( mvmatrix ) try: path[-1].Render( mode = self ) if debugFrustum: bvolume.debugRender( ) except Exception, err: log.error( """Failure in opaque render: %s""", getTraceback( err ), ) import os os._exit(1)
def renderOpaque(self, toRender): """Render the opaque geometry from toRender (in reverse order)""" self.transparent = False debugFrustum = self.context.contextDefinition.debugBBox for key, mvmatrix, tmatrix, bvolume, path in toRender: if not key[0]: self.matrix = mvmatrix self.renderPath = path # glMatrixMode(GL_MODELVIEW) # glLoadMatrixf( mvmatrix ) try: path[-1].Render(mode=self) if debugFrustum: bvolume.debugRender() except Exception, err: log.error( """Failure in opaque render: %s""", getTraceback(err), ) import os os._exit(1)