files/en-us/web/api/xrframe/fillposes/index.md
{{APIRef("WebXR Device API")}}{{SeeCompatTable}}{{SecureContext_Header}}
The fillPoses() method of the {{domxref("XRFrame")}} interface populates a {{jsxref("Float32Array")}} with the matrices of the poses relative to a given base space and returns true if successful for all spaces.
fillPoses(spaces, baseSpace, transforms)
spaces
baseSpace
transforms
baseSpace.A boolean indicating if all of the spaces have a valid pose.
spaces multiplied by 16 is larger than the number of elements in transforms.To efficiently get all poses for all 25 joints of each {{domxref("XRHand")}}, you can use the fillPoses() method.
let poses1 = new Float32Array(16 * 25);
let poses2 = new Float32Array(16 * 25);
function onXRFrame(xrFrame, renderer) {
let hand1 = xrFrame.session.inputSources[0].hand;
xrFrame.fillPoses(hand1.values(), renderer.referenceSpace, poses1);
let hand2 = xrFrame.session.inputSources[1].hand;
xrFrame.fillPoses(hand2.values(), renderer.referenceSpace, poses2);
}
{{Specifications}}
{{Compat}}