Platform SDK: DirectX |
サーフェスの作成時に DDSURFACEDESC2 構造体に圧縮したテクスチャ サーフェスを記述するには、次に示すステップを行うこと。
イメージ データを圧縮したテクスチャ サーフェスにロードするには、2 通りの方法がある。
注 : 圧縮したサーフェスで IDirectDrawSurface7::Lock または IDirectDrawSurface7::GetSurfaceDesc を呼び出す場合、DDSD_LINEARSIZE フラグが DDSURFACEDESC 構造体の dwFlags メンバに設定されており、dwLinearSize メンバに圧縮したサーフェス データを含むために割り当てられたバイト数が含まれていなくてはならない。dwLinearSize パラメータは lPitch パラメータとの共用体なので、これらのパラメータは DDSD_LINEARSIZE および DDSD_PITCH フラグのように相互に排他となる。
サーフェスの作成時に DDSURFACEDESC2 型に圧縮したテクスチャ サーフェスを記述するには、次に示すステップを行うこと。
イメージ データを圧縮したテクスチャ サーフェスにロードするには、2 通りの方法がある。
注 : 圧縮したサーフェスで DirectDrawSurface7.Lock または DirectDrawSurface7.GetSurfaceDesc を呼び出す場合、DDSD_LINEARSIZE フラグが DDSURFACEDESC2 型の lFlags メンバに設定されており、lLinearSize メンバに圧縮されたサーフェス データを含むために割り当てられたバイト数が含まれていなくてはならない。lLinearSize パラメータは lPitch パラメータとの共用体なので、これらのパラメータは DDSD_LINEARSIZE および DDSD_PITCH フラグのように相互に排他となる。
この利点は、アプリケーション自体で特定のフォーマットに対するサーフェスの特定の幅と高さに必要なストレージ容量を計算せずに、圧縮したサーフェスのコンテンツをファイルにコピーできることにある。
圧縮したテクスチャの 5 つのタイプを以下の表に示す。データが格納される方法 (各自で圧縮ルーチンを記述する場合だけに必要となる) の詳細については、「圧縮したテクスチャ フォーマット」を参照すること。
FOURCC | 説明 | アルファ値事前掛け算済み? |
---|---|---|
DXT1 | 不透明/1 ビット アルファ | n/a |
DXT2 | 明示的なアルファ | Yes |
DXT3 | 明示的なアルファ | No |
DXT4 | 補間したアルファ | Yes |
DXT5 | 補間したアルファ | No |
注 : 値事前掛け算済みではないフォーマットから値事前掛け算済みのフォーマットにブリットする場合、DirectDraw はアルファ値を基に色をスケールする。値事前掛け算済みのファーマットから値事前掛け算済みではないフォーマットへのブリットはサポートされない。値事前掛け算済みのアルファ転送元から値事前掛け算済みではないアルファ転送先へのブリットを試すと、メソッドが DDERR_INVALIDPARAMS を返す値事前掛け算済みのアルファ転送元からアルファのない転送先へブリットすると、アルファでスケールされる転送元色成分は同様にコピーされる。