diff options
| author | raysan5 <[email protected]> | 2020-07-17 19:41:38 +0200 |
|---|---|---|
| committer | raysan5 <[email protected]> | 2020-07-17 19:41:38 +0200 |
| commit | 6ec847a93fafe22e2611ce86494e1c6f5b331877 (patch) | |
| tree | 9eed21a5977e31bc6bdf3675fd4a484935d79048 /src | |
| parent | feedf332a89a884fc4b5fb867f2960e5bc121846 (diff) | |
| download | raylib-6ec847a93fafe22e2611ce86494e1c6f5b331877.tar.gz raylib-6ec847a93fafe22e2611ce86494e1c6f5b331877.zip | |
Find a better mechanism to avoid FBO on OpenGL 2.1 if required #1290
Diffstat (limited to 'src')
| -rw-r--r-- | src/rlgl.h | 14 |
1 files changed, 8 insertions, 6 deletions
@@ -125,6 +125,8 @@ #define GRAPHICS_API_OPENGL_33 #endif +#define SUPPORT_RENDER_TEXTURES_HINT + //---------------------------------------------------------------------------------- // Defines and Macros //---------------------------------------------------------------------------------- @@ -1379,7 +1381,7 @@ void rlTextureParameters(unsigned int id, int param, int value) // Enable rendering to texture (fbo) void rlEnableRenderTexture(unsigned int id) { -#if !defined(GRAPHICS_API_OPENGL_21) && (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(SUPPORT_RENDER_TEXTURES_HINT) glBindFramebuffer(GL_FRAMEBUFFER, id); //glDisable(GL_CULL_FACE); // Allow double side drawing for texture flipping @@ -1390,7 +1392,7 @@ void rlEnableRenderTexture(unsigned int id) // Disable rendering to texture void rlDisableRenderTexture(void) { -#if !defined(GRAPHICS_API_OPENGL_21) && (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(SUPPORT_RENDER_TEXTURES_HINT) glBindFramebuffer(GL_FRAMEBUFFER, 0); //glEnable(GL_CULL_FACE); @@ -1446,7 +1448,7 @@ void rlDeleteTextures(unsigned int id) // Unload render texture from GPU memory void rlDeleteRenderTextures(RenderTexture2D target) { -#if !defined(GRAPHICS_API_OPENGL_21) && (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(SUPPORT_RENDER_TEXTURES_HINT) if (target.texture.id > 0) glDeleteTextures(1, &target.texture.id); if (target.depth.id > 0) { @@ -2224,7 +2226,7 @@ RenderTexture2D rlLoadRenderTexture(int width, int height, int format, int depth { RenderTexture2D target = { 0 }; -#if !defined(GRAPHICS_API_OPENGL_21) && (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(SUPPORT_RENDER_TEXTURES_HINT) if (useDepthTexture && RLGL.ExtSupported.texDepth) target.depthTexture = true; // Create the framebuffer object @@ -2277,7 +2279,7 @@ RenderTexture2D rlLoadRenderTexture(int width, int height, int format, int depth // NOTE: Attach type: 0-Color, 1-Depth renderbuffer, 2-Depth texture void rlRenderTextureAttach(RenderTexture2D target, unsigned int id, int attachType) { -#if !defined(GRAPHICS_API_OPENGL_21) && (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(SUPPORT_RENDER_TEXTURES_HINT) glBindFramebuffer(GL_FRAMEBUFFER, target.id); if (attachType == 0) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, id, 0); @@ -2296,7 +2298,7 @@ bool rlRenderTextureComplete(RenderTexture target) { bool result = false; -#if !defined(GRAPHICS_API_OPENGL_21) && (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(SUPPORT_RENDER_TEXTURES_HINT) glBindFramebuffer(GL_FRAMEBUFFER, target.id); GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); |
