diff options
Diffstat (limited to 'indra/newview/app_settings/shaders')
29 files changed, 0 insertions, 2098 deletions
| diff --git a/indra/newview/app_settings/shaders/class1/deferred/underWaterF.glsl b/indra/newview/app_settings/shaders/class1/deferred/underWaterF.glsl deleted file mode 100644 index 14c337e608..0000000000 --- a/indra/newview/app_settings/shaders/class1/deferred/underWaterF.glsl +++ /dev/null @@ -1,82 +0,0 @@ -/** - * @file underWaterF.glsl - * - * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2007, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ -  -/*[EXTRA_CODE_HERE]*/ - -#ifdef DEFINE_GL_FRAGCOLOR -out vec4 frag_data[3]; -#else -#define frag_data gl_FragData -#endif - -uniform sampler2D diffuseMap; -uniform sampler2D bumpMap;    -uniform sampler2D screenTex; -uniform sampler2D refTex; -uniform sampler2D screenDepth; - -uniform vec4 fogCol; -uniform vec3 lightDir; -uniform vec3 specular; -uniform float lightExp; -uniform vec2 fbScale; -uniform float refScale; -uniform float znear; -uniform float zfar; -uniform float kd; -uniform vec4 waterPlane; -uniform vec3 eyeVec; -uniform vec4 waterFogColor; -uniform float waterFogDensity; -uniform float waterFogKS; -uniform vec2 screenRes; - -//bigWave is (refCoord.w, view.w); -VARYING vec4 refCoord; -VARYING vec4 littleWave; -VARYING vec4 view; - -vec2 encode_normal(vec3 n); - -void main()  -{ -	vec4 color; -	     -	//get detail normals -	vec3 wave1 = texture2D(bumpMap, vec2(refCoord.w, view.w)).xyz*2.0-1.0; -	vec3 wave2 = texture2D(bumpMap, littleWave.xy).xyz*2.0-1.0; -	vec3 wave3 = texture2D(bumpMap, littleWave.zw).xyz*2.0-1.0;     -	vec3 wavef = normalize(wave1+wave2+wave3); -	 -	//figure out distortion vector (ripply)    -	vec2 distort = (refCoord.xy/refCoord.z) * 0.5 + 0.5; -	distort = distort+wavef.xy*refScale; -		 -	vec4 fb = texture2D(screenTex, distort); - -	frag_data[0] = vec4(fb.rgb, 1.0); // diffuse -	frag_data[1] = vec4(0.5,0.5,0.5, 0.95); // speccolor*spec, spec -	frag_data[2] = vec4(encode_normal(wavef), 0.0, GBUFFER_FLAG_HAS_ATMOS); // normalxyz, env intens, flags (atmo kill) -} diff --git a/indra/newview/app_settings/shaders/class1/deferred/waterV.glsl b/indra/newview/app_settings/shaders/class1/deferred/waterV.glsl deleted file mode 100644 index 38276859a0..0000000000 --- a/indra/newview/app_settings/shaders/class1/deferred/waterV.glsl +++ /dev/null @@ -1,99 +0,0 @@ -/**  - * @file waterV.glsl - * - * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2007, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -uniform mat4 modelview_matrix; -uniform mat4 modelview_projection_matrix; - -ATTRIBUTE vec3 position; - - -void calcAtmospherics(vec3 inPositionEye); - -uniform vec2 waveDir1; -uniform vec2 waveDir2; -uniform float time; -uniform vec3 eyeVec; -uniform float waterHeight; - -VARYING vec4 refCoord; -VARYING vec4 littleWave; -VARYING vec4 view; - -VARYING vec4 vary_position; - -float wave(vec2 v, float t, float f, vec2 d, float s)  -{ -   return (dot(d, v)*f + t*s)*f; -} - -void main() -{ -	//transform vertex -	vec4 pos = vec4(position.xyz, 1.0); -	mat4 modelViewProj = modelview_projection_matrix; -	 -	vec4 oPosition; -		     -	//get view vector -	vec3 oEyeVec; -	oEyeVec.xyz = pos.xyz-eyeVec; -		 -	float d = length(oEyeVec.xy); -	float ld = min(d, 2560.0); -	 -	pos.xy = eyeVec.xy + oEyeVec.xy/d*ld; -	view.xyz = oEyeVec; -		 -	d = clamp(ld/1536.0-0.5, 0.0, 1.0);	 -	d *= d; -		 -	oPosition = vec4(position, 1.0); -//	oPosition.z = mix(oPosition.z, max(eyeVec.z*0.75, 0.0), d); // SL-11589 remove "U" shaped horizon -	vary_position = modelview_matrix * oPosition; -	oPosition = modelViewProj * oPosition; -	 -	refCoord.xyz = oPosition.xyz + vec3(0,0,0.2); -	 -	//get wave position parameter (create sweeping horizontal waves) -	vec3 v = pos.xyz; -	v.x += (cos(v.x*0.08/*+time*0.01*/)+sin(v.y*0.02))*6.0; -	     -	//push position for further horizon effect. -	pos.xyz = oEyeVec.xyz*(waterHeight/oEyeVec.z); -	pos.w = 1.0; -	pos = modelview_matrix*pos; -	 -	calcAtmospherics(pos.xyz); -		 -	//pass wave parameters to pixel shader -	vec2 bigWave =  (v.xy) * vec2(0.04,0.04)  + waveDir1 * time * 0.055; -	//get two normal map (detail map) texture coordinates -	littleWave.xy = (v.xy) * vec2(0.45, 0.9)   + waveDir2 * time * 0.13; -	littleWave.zw = (v.xy) * vec2(0.1, 0.2) + waveDir1 * time * 0.1; -	view.w = bigWave.y; -	refCoord.w = bigWave.x; -	 -	gl_Position = oPosition; -} diff --git a/indra/newview/app_settings/shaders/class1/environment/moonF.glsl b/indra/newview/app_settings/shaders/class1/environment/moonF.glsl deleted file mode 100644 index a220971f06..0000000000 --- a/indra/newview/app_settings/shaders/class1/environment/moonF.glsl +++ /dev/null @@ -1,51 +0,0 @@ -/**  - * @file class1/environment/moonF.glsl - * - * $LicenseInfo:firstyear=2021&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2021, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -#ifdef DEFINE_GL_FRAGCOLOR -out vec4 frag_color; -#else -#define frag_color gl_FragColor -#endif - -uniform sampler2D tex0; - -VARYING vec2 vary_texcoord0; - -// See: -// AS  off: class1/environment/moonF.glsl -// ALM off: class1/windlight/moonF.glsl -// ALM on : class1/deferred/moonF.glsl -void main()  -{ -    vec4 color = texture2D(tex0, vary_texcoord0.xy); - -    // SL-14113 Don't write to depth; prevent moon's quad from hiding stars which should be visible -    // Moon texture has transparent pixels <0x55,0x55,0x55,0x00> -    if (color.a <= 2./255.) // 0.00784 -        discard; - -    frag_color = color; -    gl_FragDepth = LL_SHADER_CONST_CLOUD_MOON_DEPTH; // SL-14113 Moon is infront of stars -} diff --git a/indra/newview/app_settings/shaders/class1/environment/moonV.glsl b/indra/newview/app_settings/shaders/class1/environment/moonV.glsl deleted file mode 100644 index c00f202c23..0000000000 --- a/indra/newview/app_settings/shaders/class1/environment/moonV.glsl +++ /dev/null @@ -1,38 +0,0 @@ -/**  - * @file class1\environment\moonV.glsl - * - * $LicenseInfo:firstyear=2021&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2021, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -uniform mat4 modelview_projection_matrix; - -ATTRIBUTE vec3 position; -ATTRIBUTE vec2 texcoord0; - -VARYING vec2 vary_texcoord0; - -void main() -{ -	gl_Position = modelview_projection_matrix * vec4(position, 1); -	vary_texcoord0 = texcoord0; -} - diff --git a/indra/newview/app_settings/shaders/class1/environment/starsF.glsl b/indra/newview/app_settings/shaders/class1/environment/starsF.glsl deleted file mode 100644 index e1a9cc6387..0000000000 --- a/indra/newview/app_settings/shaders/class1/environment/starsF.glsl +++ /dev/null @@ -1,51 +0,0 @@ -/**  - * @file class1/environment/starsF.glsl - * - * $LicenseInfo:firstyear=2021&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2021, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -#ifdef DEFINE_GL_FRAGCOLOR -out vec4 frag_color; -#else -#define frag_color gl_FragColor -#endif - -uniform sampler2D diffuseMap; - -uniform float custom_alpha; - -VARYING vec4 vertex_color; -VARYING vec2 vary_texcoord0; - -// See: -// ALM off: class1/environment/starsF.glsl -// ALM on : class1/deferred/starsF.glsl -void main()  -{ -    vec4 color = texture2D(diffuseMap, vary_texcoord0.xy); -    color.rgb = pow(color.rgb, vec3(0.45)); -    color.rgb *= vertex_color.rgb; -    color.a *= max(custom_alpha, vertex_color.a); - -    frag_color = color; -    gl_FragDepth = LL_SHADER_CONST_STAR_DEPTH; // SL-14113 Moon Haze -- Stars need to depth test behind the moon -} diff --git a/indra/newview/app_settings/shaders/class1/environment/starsV.glsl b/indra/newview/app_settings/shaders/class1/environment/starsV.glsl deleted file mode 100644 index 6fcfec6b6a..0000000000 --- a/indra/newview/app_settings/shaders/class1/environment/starsV.glsl +++ /dev/null @@ -1,41 +0,0 @@ -/**  - * @file class1/environment/starsV.glsl - * - * $LicenseInfo:firstyear=2021&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2021, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -uniform mat4 modelview_projection_matrix; - -ATTRIBUTE vec3 position; -ATTRIBUTE vec4 diffuse_color; -ATTRIBUTE vec2 texcoord0; - -VARYING vec4 vertex_color; -VARYING vec2 vary_texcoord0; - -void main() -{ -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); -	vary_texcoord0 = texcoord0; -	vertex_color = diffuse_color; -} - diff --git a/indra/newview/app_settings/shaders/class1/environment/terrainF.glsl b/indra/newview/app_settings/shaders/class1/environment/terrainF.glsl deleted file mode 100644 index 6b68ed4169..0000000000 --- a/indra/newview/app_settings/shaders/class1/environment/terrainF.glsl +++ /dev/null @@ -1,66 +0,0 @@ -/** - * @file class1\environment\terrainF.glsl - * - * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2007, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ -  -#ifdef DEFINE_GL_FRAGCOLOR -out vec4 frag_color; -#else -#define frag_color gl_FragColor -#endif - -VARYING vec4 vertex_color; -VARYING vec4 vary_texcoord0; -VARYING vec4 vary_texcoord1; - -uniform sampler2D detail_0; -uniform sampler2D detail_1; -uniform sampler2D detail_2; -uniform sampler2D detail_3; -uniform sampler2D alpha_ramp; - -vec3 atmosLighting(vec3 light); - -vec3 scaleSoftClip(vec3 color); - -void main() -{ -	/// Note: This should duplicate the blending functionality currently used for the terrain rendering. -	 -	/// TODO Confirm tex coords and bind them appropriately in vert shader. -	vec4 color0 = texture2D(detail_0, vary_texcoord0.xy); -	vec4 color1 = texture2D(detail_1, vary_texcoord0.xy); -	vec4 color2 = texture2D(detail_2, vary_texcoord0.xy); -	vec4 color3 = texture2D(detail_3, vary_texcoord0.xy); - -	float alpha1 = texture2D(alpha_ramp, vary_texcoord0.zw).a; -	float alpha2 = texture2D(alpha_ramp,vary_texcoord1.xy).a; -	float alphaFinal = texture2D(alpha_ramp, vary_texcoord1.zw).a; -	vec4 outColor = mix( mix(color3, color2, alpha2), mix(color1, color0, alpha1), alphaFinal ); -	 -	/// Add WL Components -	outColor.rgb = atmosLighting(outColor.rgb * vertex_color.rgb); -	 -	frag_color = vec4(scaleSoftClip(outColor.rgb), 1.0); -} - diff --git a/indra/newview/app_settings/shaders/class1/environment/terrainV.glsl b/indra/newview/app_settings/shaders/class1/environment/terrainV.glsl deleted file mode 100644 index ef27848d37..0000000000 --- a/indra/newview/app_settings/shaders/class1/environment/terrainV.glsl +++ /dev/null @@ -1,88 +0,0 @@ -/** - * @file class1\environment\terrainV.glsl - * - * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2007, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -uniform mat3 normal_matrix; -uniform mat4 texture_matrix0; -uniform mat4 modelview_matrix; -uniform mat4 modelview_projection_matrix; - -uniform vec4 object_plane_t; -uniform vec4 object_plane_s; - -ATTRIBUTE vec3 position; -ATTRIBUTE vec3 normal; -ATTRIBUTE vec2 texcoord0; -ATTRIBUTE vec2 texcoord1; -ATTRIBUTE vec4 diffuse_color; - -VARYING vec4 vertex_color; -VARYING vec4 vary_texcoord0; -VARYING vec4 vary_texcoord1; - -void calcAtmospherics(vec3 inPositionEye); - -vec4 calcLighting(vec3 pos, vec3 norm, vec4 color); - -vec4 texgen_object(vec4  vpos, vec4 tc, mat4 mat, vec4 tp0, vec4 tp1) -{ -	vec4 tcoord; -	 -	tcoord.x = dot(vpos, tp0); -	tcoord.y = dot(vpos, tp1); -	tcoord.z = tc.z; -	tcoord.w = tc.w; -	 -	tcoord = mat * tcoord;  -	 -	return tcoord;  -} - -void main() -{ -	//transform vertex -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); - -	vec4 pos = modelview_matrix * vec4(position.xyz, 1.0); -	vec3 norm = normalize(normal_matrix * normal); - -	calcAtmospherics(pos.xyz); - -	/// Potentially better without it for water. -	pos /= pos.w; - -	vec4 color = calcLighting(pos.xyz, norm, /*diffuse_color*/vec4(1)); -	 -	vertex_color = color; - -	// Transform and pass tex coords - 	vary_texcoord0.xy = texgen_object(vec4(position.xyz, 1.0), vec4(texcoord0,0,1), texture_matrix0, object_plane_s, object_plane_t).xy; -	 -	vec4 t = vec4(texcoord1,0,1); -	 -	vary_texcoord0.zw = t.xy; -	vary_texcoord1.xy = t.xy-vec2(2.0, 0.0); -	vary_texcoord1.zw = t.xy-vec2(1.0, 0.0); -} - diff --git a/indra/newview/app_settings/shaders/class1/environment/terrainWaterF.glsl b/indra/newview/app_settings/shaders/class1/environment/terrainWaterF.glsl deleted file mode 100644 index e53bb46177..0000000000 --- a/indra/newview/app_settings/shaders/class1/environment/terrainWaterF.glsl +++ /dev/null @@ -1,66 +0,0 @@ -/** - * @file class1\environment\terrainWaterF.glsl - * - * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2007, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -#ifdef DEFINE_GL_FRAGCOLOR -out vec4 frag_color; -#else -#define frag_color gl_FragColor -#endif - -VARYING vec4 vertex_color; -VARYING vec4 vary_texcoord0; -VARYING vec4 vary_texcoord1; - -uniform sampler2D detail_0; -uniform sampler2D detail_1; -uniform sampler2D detail_2; -uniform sampler2D detail_3; -uniform sampler2D alpha_ramp; - -vec3 atmosLighting(vec3 light); - -vec4 applyWaterFog(vec4 color); - -void main() -{ -	/// Note: This should duplicate the blending functionality currently used for the terrain rendering. -	 -	/// TODO Confirm tex coords and bind them appropriately in vert shader. -	vec4 color0 = texture2D(detail_0, vary_texcoord0.xy); -	vec4 color1 = texture2D(detail_1, vary_texcoord0.xy); -	vec4 color2 = texture2D(detail_2, vary_texcoord0.xy); -	vec4 color3 = texture2D(detail_3, vary_texcoord0.xy); - -	float alpha1 = texture2D(alpha_ramp, vary_texcoord0.zw).a; -	float alpha2 = texture2D(alpha_ramp,vary_texcoord1.xy).a; -	float alphaFinal = texture2D(alpha_ramp, vary_texcoord1.zw).a; -	vec4 outColor = mix( mix(color3, color2, alpha2), mix(color1, color0, alpha1), alphaFinal ); -	 -	/// Add WL Components -	outColor.rgb = atmosLighting(outColor.rgb * vertex_color.rgb); -	 -	outColor = applyWaterFog(outColor); -	frag_color = outColor; -} diff --git a/indra/newview/app_settings/shaders/class1/environment/terrainWaterV.glsl b/indra/newview/app_settings/shaders/class1/environment/terrainWaterV.glsl deleted file mode 100644 index a075cfeef2..0000000000 --- a/indra/newview/app_settings/shaders/class1/environment/terrainWaterV.glsl +++ /dev/null @@ -1,84 +0,0 @@ -/** - * @file class1\environment\terrainV.glsl - * - * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2007, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -uniform mat3 normal_matrix; -uniform mat4 texture_matrix0; -uniform mat4 modelview_matrix; -uniform mat4 modelview_projection_matrix; - -uniform vec4 object_plane_t; -uniform vec4 object_plane_s; - -ATTRIBUTE vec3 position; -ATTRIBUTE vec3 normal; -ATTRIBUTE vec2 texcoord0; -ATTRIBUTE vec2 texcoord1; -ATTRIBUTE vec4 diffuse_color; - -VARYING vec4 vertex_color; -VARYING vec4 vary_texcoord0; -VARYING vec4 vary_texcoord1; - -void calcAtmospherics(vec3 inPositionEye); -vec4 calcLighting(vec3 pos, vec3 norm, vec4 color); - -vec4 texgen_object(vec4  vpos, vec4 tc, mat4 mat, vec4 tp0, vec4 tp1) -{ -	vec4 tcoord; -	 -	tcoord.x = dot(vpos, tp0); -	tcoord.y = dot(vpos, tp1); -	tcoord.z = tc.z; -	tcoord.w = tc.w; -	 -	tcoord = mat * tcoord;  -	 -	return tcoord;  -} - -void main() -{ -	//transform vertex -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); - -	vec4 pos = modelview_matrix * vec4(position.xyz, 1.0); -	vec3 norm = normalize(normal_matrix * normal); - -	calcAtmospherics(pos.xyz); - -	vec4 color = calcLighting(pos.xyz, norm, vec4(1.0)); - -	vertex_color.rgb = color.rgb; - -	// Transform and pass tex coords - 	vary_texcoord0.xy = texgen_object(vec4(position.xyz, 1.0), vec4(texcoord0,0,1), texture_matrix0, object_plane_s, object_plane_t).xy; -	 -	vec4 t = vec4(texcoord1,0,1); -	 -	vary_texcoord0.zw = t.xy; -	vary_texcoord1.xy = t.xy-vec2(2.0, 0.0); -	vary_texcoord1.zw = t.xy-vec2(1.0, 0.0); -} - diff --git a/indra/newview/app_settings/shaders/class1/interface/customalphaF.glsl b/indra/newview/app_settings/shaders/class1/interface/customalphaF.glsl deleted file mode 100644 index f6b31a5956..0000000000 --- a/indra/newview/app_settings/shaders/class1/interface/customalphaF.glsl +++ /dev/null @@ -1,46 +0,0 @@ -/**  - * @file customalphaF.glsl - * - * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2007, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -#ifdef DEFINE_GL_FRAGCOLOR -out vec4 frag_color; -#else -#define frag_color gl_FragColor -#endif - -uniform sampler2D diffuseMap; - -uniform float custom_alpha; - -VARYING vec4 vertex_color; -VARYING vec2 vary_texcoord0; - -void main()  -{ -	vec4 color = texture2D(diffuseMap, vary_texcoord0.xy); -    color.rgb = pow(color.rgb, vec3(0.45)); -    color.rgb *= vertex_color.rgb; -	color.a *= max(custom_alpha, vertex_color.a); -	frag_color = color; -} diff --git a/indra/newview/app_settings/shaders/class1/interface/customalphaV.glsl b/indra/newview/app_settings/shaders/class1/interface/customalphaV.glsl deleted file mode 100644 index 890474d6d8..0000000000 --- a/indra/newview/app_settings/shaders/class1/interface/customalphaV.glsl +++ /dev/null @@ -1,41 +0,0 @@ -/**  - * @file customalphaV.glsl - * - * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2007, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -uniform mat4 modelview_projection_matrix; - -ATTRIBUTE vec3 position; -ATTRIBUTE vec4 diffuse_color; -ATTRIBUTE vec2 texcoord0; - -VARYING vec4 vertex_color; -VARYING vec2 vary_texcoord0; - -void main() -{ -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); -	vary_texcoord0 = texcoord0; -	vertex_color = diffuse_color; -} - diff --git a/indra/newview/app_settings/shaders/class1/interface/downsampleDepthF.glsl b/indra/newview/app_settings/shaders/class1/interface/downsampleDepthF.glsl deleted file mode 100644 index f8efd7cb4a..0000000000 --- a/indra/newview/app_settings/shaders/class1/interface/downsampleDepthF.glsl +++ /dev/null @@ -1,65 +0,0 @@ -/**  - * @file debugF.glsl - * - * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2011, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -#ifdef DEFINE_GL_FRAGCOLOR -out vec4 frag_color; -#else -#define frag_color gl_FragColor -#endif - -uniform sampler2D depthMap; - -VARYING vec2 tc0; -VARYING vec2 tc1; -VARYING vec2 tc2; -VARYING vec2 tc3; -VARYING vec2 tc4; -VARYING vec2 tc5; -VARYING vec2 tc6; -VARYING vec2 tc7; -VARYING vec2 tc8; - -void main()  -{ -	vec4 depth1 =  -		vec4(texture2D(depthMap, tc0).r, -			texture2D(depthMap, tc1).r, -			texture2D(depthMap, tc2).r, -			texture2D(depthMap, tc3).r); - -	vec4 depth2 =  -		vec4(texture2D(depthMap, tc4).r, -			texture2D(depthMap, tc5).r, -			texture2D(depthMap, tc6).r, -			texture2D(depthMap, tc7).r); - -	depth1 = min(depth1, depth2); -	float depth = min(depth1.x, depth1.y); -	depth = min(depth, depth1.z); -	depth = min(depth, depth1.w); -	depth = min(depth, texture2D(depthMap, tc8).r); - -	gl_FragDepth = depth; -} diff --git a/indra/newview/app_settings/shaders/class1/interface/downsampleDepthRectF.glsl b/indra/newview/app_settings/shaders/class1/interface/downsampleDepthRectF.glsl deleted file mode 100644 index 99662097bb..0000000000 --- a/indra/newview/app_settings/shaders/class1/interface/downsampleDepthRectF.glsl +++ /dev/null @@ -1,69 +0,0 @@ -/**  - * @file debugF.glsl - * - * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2011, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -#extension GL_ARB_texture_rectangle : enable - -/*[EXTRA_CODE_HERE]*/ - -#ifdef DEFINE_GL_FRAGCOLOR -out vec4 frag_color; -#else -#define frag_color gl_FragColor -#endif - -uniform sampler2D depthMap; - -VARYING vec2 tc0; -VARYING vec2 tc1; -VARYING vec2 tc2; -VARYING vec2 tc3; -VARYING vec2 tc4; -VARYING vec2 tc5; -VARYING vec2 tc6; -VARYING vec2 tc7; -VARYING vec2 tc8; - -void main()  -{ -	vec4 depth1 =  -		vec4(texture2D(depthMap, tc0).r, -			texture2D(depthMap, tc1).r, -			texture2D(depthMap, tc2).r, -			texture2D(depthMap, tc3).r); - -	vec4 depth2 =  -		vec4(texture2D(depthMap, tc4).r, -			texture2D(depthMap, tc5).r, -			texture2D(depthMap, tc6).r, -			texture2D(depthMap, tc7).r); - -	depth1 = min(depth1, depth2); -	float depth = min(depth1.x, depth1.y); -	depth = min(depth, depth1.z); -	depth = min(depth, depth1.w); -	depth = min(depth, texture2D(depthMap, tc8).r); - -	gl_FragDepth = depth; -} diff --git a/indra/newview/app_settings/shaders/class1/interface/downsampleDepthV.glsl b/indra/newview/app_settings/shaders/class1/interface/downsampleDepthV.glsl deleted file mode 100644 index e104377037..0000000000 --- a/indra/newview/app_settings/shaders/class1/interface/downsampleDepthV.glsl +++ /dev/null @@ -1,59 +0,0 @@ -/**  - * @file debugV.glsl - * - * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2011, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -uniform mat4 modelview_projection_matrix; - -ATTRIBUTE vec3 position; - -uniform vec2 screen_res; - -uniform vec2 delta; - -VARYING vec2 tc0; -VARYING vec2 tc1; -VARYING vec2 tc2; -VARYING vec2 tc3; -VARYING vec2 tc4; -VARYING vec2 tc5; -VARYING vec2 tc6; -VARYING vec2 tc7; -VARYING vec2 tc8; - -void main() -{ -	gl_Position = vec4(position, 1.0);  -	 -	vec2 tc = (position.xy*0.5+0.5); -	tc0 = tc+vec2(-delta.x,-delta.y); -	tc1 = tc+vec2(0,-delta.y); -	tc2 = tc+vec2(delta.x,-delta.y); -	tc3 = tc+vec2(-delta.x,0); -	tc4 = tc+vec2(0,0); -	tc5 = tc+vec2(delta.x,0); -	tc6 = tc+vec2(-delta.x,delta.y); -	tc7 = tc+vec2(0,delta.y); -	tc8 = tc+vec2(delta.x,delta.y); -} - diff --git a/indra/newview/app_settings/shaders/class1/interface/onetexturenocolorF.glsl b/indra/newview/app_settings/shaders/class1/interface/onetexturenocolorF.glsl deleted file mode 100644 index 415181126b..0000000000 --- a/indra/newview/app_settings/shaders/class1/interface/onetexturenocolorF.glsl +++ /dev/null @@ -1,39 +0,0 @@ -/**  - * @file onetexturenocolorF.glsl - * - * $LicenseInfo:firstyear=2005&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2005, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -#ifdef DEFINE_GL_FRAGCOLOR -out vec4 frag_color; -#else -#define frag_color gl_FragColor -#endif - -uniform sampler2D tex0; - -VARYING vec2 vary_texcoord0; - -void main()  -{ -	frag_color = texture2D(tex0, vary_texcoord0.xy); -} diff --git a/indra/newview/app_settings/shaders/class1/interface/onetexturenocolorV.glsl b/indra/newview/app_settings/shaders/class1/interface/onetexturenocolorV.glsl deleted file mode 100644 index 6b9986c8d7..0000000000 --- a/indra/newview/app_settings/shaders/class1/interface/onetexturenocolorV.glsl +++ /dev/null @@ -1,38 +0,0 @@ -/**  - * @file onetexturenocolorV.glsl - * - * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2007, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ -  -uniform mat4 modelview_projection_matrix; - -ATTRIBUTE vec3 position; -ATTRIBUTE vec2 texcoord0; - -VARYING vec2 vary_texcoord0; - -void main() -{ -	gl_Position = modelview_projection_matrix * vec4(position, 1); -	vary_texcoord0 = texcoord0; -} - diff --git a/indra/newview/app_settings/shaders/class1/interface/splattexturerectF.glsl b/indra/newview/app_settings/shaders/class1/interface/splattexturerectF.glsl deleted file mode 100644 index bf6c1b355c..0000000000 --- a/indra/newview/app_settings/shaders/class1/interface/splattexturerectF.glsl +++ /dev/null @@ -1,44 +0,0 @@ -/**  - * @file splattexturerectF.glsl - * - * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2011, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ -  -#extension GL_ARB_texture_rectangle : enable - -/*[EXTRA_CODE_HERE]*/ - -#ifdef DEFINE_GL_FRAGCOLOR -out vec4 frag_color; -#else -#define frag_color gl_FragColor -#endif - -uniform sampler2D screenMap; - -VARYING vec4 vertex_color; -VARYING vec2 vary_texcoord0; - -void main()  -{ -	frag_color = 	texture2D(screenMap, vary_texcoord0.xy) * vertex_color; -} diff --git a/indra/newview/app_settings/shaders/class1/interface/twotextureaddF.glsl b/indra/newview/app_settings/shaders/class1/interface/twotextureaddF.glsl deleted file mode 100644 index 95679e93e7..0000000000 --- a/indra/newview/app_settings/shaders/class1/interface/twotextureaddF.glsl +++ /dev/null @@ -1,41 +0,0 @@ -/**  - * @file twotextureaddF.glsl - * - * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2007, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -#ifdef DEFINE_GL_FRAGCOLOR -out vec4 frag_color; -#else -#define frag_color gl_FragColor -#endif - -uniform sampler2D tex0; -uniform sampler2D tex1; - -VARYING vec2 vary_texcoord0; -VARYING vec2 vary_texcoord1; - -void main()  -{ -	frag_color = texture2D(tex0, vary_texcoord0.xy)+texture2D(tex1, vary_texcoord1.xy); -} diff --git a/indra/newview/app_settings/shaders/class1/interface/twotextureaddV.glsl b/indra/newview/app_settings/shaders/class1/interface/twotextureaddV.glsl deleted file mode 100644 index 3c2f297f7f..0000000000 --- a/indra/newview/app_settings/shaders/class1/interface/twotextureaddV.glsl +++ /dev/null @@ -1,41 +0,0 @@ -/**  - * @file twotextureaddV.glsl - * - * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2007, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ -  -uniform mat4 modelview_projection_matrix; - -ATTRIBUTE vec3 position; -ATTRIBUTE vec2 texcoord0; -ATTRIBUTE vec2 texcoord1; - -VARYING vec2 vary_texcoord0; -VARYING vec2 vary_texcoord1; - -void main() -{ -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); -	vary_texcoord0 = texcoord0; -	vary_texcoord1 = texcoord1; -} - diff --git a/indra/newview/app_settings/shaders/class1/windlight/moonF.glsl b/indra/newview/app_settings/shaders/class1/windlight/moonF.glsl deleted file mode 100644 index c4ab0c95dc..0000000000 --- a/indra/newview/app_settings/shaders/class1/windlight/moonF.glsl +++ /dev/null @@ -1,72 +0,0 @@ -/**  - * @file class1\wl\moonF.glsl - * - * $LicenseInfo:firstyear=2005&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2005, 2020 Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ -  -#extension GL_ARB_texture_rectangle : enable - -/*[EXTRA_CODE_HERE]*/ - -#ifdef DEFINE_GL_FRAGCOLOR -out vec4 frag_color; -#else -#define frag_color gl_FragColor -#endif - -uniform vec4 color; -uniform vec3 moonlight_color; -uniform vec3 moon_dir; -uniform float moon_brightness; -uniform sampler2D diffuseMap; - -VARYING vec2 vary_texcoord0; - -vec3 scaleSoftClip(vec3 light); - -void main()  -{ -    // Restore Pre-EEP alpha fade moon near horizon -    float fade = 1.0; -    if( moon_dir.z > 0 ) -        fade = clamp( moon_dir.z*moon_dir.z*4.0, 0.0, 1.0 ); - -    vec4 c     = texture2D(diffuseMap, vary_texcoord0.xy); - -    // SL-14113 Don't write to depth; prevent moon's quad from hiding stars which should be visible -    // Moon texture has transparent pixels <0x55,0x55,0x55,0x00> -    if (c.a <= 2./255.) // 0.00784 -        discard; - -//       c.rgb = pow(c.rgb, vec3(0.7f)); // can't use "srgb_to_linear(color.rgb)" as that is a deferred only function -         c.rgb *= moonlight_color.rgb; -         c.rgb *= moon_brightness; - -         c.rgb *= fade; -         c.a   *= fade; - -         c.rgb  = scaleSoftClip(c.rgb); - -    frag_color = vec4(c.rgb, c.a); -    gl_FragDepth = LL_SHADER_CONST_CLOUD_MOON_DEPTH; // SL-14113 -} - diff --git a/indra/newview/app_settings/shaders/class1/windlight/moonV.glsl b/indra/newview/app_settings/shaders/class1/windlight/moonV.glsl deleted file mode 100644 index 2fceb5f743..0000000000 --- a/indra/newview/app_settings/shaders/class1/windlight/moonV.glsl +++ /dev/null @@ -1,44 +0,0 @@ -/**  - * @file class1\wl\moonV.glsl - * -  * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2007, 2020 Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -uniform mat4 texture_matrix0; -uniform mat4 modelview_matrix; -uniform mat4 modelview_projection_matrix; - -ATTRIBUTE vec3 position; -ATTRIBUTE vec2 texcoord0; - -VARYING vec2 vary_texcoord0; - -void main() -{ -    //transform vertex -    vec4 vert = vec4(position.xyz, 1.0); -    vec4 pos = (modelview_matrix * vert); - -    gl_Position = modelview_projection_matrix*vert; -     -    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; -} diff --git a/indra/newview/app_settings/shaders/class1/windlight/sunDiscF.glsl b/indra/newview/app_settings/shaders/class1/windlight/sunDiscF.glsl deleted file mode 100644 index 5a41dc644a..0000000000 --- a/indra/newview/app_settings/shaders/class1/windlight/sunDiscF.glsl +++ /dev/null @@ -1,58 +0,0 @@ -/**  - * @file class1\wl\sunDiscF.glsl - * - * $LicenseInfo:firstyear=2005&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2005, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ -  -#extension GL_ARB_texture_rectangle : enable - -/*[EXTRA_CODE_HERE]*/ - -#ifdef DEFINE_GL_FRAGCOLOR -out vec4 frag_color; -#else -#define frag_color gl_FragColor -#endif - -vec3 fullbrightAtmosTransport(vec3 light); -vec3 fullbrightScaleSoftClip(vec3 light); - -uniform sampler2D diffuseMap; -uniform sampler2D altDiffuseMap; -uniform float blend_factor; // interp factor between sun A/B -VARYING vec2 vary_texcoord0; -VARYING float sun_fade; - -void main()  -{ -    vec4 sunA = texture2D(diffuseMap, vary_texcoord0.xy); -    vec4 sunB = texture2D(altDiffuseMap, vary_texcoord0.xy); -    vec4 c     = mix(sunA, sunB, blend_factor); - -// SL-9806 stars poke through -//    c.a *= sun_fade; - -    c.rgb = fullbrightAtmosTransport(c.rgb); -    c.rgb = fullbrightScaleSoftClip(c.rgb); -    frag_color = c; -} - diff --git a/indra/newview/app_settings/shaders/class1/windlight/sunDiscV.glsl b/indra/newview/app_settings/shaders/class1/windlight/sunDiscV.glsl deleted file mode 100644 index 6c0e795f6b..0000000000 --- a/indra/newview/app_settings/shaders/class1/windlight/sunDiscV.glsl +++ /dev/null @@ -1,51 +0,0 @@ -/**  - * @file class1\wl\sunDiscV.glsl - * -  * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2007, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -uniform mat4 texture_matrix0; -uniform mat4 modelview_matrix; -uniform mat4 modelview_projection_matrix; - -ATTRIBUTE vec3 position; -ATTRIBUTE vec2 texcoord0; - -VARYING vec2 vary_texcoord0; -VARYING float sun_fade; - -void calcAtmospherics(vec3 eye_pos); - -void main() -{ -    //transform vertex -    vec3 offset = vec3(0, 0, 50); -    vec4 vert = vec4(position.xyz - offset, 1.0); -    vec4 pos = modelview_projection_matrix*vert; - -    sun_fade = smoothstep(0.3, 1.0, (position.z + 50) / 512.0f); -    gl_Position = pos; -     -    calcAtmospherics(pos.xyz); - -    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; -} diff --git a/indra/newview/app_settings/shaders/class2/deferred/waterF.glsl b/indra/newview/app_settings/shaders/class2/deferred/waterF.glsl deleted file mode 100644 index 96739d91d7..0000000000 --- a/indra/newview/app_settings/shaders/class2/deferred/waterF.glsl +++ /dev/null @@ -1,192 +0,0 @@ -/**  - * @file class1/deferred/waterF.glsl - * - * $LicenseInfo:firstyear=2007&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2007, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ -  -#extension GL_ARB_texture_rectangle : enable - -/*[EXTRA_CODE_HERE]*/ - -#ifdef DEFINE_GL_FRAGCOLOR -out vec4 frag_data[4]; -#else -#define frag_data gl_FragData -#endif - -vec3 scaleSoftClip(vec3 inColor); -vec3 atmosTransport(vec3 inColor); - -uniform sampler2D bumpMap;    -uniform sampler2D bumpMap2; -uniform float blend_factor; -uniform sampler2D screenTex; -uniform sampler2D refTex; -uniform float sunAngle; -uniform float sunAngle2; -uniform vec3 lightDir; -uniform vec3 specular; -uniform float lightExp; -uniform float refScale; -uniform float kd; -uniform vec2 screenRes; -uniform vec3 normScale; -uniform float fresnelScale; -uniform float fresnelOffset; -uniform float blurMultiplier; -uniform vec2 screen_res; -uniform mat4 norm_mat; //region space to screen space -uniform int water_edge; - -//bigWave is (refCoord.w, view.w); -VARYING vec4 refCoord; -VARYING vec4 littleWave; -VARYING vec4 view; -VARYING vec4 vary_position; - -vec2 encode_normal(vec3 n); -vec3 scaleSoftClip(vec3 l); -vec3 srgb_to_linear(vec3 c); -vec3 linear_to_srgb(vec3 c); - -vec3 BlendNormal(vec3 bump1, vec3 bump2) -{ -    vec3 n = mix(bump1, bump2, blend_factor); -    return n; -} - -void main()  -{ -    vec4 color; -    float dist = length(view.xyz); -     -    //normalize view vector -    vec3 viewVec = normalize(view.xyz); -     -    //get wave normals -    vec3 wave1_a = texture2D(bumpMap, vec2(refCoord.w, view.w)).xyz*2.0-1.0; -    vec3 wave2_a = texture2D(bumpMap, littleWave.xy).xyz*2.0-1.0; -    vec3 wave3_a = texture2D(bumpMap, littleWave.zw).xyz*2.0-1.0; - - -    vec3 wave1_b = texture2D(bumpMap2, vec2(refCoord.w, view.w)).xyz*2.0-1.0; -    vec3 wave2_b = texture2D(bumpMap2, littleWave.xy).xyz*2.0-1.0; -    vec3 wave3_b = texture2D(bumpMap2, littleWave.zw).xyz*2.0-1.0; - -    vec3 wave1 = BlendNormal(wave1_a, wave1_b); -    vec3 wave2 = BlendNormal(wave2_a, wave2_b); -    vec3 wave3 = BlendNormal(wave3_a, wave3_b); - -    //get base fresnel components    -     -    vec3 df = vec3( -                    dot(viewVec, wave1), -                    dot(viewVec, (wave2 + wave3) * 0.5), -                    dot(viewVec, wave3) -                 ) * fresnelScale + fresnelOffset; -    df *= df; -             -    vec2 distort = (refCoord.xy/refCoord.z) * 0.5 + 0.5; -     -    float dist2 = dist; -    dist = max(dist, 5.0); -     -    float dmod = sqrt(dist); -     -    vec2 dmod_scale = vec2(dmod*dmod, dmod); -     -    //get reflected color -    vec2 refdistort1 = wave1.xy*normScale.x; -    vec2 refvec1 = distort+refdistort1/dmod_scale; -    vec4 refcol1 = texture2D(refTex, refvec1); -     -    vec2 refdistort2 = wave2.xy*normScale.y; -    vec2 refvec2 = distort+refdistort2/dmod_scale; -    vec4 refcol2 = texture2D(refTex, refvec2); -     -    vec2 refdistort3 = wave3.xy*normScale.z; -    vec2 refvec3 = distort+refdistort3/dmod_scale; -    vec4 refcol3 = texture2D(refTex, refvec3); - -    vec4 refcol = refcol1 + refcol2 + refcol3; -    float df1 = df.x + df.y + df.z; -	refcol *= df1 * 0.333; -     -    vec3 wavef = (wave1 + wave2 * 0.4 + wave3 * 0.6) * 0.5; -    wavef.z *= max(-viewVec.z, 0.1); -    wavef = normalize(wavef); -     -    float df2 = dot(viewVec, wavef) * fresnelScale+fresnelOffset; -     -    vec2 refdistort4 = wavef.xy*0.125; -    refdistort4.y -= abs(refdistort4.y); -    vec2 refvec4 = distort+refdistort4/dmod; -    float dweight = min(dist2*blurMultiplier, 1.0); -    vec4 baseCol = texture2D(refTex, refvec4); - -    refcol = mix(baseCol*df2, refcol, dweight); - -    //get specular component -	float spec = clamp(dot(lightDir, (reflect(viewVec,wavef))),0.0,1.0); -		 -	//harden specular -	spec = pow(spec, 128.0); - -	//figure out distortion vector (ripply)    -	vec2 distort2 = distort+wavef.xy*refScale/max(dmod*df1, 1.0); -		 -	vec4 fb = texture2D(screenTex, distort2); -	 -	//mix with reflection -	// Note we actually want to use just df1, but multiplying by 0.999999 gets around an nvidia compiler bug -	color.rgb = mix(fb.rgb, refcol.rgb, df1 * 0.99999f); -	 -	vec4 pos = vary_position; -	 -	//color.rgb += spec * specular; - -	//color.rgb = atmosTransport(color.rgb); -	//color.rgb = scaleSoftClip(color.rgb); -     -    //color.rgb = refcol.rgb; -    color.rgb = vec3(0.0); -	color.a   = spec * sunAngle2; -     -	vec3 screenspacewavef = normalize((norm_mat*vec4(wavef, 1.0)).xyz); - -	//frag_data[0] = color; - -    // TODO: The non-obvious assignment below is copied from the pre-EEP WL shader code -    //       Unfortunately, fixing it causes a mismatch for EEP, and so it remains...  for now -    //       SL-12975 (unfix pre-EEP broken alpha) -    frag_data[0] = vec4(srgb_to_linear(color.rgb), 0.0); -     -    frag_data[1] = vec4(1.0, 0.1, 0.0, 0.0);		// occlusion, roughness, metalness -	frag_data[2] = vec4(encode_normal(screenspacewavef.xyz), 0.0, GBUFFER_FLAG_HAS_PBR);// normalxy, env intens, flags (atmo kill) -    //frag_data[3] = vec4(srgb_to_linear(refcol.rgb),0); -    frag_data[3] = vec4(0, 0, 0, 0); - -     -    //frag_data[0] = vec4(0.0,0,0,0); -    //frag_data[1] = vec4(0, 1.0, 0.0, 0.0); -    //frag_data[3] = vec4(0); -} diff --git a/indra/newview/app_settings/shaders/class2/windlight/cloudsF.glsl b/indra/newview/app_settings/shaders/class2/windlight/cloudsF.glsl deleted file mode 100644 index 6f4bdbde28..0000000000 --- a/indra/newview/app_settings/shaders/class2/windlight/cloudsF.glsl +++ /dev/null @@ -1,137 +0,0 @@ -/**  - * @file class2\wl\cloudsF.glsl - * - * $LicenseInfo:firstyear=2005&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2005, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -/*[EXTRA_CODE_HERE]*/  - -#ifdef DEFINE_GL_FRAGCOLOR -out vec4 frag_color; -#else -#define frag_color gl_FragColor -#endif - -///////////////////////////////////////////////////////////////////////// -// The fragment shader for the sky -///////////////////////////////////////////////////////////////////////// - -VARYING vec3 vary_CloudColorSun; -VARYING vec3 vary_CloudColorAmbient; -VARYING float vary_CloudDensity; - -uniform sampler2D cloud_noise_texture; -uniform sampler2D cloud_noise_texture_next; -uniform float blend_factor; -uniform vec3 cloud_pos_density1; -uniform vec3 cloud_pos_density2; -uniform float cloud_scale; -uniform float cloud_variance; - -VARYING vec2 vary_texcoord0; -VARYING vec2 vary_texcoord1; -VARYING vec2 vary_texcoord2; -VARYING vec2 vary_texcoord3; -VARYING float altitude_blend_factor; - -/// Soft clips the light with a gamma correction -vec3 scaleSoftClip(vec3 light); - -vec4 cloudNoise(vec2 uv) -{ -   vec4 a = texture2D(cloud_noise_texture, uv); -   vec4 b = texture2D(cloud_noise_texture_next, uv); -   vec4 cloud_noise_sample = mix(a, b, blend_factor); -   return cloud_noise_sample; -} - -void main() -{ -    // Set variables -    vec2 uv1 = vary_texcoord0.xy; -    vec2 uv2 = vary_texcoord1.xy; - -    vec3 cloudColorSun = vary_CloudColorSun; -    vec3 cloudColorAmbient = vary_CloudColorAmbient; -    float cloudDensity = vary_CloudDensity; -    vec2 uv3 = vary_texcoord2.xy; -    vec2 uv4 = vary_texcoord3.xy; - -    if (cloud_scale < 0.001) -    { -        discard; -    } - -    vec2 disturbance  = vec2(cloudNoise(uv1 / 8.0f).x, cloudNoise((uv3 + uv1) / 16.0f).x) * cloud_variance * (1.0f - cloud_scale * 0.25f); -    vec2 disturbance2 = vec2(cloudNoise((uv1 + uv3) / 4.0f).x, cloudNoise((uv4 + uv2) / 8.0f).x) * cloud_variance * (1.0f - cloud_scale * 0.25f); - -    // Offset texture coords -    uv1 += cloud_pos_density1.xy + (disturbance * 0.2);    //large texture, visible density -    uv2 += cloud_pos_density1.xy;   //large texture, self shadow -    uv3 += cloud_pos_density2.xy;   //small texture, visible density -    uv4 += cloud_pos_density2.xy;   //small texture, self shadow - -    float density_variance = min(1.0, (disturbance.x* 2.0 + disturbance.y* 2.0 + disturbance2.x + disturbance2.y) * 4.0); - -    cloudDensity *= 1.0 - (density_variance * density_variance); - -    // Compute alpha1, the main cloud opacity - -    float alpha1 = (cloudNoise(uv1).x - 0.5) + (cloudNoise(uv3).x - 0.5) * cloud_pos_density2.z; -    alpha1 = min(max(alpha1 + cloudDensity, 0.) * 10 * cloud_pos_density1.z, 1.); - -    // And smooth -    alpha1 = 1. - alpha1 * alpha1; -    alpha1 = 1. - alpha1 * alpha1;   - -    alpha1 *= altitude_blend_factor; - -    //if (alpha1 < 0.001f) -    //{ -    //    discard; -    //} - -    // Compute alpha2, for self shadowing effect -    // (1 - alpha2) will later be used as percentage of incoming sunlight -    float alpha2 = (cloudNoise(uv2).x - 0.5); -    alpha2 = min(max(alpha2 + cloudDensity, 0.) * 2.5 * cloud_pos_density1.z, 1.); - -    // And smooth -    alpha2 = 1. - alpha2; -    alpha2 = 1. - alpha2 * alpha2;   - -    // Combine -    vec3 color; -    color = (cloudColorSun*(1.-alpha2) + cloudColorAmbient); -    color.rgb *= 2.; -    color.rgb = scaleSoftClip(color.rgb); - -    /// Gamma correct for WL (soft clip effect). -    frag_color = vec4(color.rgb, alpha1); - -    // SL-14113 Moon Haze -- When the camera is underwater fix clouds clipping into moon -    // camera above water: class1\deferred\cloudsF.glsl -    // camera below water: class2\windlight\coudsV.glsl -    // See: starsV.glsl, cloudsV.glsl, moonF.glsl -    gl_FragDepth = LL_SHADER_CONST_CLOUD_MOON_DEPTH; -} - diff --git a/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl b/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl deleted file mode 100644 index 650009d393..0000000000 --- a/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl +++ /dev/null @@ -1,193 +0,0 @@ -/**  - * @file class2\wl\cloudsV.glsl - * - * $LicenseInfo:firstyear=2005&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2005, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -uniform mat4 modelview_projection_matrix; - -ATTRIBUTE vec3 position; -ATTRIBUTE vec2 texcoord0; - -////////////////////////////////////////////////////////////////////////// -// The vertex shader for creating the atmospheric sky -/////////////////////////////////////////////////////////////////////////////// - -// Output parameters -VARYING vec3 vary_CloudColorSun; -VARYING vec3 vary_CloudColorAmbient; -VARYING float vary_CloudDensity; - -VARYING vec2 vary_texcoord0; -VARYING vec2 vary_texcoord1; -VARYING vec2 vary_texcoord2; -VARYING vec2 vary_texcoord3; -VARYING float altitude_blend_factor; - -// Inputs -uniform vec3 camPosLocal; - -uniform vec3 lightnorm; -uniform vec3 sunlight_color; -uniform vec3 moonlight_color; -uniform int sun_up_factor; -uniform vec3 ambient_color; -uniform vec3 blue_horizon; -uniform vec3 blue_density; -uniform float haze_horizon; -uniform float haze_density; - -uniform float cloud_shadow; -uniform float density_multiplier; -uniform float max_y; - -uniform vec3 glow; -uniform float sun_moon_glow_factor; - -uniform vec3 cloud_color; - -uniform float cloud_scale; - -// NOTE: Keep these in sync! -//       indra\newview\app_settings\shaders\class1\deferred\skyV.glsl -//       indra\newview\app_settings\shaders\class1\deferred\cloudsV.glsl -//       indra\newview\app-settings\shaders\class2\windlight\cloudsV.glsl -//       indra\newview\lllegacyatmospherics.cpp -//       indra\newview\llsettingsvo.cpp -void main() -{ -	// World / view / projection -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); - -    // Texture coords -    // SL-13084 EEP added support for custom cloud textures -- flip them horizontally to match the preview of Clouds > Cloud Scroll -    vary_texcoord0 = vec2(-texcoord0.x, texcoord0.y);  // See: LLSettingsVOSky::applySpecial - -    vary_texcoord0.xy -= 0.5; -    vary_texcoord0.xy /= cloud_scale; -    vary_texcoord0.xy += 0.5; - -    vary_texcoord1 = vary_texcoord0; -    vary_texcoord1.x += lightnorm.x * 0.0125; -    vary_texcoord1.y += lightnorm.z * 0.0125; - -    vary_texcoord2 = vary_texcoord0 * 16.; -    vary_texcoord3 = vary_texcoord1 * 16.; - -	// Get relative position -    vec3 rel_pos = position.xyz - camPosLocal.xyz + vec3(0, 50, 0); - -    // fade clouds beyond a certain point so the bottom of the sky dome doesn't look silly at high altitude -    altitude_blend_factor = clamp((rel_pos.y + 512.0) / max_y, 0.0, 1.0); - -    // Adj position vector to clamp altitude -    if (rel_pos.y > 0.) -	{ -        rel_pos *= (max_y / rel_pos.y); -	} -    if (rel_pos.y < 0.) -	{ -        rel_pos *= (-32000. / rel_pos.y); -	} - -	// Can normalize then -    vec3  rel_pos_norm = normalize(rel_pos); -    float rel_pos_len  = length(rel_pos); - -	// Initialize temp variables -	vec3 sunlight = sunlight_color; -	vec3 light_atten; - -	// Sunlight attenuation effect (hue and brightness) due to atmosphere -	// this is used later for sunlight modulation at various altitudes -    light_atten = (blue_density + vec3(haze_density * 0.25)) * (density_multiplier * max_y); - -	// Calculate relative weights -    vec3 combined_haze = abs(blue_density) + vec3(abs(haze_density)); -    vec3 blue_weight   = blue_density / combined_haze; -    vec3 haze_weight   = haze_density / combined_haze; - -    // Compute sunlight from rel_pos & lightnorm (for long rays like sky) -    float off_axis = 1.0 / max(1e-6, max(0., rel_pos_norm.y) + lightnorm.y); -    sunlight *= exp(-light_atten * off_axis); - -	// Distance -    float density_dist = rel_pos_len * density_multiplier; - -    // Transparency (-> combined_haze) -    // ATI Bugfix -- can't store combined_haze*density_dist in a variable because the ati -	// compiler gets confused. -    combined_haze = exp(-combined_haze * density_dist); - -	// Compute haze glow -    float haze_glow = 1.0 - dot(rel_pos_norm, lightnorm.xyz); -    // haze_glow is 0 at the sun and increases away from sun -    haze_glow = max(haze_glow, .001); -		// Set a minimum "angle" (smaller glow.y allows tighter, brighter hotspot) -    haze_glow *= glow.x; -		// Higher glow.x gives dimmer glow (because next step is 1 / "angle") -    haze_glow = pow(haze_glow, glow.z); -		// glow.z should be negative, so we're doing a sort of (1 / "angle") function - -    haze_glow *= sun_moon_glow_factor; - -	// Add "minimum anti-solar illumination" -    // For sun, add to glow.  For moon, remove glow entirely. SL-13768 -    haze_glow = (sun_moon_glow_factor < 1.0) ? 0.0 : (haze_glow + 0.25); - -	// Increase ambient when there are more clouds -	vec3 tmpAmbient = ambient_color; -	tmpAmbient += (1. - tmpAmbient) * cloud_shadow * 0.5;  - -	// Dim sunlight by cloud shadow percentage -	sunlight *= (1. - cloud_shadow); - -	// Haze color below cloud -    vec3 additiveColorBelowCloud = -        (blue_horizon * blue_weight * (sunlight + tmpAmbient) + (haze_horizon * haze_weight) * (sunlight * haze_glow + tmpAmbient)); - -	// CLOUDS -    sunlight = sunlight_color;  // SL-14707 reset color -- Clouds are unusually dim in EEP -    off_axis = 1.0 / max(1e-6, lightnorm.y * 2.); -    sunlight *= exp(-light_atten * off_axis); - -	// Cloud color out -    vary_CloudColorSun     = (sunlight * haze_glow) * cloud_color; -	vary_CloudColorAmbient = tmpAmbient * cloud_color; -	 -	// Attenuate cloud color by atmosphere -    combined_haze = sqrt(combined_haze);  // less atmos opacity (more transparency) below clouds -    vary_CloudColorSun *= combined_haze; -    vary_CloudColorAmbient *= combined_haze; -    vec3 oHazeColorBelowCloud = additiveColorBelowCloud * (1. - combined_haze); - -	// Make a nice cloud density based on the cloud_shadow value that was passed in. -	vary_CloudDensity = 2. * (cloud_shadow - 0.25); - -	// Combine these to minimize register use -	vary_CloudColorAmbient += oHazeColorBelowCloud; - -	// needs this to compile on mac -	//vary_AtmosAttenuation = vec3(0.0,0.0,0.0); - -	// END CLOUDS -} diff --git a/indra/newview/app_settings/shaders/class2/windlight/skyF.glsl b/indra/newview/app_settings/shaders/class2/windlight/skyF.glsl deleted file mode 100644 index 7a229e0f5e..0000000000 --- a/indra/newview/app_settings/shaders/class2/windlight/skyF.glsl +++ /dev/null @@ -1,55 +0,0 @@ -/**  - * @file class2/windlight/skyF.glsl - * - * $LicenseInfo:firstyear=2005&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2005, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ -  -#ifdef DEFINE_GL_FRAGCOLOR -out vec4 frag_color; -#else -#define frag_color gl_FragColor -#endif - -///////////////////////////////////////////////////////////////////////// -// The fragment shader for the sky -///////////////////////////////////////////////////////////////////////// - -VARYING vec3 vary_HazeColor; - -/// Soft clips the light with a gamma correction -vec3 scaleSoftClip(vec3 light); - -void main() -{ -	// Potential Fill-rate optimization.  Add cloud calculation  -	// back in and output alpha of 0 (so that alpha culling kills  -	// the fragment) if the sky wouldn't show up because the clouds  -	// are fully opaque. - -	vec3 color; -	color = vary_HazeColor; -	color.rgb *= 2.; -	/// Gamma correct for WL (soft clip effect). -	frag_color.rgb = scaleSoftClip(color.rgb); -	frag_color.a = 1.0; -} - diff --git a/indra/newview/app_settings/shaders/class2/windlight/skyV.glsl b/indra/newview/app_settings/shaders/class2/windlight/skyV.glsl deleted file mode 100644 index 8f7726bb0b..0000000000 --- a/indra/newview/app_settings/shaders/class2/windlight/skyV.glsl +++ /dev/null @@ -1,147 +0,0 @@ -/** - * @file class2\wl\skyV.glsl - * - * $LicenseInfo:firstyear=2005&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2005, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -uniform mat4 modelview_projection_matrix; - -ATTRIBUTE vec3 position; - -// SKY //////////////////////////////////////////////////////////////////////// -// The vertex shader for creating the atmospheric sky -/////////////////////////////////////////////////////////////////////////////// - -// Output parameters -VARYING vec3 vary_HazeColor; - -// Inputs -uniform vec3 camPosLocal; - -uniform vec3  lightnorm; -uniform vec3  sunlight_color; -uniform vec3  moonlight_color; -uniform int   sun_up_factor; -uniform vec3  ambient_color; -uniform vec3  blue_horizon; -uniform vec3  blue_density; -uniform float haze_horizon; -uniform float haze_density; - -uniform float cloud_shadow; -uniform float density_multiplier; -uniform float distance_multiplier; -uniform float max_y; - -uniform vec3  glow; -uniform float sun_moon_glow_factor; - -void main() -{ -    // World / view / projection -    vec4 pos = modelview_projection_matrix * vec4(position.xyz, 1.0); - -    gl_Position = pos; - -    // Get relative position -    vec3 rel_pos = position.xyz - camPosLocal.xyz + vec3(0, 50, 0); - -    // Adj position vector to clamp altitude -    if (rel_pos.y > 0.) -    { -        rel_pos *= (max_y / rel_pos.y); -    } -    if (rel_pos.y < 0.) -    { -        rel_pos *= (-32000. / rel_pos.y); -    } - -    // Can normalize then -    vec3 rel_pos_norm = normalize(rel_pos); - -    float rel_pos_len = length(rel_pos); - -    // Initialize temp variables -    vec3 sunlight = (sun_up_factor == 1) ? sunlight_color : moonlight_color; -    vec3 light_atten; - -    // Sunlight attenuation effect (hue and brightness) due to atmosphere -    // this is used later for sunlight modulation at various altitudes -    light_atten = (blue_density + vec3(haze_density * 0.25)) * (density_multiplier * max_y); - -    // Calculate relative weights -    vec3 combined_haze = abs(blue_density) + vec3(abs(haze_density)); -    vec3 blue_weight   = blue_density / combined_haze; -    vec3 haze_weight   = haze_density / combined_haze; - -    // Compute sunlight from rel_pos & lightnorm (for long rays like sky) -    float off_axis = 1.0 / max(1e-6, max(0., rel_pos_norm.y) + lightnorm.y); -    sunlight *= exp(-light_atten * off_axis); - -    // Distance -    float density_dist = rel_pos_len * density_multiplier; - -    // Transparency (-> combined_haze) -    // ATI Bugfix -- can't store combined_haze*density_dist in a variable because the ati -    // compiler gets confused. -    combined_haze = exp(-combined_haze * density_dist); - -    // Compute haze glow -    float haze_glow = 1.0 - dot(rel_pos_norm, lightnorm.xyz); -    // haze_glow is 0 at the sun and increases away from sun -    haze_glow = max(haze_glow, .001); -    // Set a minimum "angle" (smaller glow.y allows tighter, brighter hotspot) -    haze_glow *= glow.x; -    // Higher glow.x gives dimmer glow (because next step is 1 / "angle") -    haze_glow = pow(haze_glow, glow.z); -    // glow.z should be negative, so we're doing a sort of (1 / "angle") function - -    // Add "minimum anti-solar illumination" -    // For sun, add to glow.  For moon, remove glow entirely. SL-13768 -    haze_glow = (sun_moon_glow_factor < 1.0) ? 0.0 : (haze_glow + 0.25); - -    vec3 color = -        (blue_horizon * blue_weight * (sunlight + ambient_color) + (haze_horizon * haze_weight) * (sunlight * haze_glow + ambient_color)); - -    // Final atmosphere additive -    color *= (1. - combined_haze); - -    // Increase ambient when there are more clouds -    vec3 tmpAmbient = ambient_color; -    tmpAmbient += max(vec3(0), (1. - ambient_color)) * cloud_shadow * 0.5; - -    // Dim sunlight by cloud shadow percentage -    sunlight *= max(0.0, (1. - cloud_shadow)); - -    // Haze color below cloud -    vec3 additiveColorBelowCloud = -        (blue_horizon * blue_weight * (sunlight + tmpAmbient) + (haze_horizon * haze_weight) * (sunlight * haze_glow + tmpAmbient)); - -    // Attenuate cloud color by atmosphere -    combined_haze = sqrt(combined_haze);  // less atmos opacity (more transparency) below clouds - -    // At horizon, blend high altitude sky color towards the darker color below the clouds -    color += (additiveColorBelowCloud - color) * (1. - sqrt(combined_haze)); - -    // Haze color above cloud -    vary_HazeColor = color; -} | 
