playcanvas
Version:
PlayCanvas WebGL game engine
22 lines (20 loc) • 663 B
JavaScript
var skinBatchVS = `
attribute vertex_boneIndices: f32;
var texture_poseMap: texture_2d<f32>;
fn getBoneMatrix(indexFloat: f32) -> mat4x4f {
let width = i32(textureDimensions(texture_poseMap).x);
let index: i32 = i32(indexFloat + 0.5) * 3;
let iy: i32 = index / width;
let ix: i32 = index % width;
let v1: vec4f = textureLoad(texture_poseMap, vec2i(ix + 0, iy), 0);
let v2: vec4f = textureLoad(texture_poseMap, vec2i(ix + 1, iy), 0);
let v3: vec4f = textureLoad(texture_poseMap, vec2i(ix + 2, iy), 0);
return mat4x4f(
v1.x, v2.x, v3.x, 0,
v1.y, v2.y, v3.y, 0,
v1.z, v2.z, v3.z, 0,
v1.w, v2.w, v3.w, 1.0
);
}
`;
export { skinBatchVS as default };