UNPKG

playcanvas

Version:

PlayCanvas WebGL game engine

22 lines (20 loc) 663 B
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 };