def add_render_texture(output, mode=None, bitplane=None): """ Similar to GraphicsOutput's addRenderTexture. ** Possible mode values ** GraphicsOutput.RTMNone GraphicsOutput.RTMBindOrCopy GraphicsOutput.RTMCopyTexture GraphicsOutput.RTMCopyRam GraphicsOutput.RTMTriggeredCopyTexture GraphicsOutput.RTMTriggeredCopyRam ** Possible bitplane values ** GraphicsOutput.RTPStencil GraphicsOutput.RTPDepthStencil GraphicsOutput.RTPColor GraphicsOutput.RTPAuxRgba0 GraphicsOutput.RTPAuxRgba1 GraphicsOutput.RTPAuxRgba2 GraphicsOutput.RTPAuxRgba3 GraphicsOutput.RTPAuxHrgba0 GraphicsOutput.RTPAuxHrgba1 GraphicsOutput.RTPAuxHrgba2 GraphicsOutput.RTPAuxHrgba3 GraphicsOutput.RTPAuxFloat0 GraphicsOutput.RTPAuxFloat1 GraphicsOutput.RTPAuxFloat2 GraphicsOutput.RTPAuxFloat3 GraphicsOutput.RTPDepth GraphicsOutput.RTPCOUNT """ if mode is None: mode = GraphicsOutput.RTMBindOrCopy elif isinstance(mode, str): mode = getattr(GraphicsOutput, mode) if bitplane is None: bitplane = GraphicsOutput.RTPColor elif isinstance(bitplane, str): bitplane = getattr(GraphicsOutput, bitplane) tex = Texture() tex.setFormat(Texture.FLuminance) # Add the texture to the buffer output.addRenderTexture(tex, mode, bitplane) # Get a handle to the texture assert tex == output.getTexture(), "Texture wasn't created properly." return tex