summaryrefslogtreecommitdiffhomepage
path: root/src/rlgl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/rlgl.h')
-rw-r--r--src/rlgl.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/rlgl.h b/src/rlgl.h
index 6ad6394d..6dd3eb2c 100644
--- a/src/rlgl.h
+++ b/src/rlgl.h
@@ -621,6 +621,7 @@ RLAPI void rlDisableShader(void); // Disable shader progra
// Framebuffer state
RLAPI void rlEnableFramebuffer(unsigned int id); // Enable render texture (fbo)
RLAPI void rlDisableFramebuffer(void); // Disable render texture (fbo), return to default framebuffer
+RLAPI unsigned int rlGetActiveFramebuffer(void); // Returns the active render texture (fbo), 0 for default framebuffer
RLAPI void rlActiveDrawBuffers(int count); // Activate multiple draw color buffers
RLAPI void rlBlitFramebuffer(int srcX, int srcY, int srcWidth, int srcHeight, int dstX, int dstY, int dstWidth, int dstHeight, int bufferMask); // Blit active framebuffer to main framebuffer
RLAPI void rlBindFramebuffer(unsigned int target, unsigned int framebuffer); // Bind framebuffer (FBO)
@@ -1725,6 +1726,17 @@ void rlEnableFramebuffer(unsigned int id)
#endif
}
+// return the active render texture (fbo)
+unsigned int rlGetActiveFramebuffer(void)
+{
+#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES3)) && defined(RLGL_RENDER_TEXTURES_HINT)
+ GLint fboId = 0;
+ glGetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING, &fboId);
+ return fboId;
+#endif
+ return 0;
+}
+
// Disable rendering to texture
void rlDisableFramebuffer(void)
{