●関数●
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
テクスチャとオフスクリーンサーフェイスからなら、レンダーターゲットにもレンダーターゲットテクスチャにも転送が可能。
トップへ
前へ 次へ