Bagikan melalui


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.
Tabel berikut ini memperlihatkan kombinasi yang didukung.
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

Lihat juga

IDirect3DDevice9