●関数

DX9c April2006のサーフェイスに関われる関数はここに上げたので全部だと思う。
でも、サーフェイスのインターフェイスが持つメソッドは書いてない。
その辺はインターフェースのページ見たら全部かいてる


サーフェイスの作成
CreateOffscreenPlainSurface
オフスクリーン サーフェイスを作成する。


サーフェイスの取得
GetBackBuffer
バックバッファーの取得
GetCubeMapSurface
キューブテクスチャマップのサーフェイスを取得
GetFrontBufferData
フロントバッファのコピーを受け取る
サーフェイスのインターフェースではなく、データのコピー。

サーフェス間の描画(転送)
UpdateSurface(D3DPOOL_SYSTEMMEM→D3DPOOL_DEFAULT)
拡縮不可・フォーマット一致
テクスチャとオフスクリーンサーフェイスからの転送が可能。
GetRenderTargetData(POOL_DEFAULT→D3DPOOL_SYSTEMMEM)
フォーマット一致・サイズ一致・位置指定不可能
転送先はオフスクリーン プレ−ン サーフェイスまたはテクスチャレベルのみ。
転送元はレンダー ターゲットまたはレンダー ターゲット テクスチャのレベルのみ。
StretchRect(D3DPOOL_DEFAULTの利用が最適)
転送元矩形の内容を転送先矩形にコピーする。コピーにより、転送元矩形を拡大およびフィルタリングできる。
レンダーターゲット、レンダーターゲットテクスチャへの転送が可能。
単純なオフスクリーン同士の転送も可能だが、拡縮はできない。

読み込み
D3DXLoadSurfaceFromSurface
色変換を行いながら、別のサーフェイスからサーフェイスをloadする。
D3DXLoadSurfaceFromResource
リソースからサーフェイスをロード。
D3DXLoadSurfaceFromMemory
D3DXLoadSurfaceFromFile
D3DXLoadSurfaceFromFileInMemory
名前のまま。


保存
D3DXSaveSurfaceToFile
D3DXSaveSurfaceToFileInMemory
ファイルorメモリに出力。

ColorFillD3DPOOL_DEFAULTが最適
サーフェイスを指定カラーで埋める



深度ステンシルサーフェイス関係
CreateDepthStencilSurface
深度ステンシルバッファの作成
GetDepthStencilSurface
デバイスに設定されている深度ステンシルバッファを取得
SetDepthStencilSurface
デバイスに深度ステンシルサーフェイスの設定する。
StretchRect(D3DPOOL_DEFAULTの利用が最適)
同フォーマットでサイズ変更無し等の制限をまもれば、深度ステンシルバッファも転送可能。
(コピーする位のことしかできない。)



レンダーターゲット関係
CreateRenderTarget
レンダーターゲットの作成
SetRenderTarget
デバイスに新しいカラーバッファを設定する。
テクスチャに書き込みたい場合に、テクスチャのサーフェイスをRenderTargetに指定したりする。
(その場合、テクスチャの生成時にRenderTarget属性で作っておかないといけないが・・・。)
StretchRect(D3DPOOL_DEFAULTの利用が最適)
RenderTarget・RenderTargetテクスチャへの描画は自由にできる。
GetRenderTargetData(POOL_DEFAULT→D3DPOOL_SYSTEMMEM)
RenderTargetからデータを取得する場合に利用。
拡縮等はできない。
UpdateSurface
テクスチャとオフスクリーンサーフェイスからなら、レンダーターゲットにもレンダーターゲットテクスチャにも転送が可能。



トップへ
前へ 次へ