diff options
Diffstat (limited to 'src/rlgl.c')
| -rw-r--r-- | src/rlgl.c | 15 |
1 files changed, 9 insertions, 6 deletions
@@ -188,6 +188,8 @@ typedef struct { // Framebuffer Object type typedef struct { GLuint id; + int width; + int height; GLuint colorTextureId; GLuint depthTextureId; } FBO; @@ -1071,8 +1073,8 @@ void rlglInitPostpro(void) quad.vertexCount = 6; - float w = (float)screenWidth; - float h = (float)screenHeight; + float w = (float)postproFbo.width; + float h = (float)postproFbo.height; float quadPositions[6*3] = { w, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, h, 0.0f, 0.0f, h, 0.0f, w, h, 0.0f, w, 0.0f, 0.0f }; float quadTexcoords[6*2] = { 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f }; @@ -1096,6 +1098,8 @@ FBO rlglLoadFBO(int width, int height) { FBO fbo; fbo.id = 0; + fbo.width = width; + fbo.height = height; #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) // Create the texture that will serve as the color attachment for the framebuffer @@ -2339,22 +2343,21 @@ void SetCustomShader(Shader shader) } // Set postprocessing shader -// NOTE: Uses global variables screenWidth and screenHeight void SetPostproShader(Shader shader) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) if (!enabledPostpro) { enabledPostpro = true; - rlglInitPostpro(); + rlglInitPostpro(); // Lazy initialization on postprocessing usage } SetModelShader(&postproQuad, shader); Texture2D texture; texture.id = postproFbo.colorTextureId; - texture.width = screenWidth; - texture.height = screenHeight; + texture.width = postproFbo.width; + texture.height = postproFbo.height; postproQuad.material.texDiffuse = texture; |
