Menyalin ke Permukaan (Direct3D 9)

Saat menggunakan IDirect3DDevice9::UpdateSurface, lewati persegi panjang pada permukaan sumber, atau gunakan NULL untuk menentukan seluruh permukaan. Anda juga meneruskan titik pada permukaan tujuan tempat posisi kiri atas persegi panjang pada gambar sumber disalin. Metode ini tidak mendukung kliping. Operasi akan gagal kecuali persegi panjang sumber dan persegi panjang tujuan yang sesuai sepenuhnya terkandung dalam permukaan sumber dan tujuan masing-masing. Metode ini tidak mendukung penpaduan alfa, kunci warna, atau konversi format. Perhatikan bahwa permukaan tujuan dan sumber harus berbeda.

Untuk pembatasan lain saat menggunakan UpdateSurface, lihat IDirect3DDevice9::UpdateSurface.

Metode berikut juga tersedia di C++/C untuk menyalin gambar ke permukaan Direct3D.

Contoh UpdateSurface

Contoh berikut menyalin dua persegi panjang dari permukaan sumber ke permukaan tujuan. Persegi panjang pertama disalin dari (0, 0, 50, 50) pada permukaan sumber ke lokasi yang sama pada permukaan tujuan, dan persegi panjang kedua disalin dari (50, 50, 100, 100) pada permukaan sumber ke (150, 150, 200, 200) pada permukaan tujuan.

//The following assumptions are made:
// -d3dDevice is a valid Direct3DDevice9 object.
// -pSource and pDest are valid IDirect3DSurface9 pointers.

RECT  rcSource[] = {  0,  0,  50,  50,
                     50, 50, 100, 100 };
POINT ptDest[]   = {  0,  0, 150, 150 };

d3dDevice->UpdateSurface( pSource, rcSource, 2, pDest, ptDest);

Permukaan Direct3D

IDirect3DDevice9::StretchRect