Sha256: 8bb7e1f43911f45e317b82398122473f0f81fe43a00889967d109db3659d56ac

Contents?: true

Size: 723 Bytes

Versions: 5

Compression:

Stored size: 723 Bytes

Contents

#version 120

mat2x4 blendTwoWeightsAntipod(vec4 blendWgt, vec4 blendIdx, vec4 dualQuaternions[48]);
vec3 calculateBlendPosition(vec3 position, mat2x4 blendDQ);

uniform vec4 worldDualQuaternion2x4Array[48];
uniform mat4x4 viewProjectionMatrix;
uniform vec4   ambient;

attribute vec4 vertex;
attribute vec4 blendIndices;
attribute vec4 blendWeights;

//Shadow caster pass
void main()
{
	mat2x4 blendDQ = blendTwoWeightsAntipod(blendWeights, blendIndices, worldDualQuaternion2x4Array);

	float len = length(blendDQ[0]);
	blendDQ /= len;

	vec3 blendPosition = calculateBlendPosition(vertex.xyz, blendDQ);

	// view / projection
	gl_Position = viewProjectionMatrix * vec4(blendPosition, 1.0);
	
	gl_FrontColor = ambient;
}

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ruby-ogre-0.0.5-x86-linux deps/share/OGRE/media/RTShaderLib/materials/DualQuaternionSkinning_ShadowTwoWeights.glsl
ruby-ogre-0.0.4-x86-linux deps/share/OGRE/media/RTShaderLib/materials/DualQuaternionSkinning_ShadowTwoWeights.glsl
ruby-ogre-0.0.3-x86-linux deps/share/OGRE/media/RTShaderLib/materials/DualQuaternionSkinning_ShadowTwoWeights.glsl
ruby-ogre-0.0.2-x86-linux deps/share/OGRE/media/RTShaderLib/materials/DualQuaternionSkinning_ShadowTwoWeights.glsl
ruby-ogre-0.0.1-x86-linux deps/share/OGRE/media/RTShaderLib/materials/DualQuaternionSkinning_ShadowTwoWeights.glsl