From 2330267d2207208799ad347ea0d129c0b4551d61 Mon Sep 17 00:00:00 2001 From: RealBadAngel Date: Tue, 3 Dec 2013 17:21:40 +0100 Subject: Shaders rework. --- client/shaders/bumpmaps_liquids/base.txt | 1 - .../shaders/bumpmaps_liquids/opengl_fragment.glsl | 46 ---------- client/shaders/bumpmaps_liquids/opengl_vertex.glsl | 98 ---------------------- 3 files changed, 145 deletions(-) delete mode 100644 client/shaders/bumpmaps_liquids/base.txt delete mode 100644 client/shaders/bumpmaps_liquids/opengl_fragment.glsl delete mode 100644 client/shaders/bumpmaps_liquids/opengl_vertex.glsl (limited to 'client/shaders/bumpmaps_liquids') diff --git a/client/shaders/bumpmaps_liquids/base.txt b/client/shaders/bumpmaps_liquids/base.txt deleted file mode 100644 index 1c2647118..000000000 --- a/client/shaders/bumpmaps_liquids/base.txt +++ /dev/null @@ -1 +0,0 @@ -trans_alphach diff --git a/client/shaders/bumpmaps_liquids/opengl_fragment.glsl b/client/shaders/bumpmaps_liquids/opengl_fragment.glsl deleted file mode 100644 index bf6bbf043..000000000 --- a/client/shaders/bumpmaps_liquids/opengl_fragment.glsl +++ /dev/null @@ -1,46 +0,0 @@ - -uniform sampler2D myTexture; -uniform sampler2D normalTexture; - -uniform vec4 skyBgColor; -uniform float fogDistance; - -varying vec3 vPosition; - -varying vec3 viewVec; - -void main (void) -{ - vec4 col = texture2D(myTexture, vec2(gl_TexCoord[0])); - float alpha = col.a; - vec2 uv = gl_TexCoord[0].st; - vec4 base = texture2D(myTexture, uv); - vec4 final_color = vec4(0.2, 0.2, 0.2, 1.0) * base; - vec3 vVec = normalize(viewVec); - vec3 bump = normalize(texture2D(normalTexture, uv).xyz * 2.0 - 1.0); - vec3 R = reflect(-vVec, bump); - vec3 lVec = normalize(vec3(0.0, -0.4, 0.5)); - float diffuse = max(dot(lVec, bump), 0.0); - - vec3 color = diffuse * texture2D(myTexture, gl_TexCoord[0].st).rgb; - - - float specular = pow(clamp(dot(R, lVec), 0.0, 1.0),1.0); - color += vec3(0.2*specular*diffuse); - - - col = vec4(color.r, color.g, color.b, alpha); - col *= gl_Color; - col = col * col; // SRGB -> Linear - col *= 1.8; - col.r = 1.0 - exp(1.0 - col.r) / exp(1.0); - col.g = 1.0 - exp(1.0 - col.g) / exp(1.0); - col.b = 1.0 - exp(1.0 - col.b) / exp(1.0); - col = sqrt(col); // Linear -> SRGB - if(fogDistance != 0.0){ - float d = max(0.0, min(vPosition.z / fogDistance * 1.5 - 0.6, 1.0)); - alpha = mix(alpha, 0.0, d); - } - - gl_FragColor = vec4(col.r, col.g, col.b, alpha); -} diff --git a/client/shaders/bumpmaps_liquids/opengl_vertex.glsl b/client/shaders/bumpmaps_liquids/opengl_vertex.glsl deleted file mode 100644 index 99c208bdd..000000000 --- a/client/shaders/bumpmaps_liquids/opengl_vertex.glsl +++ /dev/null @@ -1,98 +0,0 @@ - -uniform mat4 mWorldViewProj; -uniform mat4 mInvWorld; -uniform mat4 mTransWorld; -uniform float dayNightRatio; - -varying vec3 vPosition; -varying vec3 viewVec; - -void main(void) -{ - gl_Position = mWorldViewProj * gl_Vertex; - - vPosition = (mWorldViewProj * gl_Vertex).xyz; - - vec3 tangent; - vec3 binormal; - - vec3 c1 = cross( gl_Normal, vec3(0.0, 0.0, 1.0) ); - vec3 c2 = cross( gl_Normal, vec3(0.0, 1.0, 0.0) ); - - if( length(c1)>length(c2) ) - { - tangent = c1; - } - else - { - tangent = c2; - } - - tangent = normalize(tangent); - -//binormal = cross(gl_Normal, tangent); -//binormal = normalize(binormal); - - vec4 color; - //color = vec4(1.0, 1.0, 1.0, 1.0); - - float day = gl_Color.r; - float night = gl_Color.g; - float light_source = gl_Color.b; - - /*color.r = mix(night, day, dayNightRatio); - color.g = color.r; - color.b = color.r;*/ - - float rg = mix(night, day, dayNightRatio); - rg += light_source * 1.5; // Make light sources brighter - float b = rg; - - // Moonlight is blue - b += (day - night) / 13.0; - rg -= (day - night) / 13.0; - - // Emphase blue a bit in darker places - // See C++ implementation in mapblock_mesh.cpp finalColorBlend() - b += max(0.0, (1.0 - abs(b - 0.13)/0.17) * 0.025); - - // Artificial light is yellow-ish - // See C++ implementation in mapblock_mesh.cpp finalColorBlend() - rg += max(0.0, (1.0 - abs(rg - 0.85)/0.15) * 0.065); - - color.r = rg; - color.g = rg; - color.b = b; - - // Make sides and bottom darker than the top - color = color * color; // SRGB -> Linear - if(gl_Normal.y <= 0.5) - color *= 0.6; - //color *= 0.7; - color = sqrt(color); // Linear -> SRGB - - color.a = gl_Color.a; - - gl_FrontColor = gl_BackColor = color; - - gl_TexCoord[0] = gl_MultiTexCoord0; - - vec3 n1 = normalize(gl_NormalMatrix * gl_Normal); - vec4 tangent1 = vec4(tangent.x, tangent.y, tangent.z, 0); - //vec3 t1 = normalize(gl_NormalMatrix * tangent1); - //vec3 b1 = cross(n1, t1); - - vec3 v; - vec3 vVertex = vec3(gl_ModelViewMatrix * gl_Vertex); - vec3 vVec = -vVertex; - //v.x = dot(vVec, t1); - //v.y = dot(vVec, b1); - //v.z = dot(vVec, n1); - //viewVec = vVec; - viewVec = normalize(vec3(0.0, -0.4, 0.5)); - //Vector representing the 0th texture coordinate passed to fragment shader -//gl_TexCoord[0] = vec2(gl_MultiTexCoord0); - -// Transform the current vertex -//gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; -} -- cgit v1.2.3