Ninjaライブラリ - テクスチャ構造体

NJS_TEXNAME

テクスチャの名称を設定

定義

typedef struct {
        void    *filename;
        Uint32  attr;
        Uint32  texaddr;                
} NJS_TEXNAME;

メンバ

*filenameファイル名
attrアトリビュート
texaddrテクスチャアドレス

解説

登録するテクスチャのファイル名、アトリビュート、グローバルインデックスを設定する構造体です。

メンバ *filenameは、ファイルテクスチャの場合ファイル名が入りますが、メモリテクスチャの場合 NJS_TEXINFO構造体のアドレスが入ります。

アトリビュートを示すメンバ attr の各ビットは次の意味を持ちます。

310:キャッシュテクスチャ非登録/1:キャッシュテクスチャ登録
300:ファイルからテクスチャロード/1:メモリからテクスチャロード
290:テクスチャメモリのみ登録/1:キャッシュ、テクスチャメモリの両方に登録
28〜25予約領域
241:パレットグローバルインデックスフラグ
231:グローバルインデックスフラグ
22〜21予約領域
16テクスチャコンティニューフラグ
15〜0PVMエントリID保存に使用

具体的には次のようになります。

・テクスチャメモリにのみロードする場合は31,29ビットを0にする。
・キャッシュメモリにのみロードする場合は31ビットを1にする。
・キャッシュ、テクスチャメモリの両方にロードする場合には 29ビットを1にする。

メンバ texaddrは、テクスチャロード時にテクスチャアトリビュートにグローバルインデックスフラグ、 又はパレットグローバルインデックスフラグを指定する場合、 グローバルインデックス値、パレットバンク値が入ります。 通常、njSetTextureName()関数でセットされます。

テクスチャロード後はNJS_TEXMEMLIST構造体へのアドレスが設定されます。 グローバルインデックスフラグ、パレットグローバルインデックス使用時に、 テクスチャリリース後にもう一度テクスチャをロードするような場合は、 グローバルインデックス値を再度設定する必要があります。


参照

njCalcTexture()
njDrawTexture()
njDrawTextureMemList()
njExitTexture()
njInitCacheTextureBuffer()
njInitTexture()
njInitTextureBuffer()
njLoadCacheTexture()
njLoadCacheTextureNum()
njLoadCacheTextureNumG()
njLoadTexture()
njLoadTextureNum()
njLoadTexturePvmFile()
njLoadTexturePvmMemory()
njReleaseCacheTextureAll()
njReleaseCacheTextureNum()
njReleaseCacheTextureNumG()
njReleaseTexture()
njReleaseTextureAll()
njReleaseTextureNum()
njReleaseTextureNumG()
njSetPvmTextureList()
njSetTexture()
njSetTextureInfo()
njSetTextureName()
njSetTextureNum()
njSetTextureNumG()

NJS_TEXNAME
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998