def drawSingleStream(self): """Draw a single non-stereo stream""" if self.left.bayer: gpu.useProgram(self.bayerVideo) else: gpu.useProgram(self.rgbVideo) glDisable(GL_BLEND) self.left.draw()
def drawRedBlueStreams(self): """Red-blue stereo view of grayscale""" if self.left.bayer or self.right.bayer: gpu.useProgram(self.bayerAnaglyphVideo) else: gpu.useProgram(self.rgbAnaglyphVideo) glDisable(GL_BLEND) glColorMask(GL_TRUE, GL_FALSE, GL_FALSE, GL_FALSE) self.left.draw() glColorMask(GL_FALSE, GL_TRUE, GL_TRUE, GL_FALSE) self.right.draw() glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE)
def drawBlendedStreams(self): """Stream pair each at 50% opacity""" if self.left.bayer or self.right.bayer: gpu.useProgram(self.bayerVideo) else: gpu.useProgram(self.rgbVideo) if self.left.visible and self.right.visible: opacity = 0.5 else: opacity = 1.0 glEnable(GL_BLEND) glBlendColor(1.0, 1.0, 1.0, opacity) glBlendFunc(GL_CONSTANT_ALPHA, GL_ZERO) self.left.draw() glBlendColor(1.0, 1.0, 1.0, opacity) glBlendFunc(GL_CONSTANT_ALPHA, GL_ONE) self.right.draw()
def drawSideBySide(self): """Side by side view of stereo stream pair""" if self.left.bayer or self.right.bayer: gpu.useProgram(self.bayerVideo) else: gpu.useProgram(self.rgbVideo) glDisable(GL_BLEND) self.left.draw() self.right.draw() # Separator gpu.useProgram(self.flatShader) glEnableClientState(GL_COLOR_ARRAY) glVertexPointer(2, GL_FLOAT, 0, ((0, -0.5),(0, 0.5))) glColorPointer(3, GL_FLOAT, 0, (self.bkColor, self.bkColor)) glDrawArrays(GL_LINES, 0, 2) glDisableClientState(GL_COLOR_ARRAY)