playcanvas
Version:
PlayCanvas WebGL game engine
3 lines (2 loc) • 805 B
TypeScript
declare const _default: "\nattribute vertex_boneIndices: f32;\n\nvar texture_poseMap: texture_2d<f32>;\n\nfn getBoneMatrix(indexFloat: f32) -> mat4x4f {\n\n let width = i32(textureDimensions(texture_poseMap).x);\n let index: i32 = i32(indexFloat + 0.5) * 3;\n let iy: i32 = index / width;\n let ix: i32 = index % width;\n\n // read elements of 4x3 matrix\n let v1: vec4f = textureLoad(texture_poseMap, vec2i(ix + 0, iy), 0);\n let v2: vec4f = textureLoad(texture_poseMap, vec2i(ix + 1, iy), 0);\n let v3: vec4f = textureLoad(texture_poseMap, vec2i(ix + 2, iy), 0);\n\n // transpose to 4x4 matrix\n return mat4x4f(\n v1.x, v2.x, v3.x, 0,\n v1.y, v2.y, v3.y, 0,\n v1.z, v2.z, v3.z, 0,\n v1.w, v2.w, v3.w, 1.0\n );\n}\n";
export default _default;