PageRenderTime 5ms CodeModel.GetById 1ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl

https://bitbucket.org/lindenlab/viewer-beta/
Unknown | 43 lines | 37 code | 6 blank | 0 comment | 0 complexity | ce9244f031841d517b3ee19e70e8c8cb MD5 | raw file
 1/** 
 2 * @file avatarSkinV.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
27ATTRIBUTE vec4 weight;
28
29uniform vec4 matrixPalette[45];
30
31mat4 getSkinnedTransform()
32{
33	mat4 ret;
34	int i = int(floor(weight.x));
35	float x = fract(weight.x);
36		
37	ret[0] = mix(matrixPalette[i+0], matrixPalette[i+1], x);
38	ret[1] = mix(matrixPalette[i+15],matrixPalette[i+16], x);
39	ret[2] = mix(matrixPalette[i+30],matrixPalette[i+31], x);
40	ret[3] = vec4(0,0,0,1);
41
42	return ret;
43}