summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorraysan5 <[email protected]>2020-07-17 19:41:38 +0200
committerraysan5 <[email protected]>2020-07-17 19:41:38 +0200
commit6ec847a93fafe22e2611ce86494e1c6f5b331877 (patch)
tree9eed21a5977e31bc6bdf3675fd4a484935d79048 /src
parentfeedf332a89a884fc4b5fb867f2960e5bc121846 (diff)
downloadraylib-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.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/rlgl.h b/src/rlgl.h
index 16461f2e..9d6c85c7 100644
--- a/src/rlgl.h
+++ b/src/rlgl.h
@@ -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);