diff options
Diffstat (limited to 'resources/shaders')
-rw-r--r-- | resources/shaders/skybox.frag | 24 | ||||
-rw-r--r-- | resources/shaders/skybox.vert | 21 |
2 files changed, 45 insertions, 0 deletions
diff --git a/resources/shaders/skybox.frag b/resources/shaders/skybox.frag new file mode 100644 index 0000000..926807e --- /dev/null +++ b/resources/shaders/skybox.frag @@ -0,0 +1,24 @@ + +#version 330 core + +in vec3 tex_coord; + +uniform samplerCube cubeMap; +uniform vec3 skyColor; + +out vec4 fragColor; + +const float lowerLimit = -50000.f; +const float upperLimit = 50000.f; + + +void main() { + + //fragColor = vec4(1.f); + vec4 finalColor = texture(cubeMap, tex_coord); + + // blending bottom of skybox to skyColor + float factor = (tex_coord.y - lowerLimit) / (upperLimit - lowerLimit); + factor = clamp(factor, 0.f, 1.f); + fragColor = finalColor; // mix(vec4(skyColor, 1.f), finalColor, factor); +} diff --git a/resources/shaders/skybox.vert b/resources/shaders/skybox.vert new file mode 100644 index 0000000..edf50e4 --- /dev/null +++ b/resources/shaders/skybox.vert @@ -0,0 +1,21 @@ +#version 330 core + +layout(location = 0) in vec3 pos; // Position of the vertex +//layout(location = 1) in vec3 normal; // Normal of the vertex +//layout(location = 3) in vec3 texCoords; + +uniform mat4 view, projection, rotation; + +out vec3 tex_coord; + + + +void main() { + + tex_coord = vec3(pos.x, pos.y, -pos.z); + vec4 world_pos = projection*view*rotation*vec4(pos, 1.0); + gl_Position = vec4(world_pos.x, world_pos.y, world_pos.w, world_pos.w); + +// tex_coord = pos; + // gl_Position = projection*view*vec4(pos, 1.0); +} |