njInitTextureBuffer
テクスチャのワークとして必要なメモリを指定します。

書 式

#include <Ninja.h>
void   njInitTextureBuffer(addr,size);
Sint8* addr
Uint32 size

引 数

*addr
ワークバッファの先頭ポインタ
size
ワークバッファのサイズ

返 値

なし

エラー

なし

機 能

ファイルからテクスチャをロードするときのワークとして
2048バイト以上2048バイト単位のバッファを指定します。
バッファが32バイトアラインメントの場合、DMAを使用します。
テクスチャのバッファを使用する関数は以下の通りです。

njLoadTexture
njLoadTextureNum
njReLoadTextureNum
njReLoadTextureNumG

ここで指定したメモリは関数終了後開放してもかまいません。
大きなサイズを指定した方がGDからのロード回数が減るので速くなります。
詳しくは、テクスチャガイド4.3章をご覧ください。


用 例

NJS_TEXNAME texname[2]; 
NJS_TEXLIST texlist ={texname,2};

/* 2つ分のテクスチャを読み込む準備をする */
NJS_TEXMEMLIST texmemlist[2];
Sint8 *texbuf;

njInitTexture(texmemlist,2);

/* 4096バイトのバッファを指定する */
texbuf = syMalloc(4096);

njInitTextureBuffer(texbuf,4096);

/* 2枚のテクスチャを設定する */
njSetTextureName(&texname[0],"file1.pvr",0,NJD_TEXATTR_TYPE_FILE|
              NJD_TEXATTR_GLOBALINDEX);
njSetTextureName(&texname[1],"file2.pvr",1,NJD_TEXATTR_TYPE_FILE|
              NJD_TEXATTR_GLOBALINDEX);

/* テクスチャをロードする */
njLoadTexture(&texlist);
/* ロードが終わったら開放してもかまわない */
syFree(texbuf);

備 考


関 連


njInitTextureBuffer

Copyright SEGA ENTERPRISES, LTD., 1998