# NNS_G3dRenderObjSetJntAnmBuffer

## C Specification

      #include <nnsys/g3d/kernel.h>

      void
      NNS_G3dRenderObjSetJntAnmBuffer(
      NNSG3dRenderObj* pRenderObj,
      struct NNSG3dJntAnmResult_* buf
      );

## Arguments

pRenderObj | Pointer to the `NNSG3dRenderObj` structure
`buf` | Pointer to the record buffer for the joint animation

## Return Values

None.

## Description

Registers the record buffer for storing and playing the calculation results of the joint animation in the rendering object. The record buffer must have a region of `NNS_G3D_RENDEROBJ_JNTBUFFER_SIZE`(`pRenderObj->resMdl->info.numNode`) bytes or greater.

This record buffer is for saving the calculation results of the SRT information of each node of the drawn model. This information is not usually saved. However, by using the `NNS_G3dRenderObjSetJntAnmBuffer` function to attach the record buffer, you can save data to the record buffer and play animation from the record buffer. When saving data to the record buffer, run the `NNS_G3dDraw` function after setting the `NNS_G3D_RENDEROBJ` flag using the `NNS_G3dRenderObjSetFlag` function. When playing data registered in the record buffer, run the `NNS_G3dDraw` function after resetting the `NNS_G3D_RENDEROBJ_FLAG_RECORD` flag.

The following examples show how to use this function:

- Omit the joint calculation of the model to which the joint animation is not applied.
- Execute the motion LOD (omit the animation of the object in the distance).
- Record all frames of the animation in the buffer to reduce the time needed to calculate the joint animation.
- Omit the calculation of the second and subsequent models when making several identical models in the same posture.

## See Also

`NNS_G3dRenderObjReleaseJntAnmBuffer`, `NNS_G3dRenderObjSetMatAnmBuffer`

## Revision History

10/15/2004 Revised description.
09/16/2004 Added usage examples.
08/02/2004 Initial version.