diff options
| -rw-r--r-- | assets/shaders/glsl330/postprocessing.fs | 10 | ||||
| -rw-r--r-- | src/assets.c | 5 | ||||
| -rw-r--r-- | src/settings.c | 5 | ||||
| -rw-r--r-- | src/settings.h | 9 |
4 files changed, 24 insertions, 5 deletions
diff --git a/assets/shaders/glsl330/postprocessing.fs b/assets/shaders/glsl330/postprocessing.fs index 7afd3cb..ce1f3bd 100644 --- a/assets/shaders/glsl330/postprocessing.fs +++ b/assets/shaders/glsl330/postprocessing.fs @@ -8,13 +8,13 @@ uniform vec4 colDiffuse; out vec4 finalColor; -// Edge dection. -uniform vec2 resolution = vec2(596, 447); -uniform float edgeFactor = 0.15; +// Edge detection. +uniform vec2 resolution; +uniform float edgeFactor; // Color depth. -uniform float gamma = 0.6; -uniform float colorCount = 11.0; +uniform float gamma; +uniform float colorCount; void main() { diff --git a/src/assets.c b/src/assets.c index 10c7d27..fc60464 100644 --- a/src/assets.c +++ b/src/assets.c @@ -56,6 +56,11 @@ void initShaderAssets(Shader shaders[SHADER_ASSET_COUNT], float resolution[2] = {80.0, 60.0}; SetShaderValue(shader, resolutionLoc, resolution, SHADER_UNIFORM_VEC2); + SetShaderValue(shader, edgeFactorLoc, &settings->edgeDetectionFactor, + SHADER_UNIFORM_FLOAT); + SetShaderValue(shader, gammaLoc, &settings->gamma, SHADER_UNIFORM_FLOAT); + SetShaderValue(shader, colorCountLoc, &settings->colorCount, + SHADER_UNIFORM_FLOAT); } void initModelAssets(Assets* assets) diff --git a/src/settings.c b/src/settings.c index 798fa35..55ebb9c 100644 --- a/src/settings.c +++ b/src/settings.c @@ -7,6 +7,11 @@ Settings defaultSettings() .windowHeight = 720, .screenWidth = 596, .screenHeight = 447, + .edgeDetectionWidth = 80.0, + .edgeDetectionHeight = 60.0, + .edgeDetectionFactor = 0.1, + .gamma = 0.6, + .colorCount = 11.0, .mouseSpeed = 0.1, .forwardKey = KEY_W, .backwardKey = KEY_S, diff --git a/src/settings.h b/src/settings.h index 9bab9aa..711d7bd 100644 --- a/src/settings.h +++ b/src/settings.h @@ -12,6 +12,15 @@ typedef struct { int screenWidth; int screenHeight; + // Edge detection. + float edgeDetectionWidth; + float edgeDetectionHeight; + float edgeDetectionFactor; + + // Color + float gamma; + float colorCount; + // Controls. float mouseSpeed; KeyboardKey forwardKey; |
