KMSTATUS kmuCreateTwiddledTextureEx( pOutputTexture, pInputTexture, bAutoMipMap, bDither, USize, VSize, nTextureType, pWorkarea )
PKMDWORD pOutputTexture
PKMDWORD pInputTexture
KMBOOLEAN bAutoMipMap
KMBOOLEAN bDither
KMINT32 USize
KMINT32 VSize
KMTEXTURETYPE nTextureType
PKMDWORD pWorkarea
pOutputTexture (出力)変換後のテクスチャデータを書き込むメインメモリ上のアドレス pInputTexture (入力)KM_TEXTURE_BMP形式の入力テクスチャを示すポインタ bAutoMipMap (入力)自動的にMIPMAPを生成するかどうかのフラグ bDither (入力)ディザをかけるかどうかのフラグ USize (入力)テクスチャの幅 VSize (入力)テクスチャの高さ nTextureType (入力)変換後のテクスチャのピクセルフォーマット pWorkarea (入力)入力データと同じサイズのワークエリアの先頭アドレス
KMSTATUS_SUCCESS 成功 KMSTATUS_INVALID_TEXTURE_TYPE 無効なテクスチャタイプを指定した KMSTATUS_INVALID_ADDRESS 横長のテクスチャ変換時、pWorkareaがNULLである。
メインメモリ上のKM_TEXTURE_BMP形式(ABGR8888)のテクスチャを、Twiddled / Twiddled Mipmap 形式のテクスチャに変換します。引数pOutputTextureは、変換後のテクスチャデータを書き込むメインメモリ上のアドレスです。
引数pInputTextureは、KM_TEXTURE_BMP形式の入力テクスチャを示すポインタです。
引数bAutoMipMapは、自動的にMIPMAPを生成するかどうかを指定します。
TRUEを指定した場合には自動的にMIPMAPを生成します(出力はKM_TEXTURE_TWIDDLED_MM形式になります)。 FALSEを指定した場合にはMIPMAP生成は行いません(出力はKM_TEXTURE_TWIDDLED形式になります)。 引数USize、VSizeに異なった値を指定するとミップマップは生成されません。 その場合このフラグは無視されます。
引数bDitherは、ディザをかけるかどうかを指定します。TRUEを指定した場合はディザをかけます。
引数USizeとVSizeには、テクスチャの幅、高さをテクセル数で指定します。下記の中のいずれかを指定します。
定義 意味 KM_MAPSIZE_8 8x8 テクセル KM_MAPSIZE_16 16x16 テクセル KM_MAPSIZE_32 32x32 テクセル KM_MAPSIZE_64 64x64 テクセル KM_MAPSIZE_128 128x128 テクセル KM_MAPSIZE_256 256x256 テクセル KM_MAPSIZE_512 512x512 テクセル KM_MAPSIZE_1024 1024x1024 テクセル
引数USizeとVSizeに異なった値を指定すると、Twiddled-Rectangle形式のテクスチャを生成します。 なお、この場合はミップマップは生成されません。引数bAutoMipMapフラグは無視されます。
引数nTextureTypeは、変換後のテクスチャのピクセルフォーマットを指定します。 下記の中のいずれかを指定します。
定義 意味 KM_TEXTURE_ARGB1555 ARGB-1555形式 KM_TEXTURE_RGB565 RGB-565形式 KM_TEXTURE_ARGB4444 ARGB-4444形式
引数pWorkareaは、入力データと同じサイズのワークエリアを準備し、その先頭アドレスを指定します。 横長のテクスチャをTwiddled-Rectangle形式に変換する場合に必要です。 その他の場合にはワークエリアは必要ありません。その場合にはNULLを指定してください。
ミップマップ、ディザの指定を行ったときは、入力テクスチャデータの内容は失われます。