PageRenderTime 41ms CodeModel.GetById 20ms app.highlight 1ms RepoModel.GetById 19ms app.codeStats 1ms

/indra/newview/app_settings/shaders/class2/objects/shinyV.glsl

https://bitbucket.org/lindenlab/viewer-beta/
text | 55 lines | 43 code | 12 blank | 0 comment | 0 complexity | f8eb07f9c996b81df8b5782c5cf976e0 MD5 | raw file
 1/**
 2 * @file shinyV.glsl
 3 *
 4 * $LicenseInfo:firstyear=2007&license=viewerlgpl$
 5 * Second Life Viewer Source Code
 6 * Copyright (C) 2007, Linden Research, Inc.
 7 * 
 8 * This library is free software; you can redistribute it and/or
 9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation;
11 * version 2.1 of the License only.
12 * 
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16 * Lesser General Public License for more details.
17 * 
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
21 * 
22 * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
23 * $/LicenseInfo$
24 */
25 
26
27
28vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseCol);
29
30void calcAtmospherics(vec3 inPositionEye);
31
32varying float vary_texture_index;
33
34uniform vec4 origin;
35
36void main()
37{
38	//transform vertex
39	vec4 vert = vec4(gl_Vertex.xyz,1.0);
40	vary_texture_index = gl_Vertex.w;
41	gl_Position = gl_ModelViewProjectionMatrix*vert;
42	
43	vec4 pos = (gl_ModelViewMatrix * vert);
44	vec3 norm = normalize(gl_NormalMatrix * gl_Normal);
45	vec3 ref = reflect(pos.xyz, -norm);
46
47	gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
48	gl_TexCoord[1] = gl_TextureMatrix[1]*vec4(ref,1.0);
49
50	calcAtmospherics(pos.xyz);
51
52	gl_FrontColor = calcLighting(pos.xyz, norm, gl_Color, vec4(0.0));
53
54	gl_FogFragCoord = pos.z;
55}