protected internal virtual void createFBO(IRenderingEngine re, bool forDrawing) { // Create the FBO and associate it to the texture fboId = re.genFramebuffer(); re.bindFramebuffer(pspsharp.graphics.RE.IRenderingEngine_Fields.RE_FRAMEBUFFER, fboId); // Create a render buffer for the depth buffer depthRenderBufferId = re.genRenderbuffer(); re.bindRenderbuffer(depthRenderBufferId); re.setRenderbufferStorage(pspsharp.graphics.RE.IRenderingEngine_Fields.RE_DEPTH_COMPONENT, TexImageWidth, TexImageHeight); // Create the texture base.bind(re, forDrawing); // Attach the texture to the FBO re.setFramebufferTexture(pspsharp.graphics.RE.IRenderingEngine_Fields.RE_FRAMEBUFFER, pspsharp.graphics.RE.IRenderingEngine_Fields.RE_COLOR_ATTACHMENT0, textureId, 0); // Attach the depth buffer to the FBO re.setFramebufferRenderbuffer(pspsharp.graphics.RE.IRenderingEngine_Fields.RE_FRAMEBUFFER, pspsharp.graphics.RE.IRenderingEngine_Fields.RE_DEPTH_ATTACHMENT, depthRenderBufferId); }