Subversion Repositories AndroidProjects

Rev

Rev 1797 | Rev 1815 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

#version 120

uniform mat4 uMVPMatrix;
uniform mat3 uNormalMatrix;

uniform mat4 uBoneMatrices[16];

attribute vec4 aPosition;
attribute vec3 aNormal;
attribute vec2 aTexCoord0;
attribute vec4 aBlendIndex;
attribute vec4 aBlendWeight;

varying vec2 vTexCoord;
varying vec3 vNormal;

void main()
{
        vec4 position = vec4(0.0);
        
        position = position + (uBoneMatrices[int(aBlendIndex.x)] * aPosition) * aBlendWeight.x; 
        position = position + (uBoneMatrices[int(aBlendIndex.y)] * aPosition) * aBlendWeight.y;
        position = position + (uBoneMatrices[int(aBlendIndex.z)] * aPosition) * aBlendWeight.z;
        position = position + (uBoneMatrices[int(aBlendIndex.w)] * aPosition) * aBlendWeight.w;
        
        gl_Position = uMVPMatrix * position;
        vNormal = uNormalMatrix * aNormal;
        
        vTexCoord = aTexCoord0;
}