Ninjaライブラリ - システム関数

njSetVertexBuffer

頂点登録用バッファ領域の指定

書式

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