diff options
Diffstat (limited to 'examples/resources')
| -rw-r--r-- | examples/resources/images/lightmap.png | bin | 0 -> 717 bytes | |||
| -rw-r--r-- | examples/resources/images/tile.png | bin | 0 -> 3043 bytes | |||
| -rw-r--r-- | examples/resources/shaders/glsl330/lightmap.fs | 22 | ||||
| -rw-r--r-- | examples/resources/shaders/glsl330/lightmap.vs | 31 |
4 files changed, 53 insertions, 0 deletions
diff --git a/examples/resources/images/lightmap.png b/examples/resources/images/lightmap.png Binary files differnew file mode 100644 index 0000000..35754e6 --- /dev/null +++ b/examples/resources/images/lightmap.png diff --git a/examples/resources/images/tile.png b/examples/resources/images/tile.png Binary files differnew file mode 100644 index 0000000..25aec8a --- /dev/null +++ b/examples/resources/images/tile.png diff --git a/examples/resources/shaders/glsl330/lightmap.fs b/examples/resources/shaders/glsl330/lightmap.fs new file mode 100644 index 0000000..aa821f3 --- /dev/null +++ b/examples/resources/shaders/glsl330/lightmap.fs @@ -0,0 +1,22 @@ +#version 330 +// Input vertex attributes (from vertex shader) +in vec2 fragTexCoord; +in vec2 fragTexCoord2; +in vec3 fragPosition; +in vec4 fragColor; +in vec3 fragNormal; + +// 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 ); + vec3 normal = normalize( fragNormal ); + finalColor = texelColor * texelColor2; +} diff --git a/examples/resources/shaders/glsl330/lightmap.vs b/examples/resources/shaders/glsl330/lightmap.vs new file mode 100644 index 0000000..dec46fe --- /dev/null +++ b/examples/resources/shaders/glsl330/lightmap.vs @@ -0,0 +1,31 @@ +#version 330 +// Input vertex attributes +in vec3 vertexPosition; +in vec2 vertexTexCoord; +in vec2 vertexTexCoord2; +in vec3 vertexNormal; +// in vec4 vertexColor; + +// Input uniform values +uniform mat4 mvp; +uniform mat4 matModel; +uniform mat4 matNormal; + +// Output vertex attributes (to fragment shader) +out vec3 fragPosition; +out vec2 fragTexCoord; +out vec2 fragTexCoord2; +// out vec4 fragColor; +out vec3 fragNormal; + +void main() { + // Send vertex attributes to fragment shader + fragPosition = vec3( matModel * vec4( vertexPosition, 1.0 ) ); + fragTexCoord = vertexTexCoord; + fragTexCoord2 = vertexTexCoord2; + // fragColor = vertexColor; + fragNormal = normalize( vec3( matNormal * vec4( vertexNormal, 1.0 ) ) ); + + // Calculate final vertex position + gl_Position = mvp * vec4( vertexPosition, 1.0 ); +} |
