From abcbd9817e9163bd10008b42848dfa2d72ebb6c5 Mon Sep 17 00:00:00 2001 From: Jussi Viitala Date: Thu, 4 May 2023 21:21:35 +0300 Subject: Lightmap example. (#3043) --- examples/shaders/resources/LICENSE.md | 2 ++ examples/shaders/resources/cubicmap_atlas.png | Bin 0 -> 37160 bytes .../shaders/resources/shaders/glsl330/lightmap.fs | 20 +++++++++++++++ .../shaders/resources/shaders/glsl330/lightmap.vs | 27 +++++++++++++++++++++ examples/shaders/resources/spark_flame.png | Bin 0 -> 7537 bytes 5 files changed, 49 insertions(+) create mode 100644 examples/shaders/resources/cubicmap_atlas.png create mode 100644 examples/shaders/resources/shaders/glsl330/lightmap.fs create mode 100644 examples/shaders/resources/shaders/glsl330/lightmap.vs create mode 100644 examples/shaders/resources/spark_flame.png (limited to 'examples/shaders/resources') diff --git a/examples/shaders/resources/LICENSE.md b/examples/shaders/resources/LICENSE.md index 96458eca..7210e34b 100644 --- a/examples/shaders/resources/LICENSE.md +++ b/examples/shaders/resources/LICENSE.md @@ -9,3 +9,5 @@ | raysan.png | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | - | | space.png | ❔ | ❔ | - | | texel_checker.png | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | Made with [UV Checker Map Maker](http://uvchecker.byvalle.com/) | +| cubicmap.png | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | - | +| spark_flame.png | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | Made with [EffectTextureMaker](https://mebiusbox.github.io/contents/EffectTextureMaker/) | \ No newline at end of file diff --git a/examples/shaders/resources/cubicmap_atlas.png b/examples/shaders/resources/cubicmap_atlas.png new file mode 100644 index 00000000..9fc404a7 Binary files /dev/null and b/examples/shaders/resources/cubicmap_atlas.png differ diff --git a/examples/shaders/resources/shaders/glsl330/lightmap.fs b/examples/shaders/resources/shaders/glsl330/lightmap.fs new file mode 100644 index 00000000..95558610 --- /dev/null +++ b/examples/shaders/resources/shaders/glsl330/lightmap.fs @@ -0,0 +1,20 @@ +#version 330 +// Input vertex attributes (from vertex shader) +in vec2 fragTexCoord; +in vec2 fragTexCoord2; +in vec3 fragPosition; +in vec4 fragColor; + +// Input uniform values +uniform sampler2D texture0; +uniform sampler2D texture1; + +// Output fragment color +out vec4 finalColor; + +void main() { + // Texel color fetching from texture sampler + vec4 texelColor = texture( texture0, fragTexCoord ); + vec4 texelColor2 = texture( texture1, fragTexCoord2 ); + finalColor = texelColor * texelColor2; +} diff --git a/examples/shaders/resources/shaders/glsl330/lightmap.vs b/examples/shaders/resources/shaders/glsl330/lightmap.vs new file mode 100644 index 00000000..00278eaa --- /dev/null +++ b/examples/shaders/resources/shaders/glsl330/lightmap.vs @@ -0,0 +1,27 @@ +#version 330 +// Input vertex attributes +in vec3 vertexPosition; +in vec2 vertexTexCoord; +in vec2 vertexTexCoord2; +in vec4 vertexColor; + +// Input uniform values +uniform mat4 mvp; +uniform mat4 matModel; + +// Output vertex attributes (to fragment shader) +out vec3 fragPosition; +out vec2 fragTexCoord; +out vec2 fragTexCoord2; +out vec4 fragColor; + +void main() { + // Send vertex attributes to fragment shader + fragPosition = vec3( matModel * vec4( vertexPosition, 1.0 ) ); + fragTexCoord = vertexTexCoord; + fragTexCoord2 = vertexTexCoord2; + fragColor = vertexColor; + + // Calculate final vertex position + gl_Position = mvp * vec4( vertexPosition, 1.0 ); +} diff --git a/examples/shaders/resources/spark_flame.png b/examples/shaders/resources/spark_flame.png new file mode 100644 index 00000000..72cea2e9 Binary files /dev/null and b/examples/shaders/resources/spark_flame.png differ -- cgit v1.2.3