summaryrefslogtreecommitdiff
path: root/indra/newview/app_settings/shaders/class1/objects/shinyV.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/objects/shinyV.glsl')
-rw-r--r--indra/newview/app_settings/shaders/class1/objects/shinyV.glsl27
1 files changed, 27 insertions, 0 deletions
diff --git a/indra/newview/app_settings/shaders/class1/objects/shinyV.glsl b/indra/newview/app_settings/shaders/class1/objects/shinyV.glsl
new file mode 100644
index 0000000000..621ff6b5b7
--- /dev/null
+++ b/indra/newview/app_settings/shaders/class1/objects/shinyV.glsl
@@ -0,0 +1,27 @@
+void default_scatter(vec3 viewVec, vec3 lightDir);
+
+uniform vec4 origin;
+
+void main()
+{
+ //transform vertex
+ gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
+
+ vec3 pos = (gl_ModelViewMatrix * gl_Vertex).xyz;
+ vec3 norm = normalize(gl_NormalMatrix * gl_Normal);
+
+ gl_FrontColor = gl_Color;
+
+ vec3 ref = reflect(pos, norm);
+
+ vec3 d = pos - origin.xyz;
+ float dist = dot(normalize(d), ref);
+ vec3 e = d + (ref * max(origin.w-dist, 0.0));
+
+ ref = e - origin.xyz;
+
+ gl_TexCoord[0] = gl_TextureMatrix[0]*vec4(ref,1.0);
+
+ default_scatter(pos.xyz, gl_LightSource[0].position.xyz);
+}
+