# NNS_G2dGetOamManExInstance

## 構文

      #include <nnsys/g2d/g2d_OAMEｘ.h>

      BOOL NNS_G2dGetOamManExInstance(
                                      NNSG2dOamManagerInstanceEx*    pOam,
                                      NNSG2dOamChunkList*             pOamOrderingTbl,
                                      u8                              lengthOfOrderingTbl,
                                      u16                             numPooledOam,
                                      NNSG2dOamChunk*                 pPooledOam,
                                      u16                             lengthAffineBuffer,
                                      NNSG2dAffineParamProxy*         pAffineBuffer );

## 引数

pOam | [OUT] 拡張OAMマネージャ 実体
pOamOrderingTbl | [IN] オーダリングテーブルの先頭アドレス
lengthOfOrderingTbl | [IN] オーダリングテーブルの長さ(かならず１以上であること)
numPooledOam | [IN] OBJChunkの個数(かならず１以上であること)
pPooledOam | [IN] OBJChunk配列へのポインタ(かならず非NULLであり、OBJChunk分の長さがあること)
lengthAffineBuffer | [IN] アフィンパラメータバッファ配列の長さ(使用しない場合はゼロを指定)
pAffineBuffer | [IN] アフィンパラメータバッファ配列へのポインタ(使用しない場合はNULLを指定)

## 返り値

初期化に成功した場合TRUEを返します

## 説明

拡張OAMマネージャを初期化します。
オーダリングテーブルの長さがOBJ登録時に指定可能な深度の最大値となります。
オーダリングテーブルの長さが長いほど、描画時に発生するオーバーヘッドが増加する特性を持ちます。
numPooledOam がマネージャに登録可能なOBJの最大数となります。
必ず1以上の数を指定してください。
numPooledOamにはマネージャが実際に使用するOBJアトリビュートの個数より大きな数を指定することが可能です。
（その場合、マネージャは複数フレームにわけて、OBJを時分割表示します）
なお、マネージャが実際に使用するOBJアトリビュートの個数は、
`NNSG2dOamExEntryFunctions によって設定されるOBJ登録関数の返り値によって決定されます。
lengthAffineBuffer がマネージャに登録可能なアフィンパラメータの最大数となります。
アフィン変換を使用しない場合はゼロに設定し、pAffineBuffer にNULLを設定してください。
本関数はNNS_G2dGetNewOamInstanceExから改名されました。以前の関数は互換性維持のために別名として残されます。
`

## 参照

`NNS_G2dGetNewOamInstanceEx
` `NNS_G2dInitAffineManagerEx
` `NNS_G2dSetOamManExEntryFunctions
`NNSG2dOamExEntryFunctions
``

## 履歴

2005/06/06 NNSG2dOamExEntryFunctionsへのリンクを追加

2005/06/06 説明の追加

2004/08/02 関数改名の実施

2004/06/22 初版