diff options
Diffstat (limited to 'assets')
| -rw-r--r-- | assets/shaders/block_outline.frag.glsl | 7 | ||||
| -rw-r--r-- | assets/shaders/block_outline.vert.glsl | 15 | ||||
| -rw-r--r-- | assets/shaders/clouds.frag.glsl | 16 | ||||
| -rw-r--r-- | assets/shaders/clouds.vert.glsl | 21 | ||||
| -rw-r--r-- | assets/shaders/image_viewer.frag.glsl | 10 | ||||
| -rw-r--r-- | assets/shaders/image_viewer.vert.glsl | 15 | ||||
| -rw-r--r-- | assets/shaders/terrain.frag.glsl (renamed from assets/shaders/fragment.glsl) | 0 | ||||
| -rw-r--r-- | assets/shaders/terrain.vert.glsl (renamed from assets/shaders/vertex.glsl) | 0 |
8 files changed, 84 insertions, 0 deletions
diff --git a/assets/shaders/block_outline.frag.glsl b/assets/shaders/block_outline.frag.glsl new file mode 100644 index 0000000..ed278d8 --- /dev/null +++ b/assets/shaders/block_outline.frag.glsl @@ -0,0 +1,7 @@ +#version 330 core + +out vec4 color; + +void main() { + color = vec4(0.0, 0.0, 0.0, 1.0); +} \ No newline at end of file diff --git a/assets/shaders/block_outline.vert.glsl b/assets/shaders/block_outline.vert.glsl new file mode 100644 index 0000000..3b9dfe9 --- /dev/null +++ b/assets/shaders/block_outline.vert.glsl @@ -0,0 +1,15 @@ +#version 330 core + +uniform mat4 model_matrix; +uniform mat4 view_matrix; +uniform mat4 projection_matrix; + +layout (location = 0) in vec3 position; + +void main() { + vec4 world_position = model_matrix * vec4(position, 1.0); + vec4 view_position = view_matrix * world_position; + vec4 clip_position = projection_matrix * view_position; + + gl_Position = clip_position; +} \ No newline at end of file diff --git a/assets/shaders/clouds.frag.glsl b/assets/shaders/clouds.frag.glsl new file mode 100644 index 0000000..c455afd --- /dev/null +++ b/assets/shaders/clouds.frag.glsl @@ -0,0 +1,16 @@ +#version 330 core + +uniform vec3 sky_color; +uniform vec3 sun_direction; + +in vec3 surface_normal; +in float depth; +out vec4 color; + +void main() { + float brightness = dot(normalize(surface_normal), normalize(-sun_direction)); + vec3 diffuse = vec3(1 - clamp(brightness, -0.3, 0.2)); + vec3 base = vec3(1.0, 1.0, 1.0) * diffuse; + + color = vec4(mix(sky_color, base, 1 - depth), 0.3); +} \ No newline at end of file diff --git a/assets/shaders/clouds.vert.glsl b/assets/shaders/clouds.vert.glsl new file mode 100644 index 0000000..2a91766 --- /dev/null +++ b/assets/shaders/clouds.vert.glsl @@ -0,0 +1,21 @@ +#version 330 core + +uniform mat4 model_matrix; +uniform mat4 view_matrix; +uniform mat4 projection_matrix; + +layout (location = 0) in vec3 position; +layout (location = 1) in vec3 normal; + +out vec3 surface_normal; +out float depth; + +void main() { + vec4 world_position = model_matrix * vec4(position, 1.0); + vec4 view_position = view_matrix * world_position; + vec4 clip_position = projection_matrix * view_position; + + gl_Position = clip_position; + surface_normal = (model_matrix * vec4(normal, 0.0)).xyz; + depth = clamp((length(view_position) - 200) / 400, 0.0, 1.0); +} \ No newline at end of file diff --git a/assets/shaders/image_viewer.frag.glsl b/assets/shaders/image_viewer.frag.glsl new file mode 100644 index 0000000..be2b40c --- /dev/null +++ b/assets/shaders/image_viewer.frag.glsl @@ -0,0 +1,10 @@ +#version 330 core + +uniform sampler2D image; + +in vec2 frag_tex_coord; +out vec4 color; + +void main() { + color = texture(image, frag_tex_coord); +} \ No newline at end of file diff --git a/assets/shaders/image_viewer.vert.glsl b/assets/shaders/image_viewer.vert.glsl new file mode 100644 index 0000000..1ad43f4 --- /dev/null +++ b/assets/shaders/image_viewer.vert.glsl @@ -0,0 +1,15 @@ +#version 330 core + +uniform mat4 model_matrix; +uniform mat4 view_matrix; +uniform mat4 projection_matrix; + +layout (location = 0) in vec3 position; +layout (location = 1) in vec2 tex_coord; + +out vec2 frag_tex_coord; + +void main() { + gl_Position = projection_matrix * view_matrix * model_matrix * vec4(position, 1.0); + frag_tex_coord = tex_coord; +} \ No newline at end of file diff --git a/assets/shaders/fragment.glsl b/assets/shaders/terrain.frag.glsl index c7ecf97..c7ecf97 100644 --- a/assets/shaders/fragment.glsl +++ b/assets/shaders/terrain.frag.glsl diff --git a/assets/shaders/vertex.glsl b/assets/shaders/terrain.vert.glsl index 6902ad4..6902ad4 100644 --- a/assets/shaders/vertex.glsl +++ b/assets/shaders/terrain.vert.glsl |
