summaryrefslogtreecommitdiff
path: root/indra/newview/app_settings/shaders/class1/objects/shinyV.glsl
blob: 16fba0154b74d32a7d7e1e18d9b5971f233ff520 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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);
}