From eae98e1c34512579d69966c99713bd0c45bfcb50 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 4 May 2015 23:46:31 +0200 Subject: Big batch of changes, check description: - Camera system moved to a separate module [camera.c] - WIP: Added customization functions for camera controls - Added custom shaders support on batch drawing - Complete redesign of textures module to support multiple texture formats (compressed and uncompressed) --- examples/resources/shaders/base.vs | 19 +++++++++++++++++++ examples/resources/shaders/custom.fs | 16 ++++++++++++++++ examples/resources/shaders/custom.vs | 16 ++++++++++++++++ examples/resources/shaders/grayscale.fs | 15 +++++++++++++++ 4 files changed, 66 insertions(+) create mode 100644 examples/resources/shaders/base.vs create mode 100644 examples/resources/shaders/custom.fs create mode 100644 examples/resources/shaders/custom.vs create mode 100644 examples/resources/shaders/grayscale.fs (limited to 'examples/resources') diff --git a/examples/resources/shaders/base.vs b/examples/resources/shaders/base.vs new file mode 100644 index 00000000..78e543b7 --- /dev/null +++ b/examples/resources/shaders/base.vs @@ -0,0 +1,19 @@ +#version 110 + +attribute vec3 vertexPosition; +attribute vec2 vertexTexCoord; +attribute vec4 vertexColor; + +uniform mat4 projectionMatrix; +uniform mat4 modelviewMatrix; + +varying vec2 fragTexCoord; +varying vec4 fragColor; + +void main() +{ + fragTexCoord = vertexTexCoord; + fragColor = vertexColor; + + gl_Position = projectionMatrix*modelviewMatrix*vec4(vertexPosition, 1.0); +} \ No newline at end of file diff --git a/examples/resources/shaders/custom.fs b/examples/resources/shaders/custom.fs new file mode 100644 index 00000000..1e53933b --- /dev/null +++ b/examples/resources/shaders/custom.fs @@ -0,0 +1,16 @@ +#version 330 + +uniform sampler2D texture0; +varying vec2 fragTexCoord; + +uniform vec4 tintColor; + +void main() +{ + vec4 base = texture2D(texture0, fragTexCoord)*tintColor; + + // Convert to grayscale using NTSC conversion weights + float gray = dot(base.rgb, vec3(0.299, 0.587, 0.114)); + + gl_FragColor = vec4(gray, gray, gray, tintColor.a); +} \ No newline at end of file diff --git a/examples/resources/shaders/custom.vs b/examples/resources/shaders/custom.vs new file mode 100644 index 00000000..629c954d --- /dev/null +++ b/examples/resources/shaders/custom.vs @@ -0,0 +1,16 @@ +#version 330 + +attribute vec3 vertexPosition; +attribute vec2 vertexTexCoord; +attribute vec3 vertexNormal; + +uniform mat4 projectionMatrix; +uniform mat4 modelviewMatrix; + +varying vec2 fragTexCoord; + +void main() +{ + fragTexCoord = vertexTexCoord; + gl_Position = projectionMatrix*modelviewMatrix*vec4(vertexPosition, 1.0); +} \ No newline at end of file diff --git a/examples/resources/shaders/grayscale.fs b/examples/resources/shaders/grayscale.fs new file mode 100644 index 00000000..1b778871 --- /dev/null +++ b/examples/resources/shaders/grayscale.fs @@ -0,0 +1,15 @@ +#version 110 + +uniform sampler2D texture0; +varying vec2 fragTexCoord; +varying vec4 fragColor; + +void main() +{ + vec4 base = texture2D(texture0, fragTexCoord)*fragColor; + + // Convert to grayscale using NTSC conversion weights + float gray = dot(base.rgb, vec3(0.299, 0.587, 0.114)); + + gl_FragColor = vec4(gray, gray, gray, base.a); +} \ No newline at end of file -- cgit v1.2.3