diff options
Diffstat (limited to 'src/main/resources/assets/notenoughupdates/shaders/program')
3 files changed, 48 insertions, 0 deletions
diff --git a/src/main/resources/assets/notenoughupdates/shaders/program/blit.vsh b/src/main/resources/assets/notenoughupdates/shaders/program/blit.vsh new file mode 100644 index 00000000..01a16db5 --- /dev/null +++ b/src/main/resources/assets/notenoughupdates/shaders/program/blit.vsh @@ -0,0 +1,16 @@ +#version 120 + +attribute vec4 Position; + +uniform mat4 ProjMat; +uniform vec2 OutSize; + +varying vec2 texCoord; + +void main(){ + vec4 outPos = ProjMat * vec4(Position.xy, 0.0, 1.0); + gl_Position = vec4(outPos.xy, 0.2, 1.0); + + texCoord = Position.xy / OutSize; + texCoord.y = 1.0 - texCoord.y; +} diff --git a/src/main/resources/assets/notenoughupdates/shaders/program/grayscale.fsh b/src/main/resources/assets/notenoughupdates/shaders/program/grayscale.fsh new file mode 100644 index 00000000..70875510 --- /dev/null +++ b/src/main/resources/assets/notenoughupdates/shaders/program/grayscale.fsh @@ -0,0 +1,15 @@ +#version 120 + +uniform sampler2D DiffuseSampler; + +varying vec2 texCoord; + +void main(){ + vec3 Gray = vec3(0.3, 0.59, 0.11); + vec4 diffuseColor = texture2D(DiffuseSampler, texCoord); + + float Luma = dot(diffuseColor.rgb, Gray); + diffuseColor.rgb = vec3(Luma, Luma, Luma); + + gl_FragColor = diffuseColor; +} diff --git a/src/main/resources/assets/notenoughupdates/shaders/program/grayscale.json b/src/main/resources/assets/notenoughupdates/shaders/program/grayscale.json new file mode 100644 index 00000000..048ceb9f --- /dev/null +++ b/src/main/resources/assets/notenoughupdates/shaders/program/grayscale.json @@ -0,0 +1,17 @@ +{ + "blend": { + "func": "add", + "srcrgb": "srcalpha", + "dstrgb": "1-srcalpha" + }, + "vertex": "blit", + "fragment": "grayscale", + "attributes": [ "Position" ], + "samplers": [ + { "name": "DiffuseSampler" } + ], + "uniforms": [ + { "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] }, + { "name": "OutSize", "type": "float", "count": 2, "values": [ 1.0, 1.0 ] } + ] +} |