diff options
| -rw-r--r-- | assets/shaders/glsl330/postprocessing.fs | 10 | ||||
| -rw-r--r-- | src/assets.c | 8 |
2 files changed, 13 insertions, 5 deletions
diff --git a/assets/shaders/glsl330/postprocessing.fs b/assets/shaders/glsl330/postprocessing.fs index cdf23a2..7afd3cb 100644 --- a/assets/shaders/glsl330/postprocessing.fs +++ b/assets/shaders/glsl330/postprocessing.fs @@ -10,11 +10,11 @@ out vec4 finalColor; // Edge dection. uniform vec2 resolution = vec2(596, 447); -float edgeFactor = 0.15; +uniform float edgeFactor = 0.15; // Color depth. -float gamma = 0.6; -float numColors = 11.0; +uniform float gamma = 0.6; +uniform float colorCount = 11.0; void main() { @@ -23,9 +23,9 @@ void main() // Color depth texelColor = pow(texelColor, vec3(gamma, gamma, gamma)); - texelColor = texelColor*numColors; + texelColor = texelColor*colorCount; texelColor = floor(texelColor); - texelColor = texelColor/numColors; + texelColor = texelColor/colorCount; texelColor = pow(texelColor, vec3(1.0/gamma)); // Edges. diff --git a/src/assets.c b/src/assets.c index 6619c21..10c7d27 100644 --- a/src/assets.c +++ b/src/assets.c @@ -48,6 +48,14 @@ void initShaderAssets(Shader shaders[SHADER_ASSET_COUNT], shader.locs[SHADER_LOC_MATRIX_MVP] = GetShaderLocation(shader, "mvp"); // Postprocessing. + shader = shaders[POSTPROCESSING_SHADER]; + int resolutionLoc = GetShaderLocation(shader, "resolution"); + int edgeFactorLoc = GetShaderLocation(shader, "edgeFactor"); + int gammaLoc = GetShaderLocation(shader, "gamma"); + int colorCountLoc = GetShaderLocation(shader, "colorCount"); + + float resolution[2] = {80.0, 60.0}; + SetShaderValue(shader, resolutionLoc, resolution, SHADER_UNIFORM_VEC2); } void initModelAssets(Assets* assets) |
