Subversion Repositories AndroidProjects

Rev

Rev 1781 | Rev 1783 | 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()
{
        mat4 mat = uBoneMatrices[int(aBlendIndex.x)] * aBlendWeight.x;
        mat = mat + (uBoneMatrices[int(aBlendIndex.y)] * aBlendWeight.y);
        mat = mat + (uBoneMatrices[int(aBlendIndex.z)] * aBlendWeight.z);
        mat = mat + (uBoneMatrices[int(aBlendIndex.w)] * aBlendWeight.w);
        
        vec4 position = mat * aPosition;
        vec3 normal = mat3(mat) * aNormal;

        gl_Position = uMVPMatrix * position;
        vNormal = uNormalMatrix * normal;
        
        vTexCoord = aTexCoord0;
}