# NNS_G3dRenderObjSetJntAnmBuffer

## Syntax

      #include <nnsys/g3d/kernel.h>

      void
      NNS_G3dRenderObjSetJntAnmBuffer(
          NNSG3dRenderObj*    pRenderObj,
          NNSG3dJntAnmResult* buf
      );

## Arguments

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

## Return Values

None.

## Description

Attaches the record buffer, for storing and playing the calculation results of the joint animation, to the rendering object. The record buffer to register 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 rendered 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 animations 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 some of the ways to use this function:

- To omit the joint calculation of models to which the joint animation is not applied.
- To perform motion LOD (omit the animation of distant objects).
- To record all frames of the animation in the buffer and reduce the time needed to calculate the joint animation.
- To 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

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

CONFIDENTIAL