aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--assets/shaders/glsl330/postprocessing.fs10
-rw-r--r--src/assets.c5
-rw-r--r--src/settings.c5
-rw-r--r--src/settings.h9
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;