def createBuffer(self, name, xsize, ysize, texgroup, depthbits=1, fbprops=None): """ overload direct.filters.FilterManager.createBuffer :param name: :param xsize: :param ysize: :param texgroup: :param depthbits: :param fbprops: :return: """ winprops = WindowProperties() winprops.setSize(xsize, ysize) props = FrameBufferProperties(FrameBufferProperties.getDefault()) props.setBackBuffers(0) props.setRgbColor(1) props.setDepthBits(depthbits) props.setStereo(self.win.isStereo()) if fbprops is not None: props.addProperties(fbprops) depthtex, colortex, auxtex0, auxtex1 = texgroup if (auxtex0 != None): props.setAuxRgba(1) if (auxtex1 != None): props.setAuxRgba(2) buffer = base.graphicsEngine.makeOutput( self.win.getPipe(), name, -1, props, winprops, GraphicsPipe.BFRefuseWindow | GraphicsPipe.BFResizeable, self.win.getGsg(), self.win) if (buffer == None): return buffer if (colortex): buffer.addRenderTexture(colortex, GraphicsOutput.RTMBindOrCopy, GraphicsOutput.RTPColor) if (depthtex): buffer.addRenderTexture(depthtex, GraphicsOutput.RTMBindOrCopy, GraphicsOutput.RTPDepth) if (auxtex0): buffer.addRenderTexture(auxtex0, GraphicsOutput.RTMBindOrCopy, GraphicsOutput.RTPAuxRgba0) if (auxtex1): buffer.addRenderTexture(auxtex1, GraphicsOutput.RTMBindOrCopy, GraphicsOutput.RTPAuxRgba1) buffer.setSort(self.nextsort) buffer.disableClears() self.nextsort += 1 return buffer
def createBuffer(self, name, xsize, ysize, texgroup, depthbits=True, fbprops=None): """ Low-level buffer creation. Not intended for public use. """ winprops = WindowProperties() winprops.setSize(xsize, ysize) props = FrameBufferProperties(FrameBufferProperties.getDefault()) props.setBackBuffers(0) props.setRgbColor(1) if depthbits is True: # Respect depth-bits from Config.prc if props.getDepthBits() == 0: props.setDepthBits(1) else: props.setDepthBits(depthbits) props.setStereo(self.win.isStereo()) if fbprops is not None: props.addProperties(fbprops) depthtex, colortex, auxtex0, auxtex1 = texgroup if auxtex0 is not None: props.setAuxRgba(1) if auxtex1 is not None: props.setAuxRgba(2) buffer = base.graphicsEngine.makeOutput( self.win.getPipe(), name, -1, props, winprops, GraphicsPipe.BFRefuseWindow | GraphicsPipe.BFResizeable, self.win.getGsg(), self.win) if buffer is None: return buffer if depthtex: buffer.addRenderTexture(depthtex, GraphicsOutput.RTMBindOrCopy, GraphicsOutput.RTPDepth) if colortex: buffer.addRenderTexture(colortex, GraphicsOutput.RTMBindOrCopy, GraphicsOutput.RTPColor) if auxtex0: buffer.addRenderTexture(auxtex0, GraphicsOutput.RTMBindOrCopy, GraphicsOutput.RTPAuxRgba0) if auxtex1: buffer.addRenderTexture(auxtex1, GraphicsOutput.RTMBindOrCopy, GraphicsOutput.RTPAuxRgba1) buffer.setSort(self.nextsort) buffer.disableClears() self.nextsort += 1 return buffer