PFND3D10DDI_SETSCISSORRECTS fungsi panggilan balik (d3d10umddi.h)

Fungsi SetScissorRects menandai bagian dari target render yang penyajian terbatas pada.

Sintaks

PFND3D10DDI_SETSCISSORRECTS Pfnd3d10ddiSetscissorrects;

void Pfnd3d10ddiSetscissorrects(
       D3D10DDI_HDEVICE unnamedParam1,
  [in] UINT NumRects,
  [in] UINT ClearRects,
       const D3D10_DDI_RECT *unnamedParam4
)
{...}

Parameter

unnamedParam1

hDevice [in]

Handel ke perangkat tampilan (konteks grafis).

[in] NumRects

Jumlah total bagian target render yang ditentukan parameter pRects .

[in] ClearRects

Jumlah bagian render-target setelah jumlah bagian target render yang ditentukan NumScissorRects untuk diatur ke NULL. Angka ini menunjukkan perbedaan antara jumlah bagian target render sebelumnya (yaitu, ketika runtime Microsoft Direct3D yang sebelumnya disebut SetScissorRects) dan jumlah baru bagian target render.

Perhatikan bahwa angka yang ditentukan ClearScissorRects hanyalah bantuan pengoptimalan karena driver tampilan mode pengguna dapat menghitung angka ini.

unnamedParam4

pRects [in]

Array struktur RECT untuk menandai bagian target render.

Menampilkan nilai

Tidak ada

Keterangan

Driver dapat menggunakan fungsi panggilan balik pfnSetErrorCb untuk mengatur kode kesalahan.

Struktur D3D10_DDI_RECT didefinisikan sebagai struktur RECT .

typedef RECT D3D10_DDI_RECT;

Driver tampilan mode pengguna harus mengatur semua bagian target render secara atomik sebagai satu operasi.

Meskipun parameter NumScissorRects menentukan jumlah bagian render-target dalam array yang ditentukan parameter pRects , beberapa nilai dalam array dapat berupa NULL.

Rentang bagian render-target antara angka yang ditentukan NumScissorRects dan jumlah maksimum bagian target render yang diizinkan diperlukan untuk memuat semua nilai NULL atau tidak terikat. Angka yang ditentukan parameter ClearScissorRects memberi tahu driver tentang berapa banyak bagian target render yang harus dibersihkan driver untuk operasi atom saat ini.

Jika panggilan sebelumnya ke SetScissorRects melewati nilai 2 dalam parameter NumScissorRects dan panggilan saat ini ke SetScissorRects meneruskan nilai 4 di NumScissorRects, panggilan saat ini ke SetScissorRects juga melewati nilai 0 di parameter ClearScissorRects . Jika panggilan berturut-turut berikutnya ke SetScissorRects meneruskan nilai 1 di NumScissorRects, panggilan berturut-turut juga melewati nilai 3 (4 - 1) di ClearScissorRects.

Ketika nilai bagian target render yang jelas diminta selama operasi kueri mode pengguna, nilainya adalah perbedaan antara jumlah maksimum bagian target render dan nilai bagian render-target.

Driver seharusnya tidak mengalami kesalahan apa pun, kecuali untuk D3DDDIERR_DEVICEREMOVED. Oleh karena itu, jika driver melewati kesalahan apa pun, kecuali untuk D3DDDIERR_DEVICEREMOVED, dalam panggilan ke fungsi pfnSetErrorCb , runtime Microsoft Direct3D akan menentukan bahwa kesalahan sangat penting. Bahkan jika perangkat dihapus, driver tidak diharuskan untuk mengembalikan D3DDDIERR_DEVICEREMOVED; namun, jika penghapusan perangkat mengganggu pengoperasian SetScissorRects (yang biasanya tidak boleh terjadi), driver dapat mengembalikan D3DDDIERR_DEVICEREMOVED.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Windows Vista dan versi yang lebih baru dari sistem operasi Windows.
Target Platform Desktop
Header d3d10umddi.h (termasuk D3d10umddi.h)

Lihat juga

D3D10DDI_DEVICEFUNCS

RECT

pfnSetErrorCb