Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.
Mengembalikan nilai
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
| Target Platform | Windows |
| Header | d3d9helper.h (termasuk D3D9.h) |
| Pustaka | D3D9.lib |