Metode IDirect3DDevice9::UpdateSurface (d3d9.h)
Menyalin subset piksel persegi panjang dari satu permukaan ke permukaan lainnya.
Sintaks
HRESULT UpdateSurface(
[in] IDirect3DSurface9 *pSourceSurface,
[in] const RECT *pSourceRect,
[in] IDirect3DSurface9 *pDestinationSurface,
[in] const POINT *pDestPoint
);
Parameter
[in] pSourceSurface
Jenis: IDirect3DSurface9*
Pointer ke antarmuka IDirect3DSurface9 , mewakili permukaan sumber. Parameter ini harus menunjuk ke permukaan yang berbeda dari pDestinationSurface.
[in] pSourceRect
Jenis: const RECT*
Penunjuk ke persegi panjang pada permukaan sumber. Menentukan NULL untuk parameter ini menyebabkan seluruh permukaan disalin.
[in] pDestinationSurface
Jenis: IDirect3DSurface9*
Penunjuk ke antarmuka IDirect3DSurface9 , yang mewakili permukaan tujuan.
[in] pDestPoint
Jenis: const POINT*
Arahkan kursor ke sudut kiri atas persegi tujuan. Menentukan NULL untuk parameter ini menyebabkan seluruh permukaan disalin.
Nilai kembali
Jenis: HRESULT
Jika metode berhasil, nilai yang dikembalikan D3D_OK. Jika metode gagal, nilai yang dikembalikan bisa menjadi salah satu dari yang berikut: D3DERR_INVALIDCALL.
Keterangan
Metode ini mirip dengan CopyRects di DirectX 8.
Fungsi ini memiliki batasan berikut.
- Permukaan sumber harus dibuat dengan D3DPOOL_SYSTEMMEM.
- Permukaan tujuan harus dibuat dengan D3DPOOL_DEFAULT.
- Tidak ada permukaan yang dapat dikunci atau memegang konteks perangkat yang luar biasa.
- Tidak ada permukaan yang dapat dibuat dengan multisampling. Satu-satunya bendera yang valid untuk kedua permukaan adalah D3DMULTISAMPLE_NONE.
- Format permukaan tidak boleh berupa format stensil kedalaman.
- Sumber dan dest rects harus pas di dalam permukaan.
- Tidak ada peregangan atau penyusutan yang diizinkan (rekam harus berukuran sama).
- Format sumber harus cocok dengan format tujuan.
Format dest | |||||
---|---|---|---|---|---|
Tekstur | Tekstur RT | RT | Polos di luar layar | ||
Format Src | Tekstur | Ya | Ya | Ya* | Ya |
Tekstur RT | Tidak | Tidak | Tidak | Tidak | |
RT | Tidak | Tidak | Tidak | Tidak | |
Polos di luar layar | Ya | Ya | Ya | Ya |
- Jika driver tidak mendukung salinan yang diminta, driver akan ditiru menggunakan kunci dan salin.
Jika aplikasi perlu menyalin data dari target render D3DPOOL_DEFAULT ke permukaan D3DPOOL_SYSTEMMEM, aplikasi dapat menggunakan GetRenderTargetData.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | d3d9.h (termasuk D3D9.h) |
Pustaka | D3D9.lib |