|
|
|
@ -33,6 +33,7 @@ |
|
|
|
|
|
|
|
#define MAX_CUBES 30 |
|
|
|
|
|
|
|
// GBuffer data |
|
|
|
typedef struct GBuffer { |
|
|
|
unsigned int framebuffer; |
|
|
|
|
|
|
|
@ -43,6 +44,7 @@ typedef struct GBuffer { |
|
|
|
unsigned int depthRenderbuffer; |
|
|
|
} GBuffer; |
|
|
|
|
|
|
|
// Deferred mode passes |
|
|
|
typedef enum { |
|
|
|
DEFERRED_POSITION, |
|
|
|
DEFERRED_NORMAL, |
|
|
|
@ -270,9 +272,9 @@ int main(void) |
|
|
|
} |
|
|
|
rlDisableShader(); |
|
|
|
EndMode3D(); |
|
|
|
|
|
|
|
DrawText("FINAL RESULT", 10, screenHeight - 30, 20, DARKGREEN); |
|
|
|
} break; |
|
|
|
|
|
|
|
case DEFERRED_POSITION: |
|
|
|
{ |
|
|
|
DrawTextureRec((Texture2D){ |
|
|
|
@ -280,9 +282,9 @@ int main(void) |
|
|
|
.width = screenWidth, |
|
|
|
.height = screenHeight, |
|
|
|
}, (Rectangle) { 0, 0, screenWidth, -screenHeight }, Vector2Zero(), RAYWHITE); |
|
|
|
|
|
|
|
DrawText("POSITION TEXTURE", 10, screenHeight - 30, 20, DARKGREEN); |
|
|
|
} break; |
|
|
|
|
|
|
|
case DEFERRED_NORMAL: |
|
|
|
{ |
|
|
|
DrawTextureRec((Texture2D){ |
|
|
|
@ -290,9 +292,9 @@ int main(void) |
|
|
|
.width = screenWidth, |
|
|
|
.height = screenHeight, |
|
|
|
}, (Rectangle) { 0, 0, screenWidth, -screenHeight }, Vector2Zero(), RAYWHITE); |
|
|
|
|
|
|
|
DrawText("NORMAL TEXTURE", 10, screenHeight - 30, 20, DARKGREEN); |
|
|
|
} break; |
|
|
|
|
|
|
|
case DEFERRED_ALBEDO: |
|
|
|
{ |
|
|
|
DrawTextureRec((Texture2D){ |
|
|
|
@ -300,8 +302,10 @@ int main(void) |
|
|
|
.width = screenWidth, |
|
|
|
.height = screenHeight, |
|
|
|
}, (Rectangle) { 0, 0, screenWidth, -screenHeight }, Vector2Zero(), RAYWHITE); |
|
|
|
|
|
|
|
DrawText("ALBEDO TEXTURE", 10, screenHeight - 30, 20, DARKGREEN); |
|
|
|
} break; |
|
|
|
default: break; |
|
|
|
} |
|
|
|
|
|
|
|
DrawText("Toggle lights keys: [Y][R][G][B]", 10, 40, 20, DARKGRAY); |
|
|
|
@ -318,7 +322,7 @@ int main(void) |
|
|
|
UnloadModel(model); // Unload the models |
|
|
|
UnloadModel(cube); |
|
|
|
|
|
|
|
UnloadShader(deferredShader); // Unload shaders |
|
|
|
UnloadShader(deferredShader); // Unload shaders |
|
|
|
UnloadShader(gbufferShader); |
|
|
|
|
|
|
|
// Unload geometry buffer and all attached textures |
|
|
|
@ -333,4 +337,3 @@ int main(void) |
|
|
|
|
|
|
|
return 0; |
|
|
|
} |
|
|
|
|