njInitVertexBuffer
頂点データ登録用バッファをアロケートします。

### 書　式

      #include <Ninja.h>
      void  njInitVertexBuffer( op, om, tp, tm, pt );
      Uint32  op
      Uint32  om
      Uint32  tp
      Uint32  tm
      Uint32  pt

### 引　数

op
  不透明ポリゴン登録バッファサイズ
om
  不透明モディファイアボリューム登録バッファサイズ
tp
  半透明ポリゴン登録バッファサイズ
tm
  半透明モディファイアボリューム登録バッファサイズ
pt
  抜きテクスチャ登録バッファサイズ

### 返　値

  なし

### エラー

  なし

### 機　能

  頂点データ登録用のバッファをアロケートします。
  3Vレーテンシモードの場合、アロケートされるサイズは引数*４ バイトであり、
  これをダブルバッファで使用します。
  また、引数の1つをマイナスにすると2Vレーテンシモードになります。
  2Vレーテンシモード場合、通常のバッファはシングルバッファになり
  マイナスにしたバッファは直接ハードに転送します。
  3Vレーテンシと2Vレーテンシでの取得メモリサイズは以下のようになります。
  ・3Vの場合
  取得メモリサイズ = (op + om + tp + tm + pt)x4 + 352(内部必要領域) バイト
  ・2Vレーテンシで上と同じ設定する場合
  取得メモリサイズ = 100(マイナスを付けたバッファ) + (それ以外のバッファ)x4 + 352(内部必要領域) バイト

      例：

      ・3Vの場合
      njInitVertexBuffer( 100000, 0, 100000, 0, 0);

      op = 100000*4 バイト = 400000バイト
      tp = 100000*4 バイト = 400000バイト
      内部必要領域 = 352バイト
      合計 800352バイト

      ・2Vレーテンシで上と同じ設定する場合
      njInitVertexBuffer( -100000, 0, 50000, 0 ,0);

      op = マイナスは100バイト
      to = 50000*4 バイト = 200000バイト（シングルバッファなので半分で良い）
      内部必要領域 = 352バイト

      合計 200452バイト

### 用　例

  njInitVertexBuffer( 100000, 0, 100000, 0 , 0);

  不透明ポリゴンと、半透明ポリゴンの頂点バッファをそれぞれ４００ＫＢ確保します。

### 備　考

  デバッグ文字を表示する場合は、半透明ポリゴン登録バッファを確保してください。
  現在、抜きテクスチャ登録バッファは値を参照していません。
  この関数は、内部でメモリ確保を行っています。よって、複数回呼ばれても良い様に、
  前回確保したバッファ>を開放してから、新たに確保します。
  Nindows で表示される値はバッファサイズを２で割った値です。
  ・エラーコールバック変数
  システムのエラーの時、_nj_fatal_err_callback_変数にエラー情報が戻ります。 また、NJD_FATAL_ERR_OVERFLW_VTXBUFの時システムをストールしないように変更 しました。
  （バッファオーバーによりメモリが壊れ、動かなくなる可能性はあります）

      <Ninjadef.h>

      #define NJD_FATAL_ERR_NOQEUE_INTR               (1)
            割り込みハンドラ内からDMAを起動しようとしたがQUEUEに空きがなかった
      #define NJD_FATAL_ERR_OVERFLW_VTXBUF    (2)
            登録した頂点数がバッファをオーバーフローしていた
      #define NJD_FATAL_ERR_TOO_MANY_VTX              (3)
            NativeBufferが根本的に足りない。
           (登録ISP/TSPバッファがアロケートされたNativeBuufferより大きい)
      #define NJD_FATAL_ERR_V_NOT_RESPOND             (4)
           VSYNCウェイト内でシーケンスがまったく進まなくなっている。

### 関　連

njInitVertexBuffer |