/indra/newview/app_settings/shaders/class1/objects/simpleV.glsl
Unknown | 64 lines | 50 code | 14 blank | 0 comment | 0 complexity | b284c713c9525c4b37a00eb0b5d625ec MD5 | raw file
Possible License(s): LGPL-2.1
1/** 2 * @file simpleV.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 26uniform mat3 normal_matrix; 27uniform mat4 texture_matrix0; 28uniform mat4 modelview_matrix; 29uniform mat4 modelview_projection_matrix; 30 31ATTRIBUTE vec3 position; 32void passTextureIndex(); 33ATTRIBUTE vec2 texcoord0; 34ATTRIBUTE vec3 normal; 35ATTRIBUTE vec4 diffuse_color; 36 37vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseCol); 38void calcAtmospherics(vec3 inPositionEye); 39 40 41VARYING vec4 vertex_color; 42VARYING vec2 vary_texcoord0; 43 44 45void main() 46{ 47 //transform vertex 48 vec4 vert = vec4(position.xyz,1.0); 49 passTextureIndex(); 50 vec4 pos = (modelview_matrix * vert); 51 gl_Position = modelview_projection_matrix*vec4(position.xyz, 1.0); 52 vary_texcoord0 = (texture_matrix0 * vec4(texcoord0, 0, 1)).xy; 53 54 55 56 vec3 norm = normalize(normal_matrix * normal); 57 58 calcAtmospherics(pos.xyz); 59 60 vec4 color = calcLighting(pos.xyz, norm, diffuse_color, vec4(0.)); 61 vertex_color = color; 62 63 64}