summaryrefslogtreecommitdiffhomepage
path: root/examples/shaders/shaders_postprocessing.c
diff options
context:
space:
mode:
authorRay <[email protected]>2021-06-23 01:25:09 +0200
committerRay <[email protected]>2021-06-23 01:25:09 +0200
commit716e26aa37e352f0188824bc2de7dd3035f7413c (patch)
tree6239af3f4c247e30932b32c884baafb8b2eba8eb /examples/shaders/shaders_postprocessing.c
parentf989048bda60aeb74111ec687cd44ec92deacfe3 (diff)
downloadraylib-716e26aa37e352f0188824bc2de7dd3035f7413c.tar.gz
raylib-716e26aa37e352f0188824bc2de7dd3035f7413c.zip
Review BeginTextureMode() usage
Moved outside BeginDrawing()/EndDrawing() to illustrate drawing is happening to an external texture (not screen)
Diffstat (limited to 'examples/shaders/shaders_postprocessing.c')
-rw-r--r--examples/shaders/shaders_postprocessing.c34
1 files changed, 11 insertions, 23 deletions
diff --git a/examples/shaders/shaders_postprocessing.c b/examples/shaders/shaders_postprocessing.c
index ef815391..ebe5fcdb 100644
--- a/examples/shaders/shaders_postprocessing.c
+++ b/examples/shaders/shaders_postprocessing.c
@@ -124,50 +124,38 @@ int main(void)
// Draw
//----------------------------------------------------------------------------------
+ BeginTextureMode(target); // Enable drawing to texture
+ ClearBackground(RAYWHITE); // Clear texture background
+
+ BeginMode3D(camera); // Begin 3d mode drawing
+ DrawModel(model, position, 0.1f, WHITE); // Draw 3d model with texture
+ DrawGrid(10, 1.0f); // Draw a grid
+ EndMode3D(); // End 3d mode drawing, returns to orthographic 2d mode
+ EndTextureMode(); // End drawing to texture (now we have a texture available for next passes)
+
BeginDrawing();
+ ClearBackground(RAYWHITE); // Clear screen background
- ClearBackground(RAYWHITE);
-
- BeginTextureMode(target); // Enable drawing to texture
-
- ClearBackground(RAYWHITE); // Clear texture background
-
- BeginMode3D(camera); // Begin 3d mode drawing
-
- DrawModel(model, position, 0.1f, WHITE); // Draw 3d model with texture
-
- DrawGrid(10, 1.0f); // Draw a grid
-
- EndMode3D(); // End 3d mode drawing, returns to orthographic 2d mode
-
- EndTextureMode(); // End drawing to texture (now we have a texture available for next passes)
-
- // Render previously generated texture using selected postpro shader
+ // Render generated texture using selected postprocessing shader
BeginShaderMode(shaders[currentShader]);
-
// NOTE: Render texture must be y-flipped due to default OpenGL coordinates (left-bottom)
DrawTextureRec(target.texture, (Rectangle){ 0, 0, (float)target.texture.width, (float)-target.texture.height }, (Vector2){ 0, 0 }, WHITE);
-
EndShaderMode();
// Draw 2d shapes and text over drawn texture
DrawRectangle(0, 9, 580, 30, Fade(LIGHTGRAY, 0.7f));
DrawText("(c) Church 3D model by Alberto Cano", screenWidth - 200, screenHeight - 20, 10, GRAY);
-
DrawText("CURRENT POSTPRO SHADER:", 10, 15, 20, BLACK);
DrawText(postproShaderText[currentShader], 330, 15, 20, RED);
DrawText("< >", 540, 10, 30, DARKBLUE);
-
DrawFPS(700, 15);
-
EndDrawing();
//----------------------------------------------------------------------------------
}
// De-Initialization
//--------------------------------------------------------------------------------------
-
// Unload all postpro shaders
for (int i = 0; i < MAX_POSTPRO_SHADERS; i++) UnloadShader(shaders[i]);