njSetVertexBuffer
バーテックスバッファ領域をユーザー指定します。

書 式

#include <Ninja.h>
void     njSetVertexBuffer(buffer,size)
Uint32   *buffer
Sint32   size

引 数

buffer
バーテックスバッファ領域のポインタ
size
バーテックスバッファ領域のサイズ

返 値

なし

エラー

なし

機 能

バーテックスバッファ領域をユーザー指定します。ここで指定した領域から
njInitVertexBufer関数がバーテックスバッファ領域を設定します。

この関数を使用する場合、アプリケーションがすべて終了するまでユーザー設定を
使用することになります。また、途中からユーザー指定領域を設定することも
出来ません。

モードチェンジによりバーテックスバッファのサイズが変更される場合は、
njIniteVertexBuffer関数
の実行前にnjSetVertexBuffer関数を実行しくてださい。

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バイト


用 例

通常の場合の初期化順序

sbInitSystem(NJD_RESOLUTION_VGA, NJD_FRAMEBUFFER_MODE_RGB565, 1);

njSetVertexBuffer(buffer,size);
njInitVertexBuffer( -100000, 0, 50000, 0 ,0);

モードを変更する場合の初期化順序

njChangeSystem(NJD_RESOLUTION_640x480_NTSCNI, NJD_FRAMEBUFFER_MODE_RGB565, 1);

njSetVertexBuffer(buffer,size);
njInitVertexBuffer( -100000, 0, 50000, 0 ,0);

備 考


関 連

njInitVertexBuffer

njSetVertexBuffer

Copyright SEGA ENTERPRISES, LTD., 1998