Bagikan melalui


PFND3DDDI_BLT fungsi panggilan balik (d3dumddi.h)

Fungsi Blt menyalin konten permukaan sumber ke permukaan tujuan.

Sintaks

PFND3DDDI_BLT Pfnd3dddiBlt;

HRESULT Pfnd3dddiBlt(
  HANDLE hDevice,
  const D3DDDIARG_BLT *unnamedParam2
)
{...}

Parameter

hDevice

Handel ke perangkat tampilan (konteks grafis).

unnamedParam2

pData [in]

Penunjuk ke struktur D3DDDIARG_BLT yang menjelaskan parameter transfer blok bit (bitblt).

Menampilkan nilai

Blt mengembalikan salah satu nilai berikut:

Menampilkan kode Deskripsi
S_OK Bitblt untuk sumber daya berhasil dilakukan.
E_OUTOFMEMORY Blt tidak dapat mengalokasikan memori yang diperlukan untuk menyelesaikannya.

Keterangan

Runtime Microsoft Direct3D memanggil fungsi Blt driver tampilan mode pengguna untuk menyalin konten permukaan sumber ke permukaan tujuan. Setelah memetakan referensi permukaan ke referensi alokasi, driver tampilan mode pengguna harus mengeluarkan perintah perangkat keras yang sesuai. Jika alokasi sumber atau tujuan berada dalam memori sistem, driver tampilan mode pengguna mungkin diperlukan untuk menyinkronkan (yaitu, panggil fungsi pfnRenderCb ) jika aliran perintah perangkat keras yang luar biasa berisi referensi ke alokasi memori sistem. Jika alokasi sumber dan tujuan berada dalam memori sistem, driver harus disinkronkan seperlunya tetapi tidak boleh menyalin konten permukaan sumber. Runtime Direct3D menyalin konten setelah panggilan ke pfnRenderCb kembali.

Driver tampilan mode pengguna harus menangani kondisi berikut yang mungkin terjadi selama operasi salin:

  • Permukaan tujuan dan sumber adalah bagian dari sumber daya yang sama (yaitu, anggota hSrcResource dan hDstResourceD3DDDIARG_BLT menentukan handel ke sumber daya yang sama).
  • Persegi panjang sumber dan tujuan tumpang tindih (yaitu, koordinat struktur RECT di anggota SrcRect dan DstRect D3DDDIARG_BLT tumpang tindih).
Driver tampilan mode pengguna harus menangani semua bitblt ke dan dari memori video, termasuk bitblt dari memori video ke memori sistem. Jika driver tampilan mode pengguna tidak dapat menggunakan unit pemrosesan grafis (GPU) untuk mengeluarkan bitblt dari memori video ke memori sistem, driver tampilan mode pengguna dapat menyalin data dengan menggunakan CPU.

Driver tampilan mode pengguna harus mendukung colorkeying hanya dengan format yang diperkenalkan sebelum Microsoft DirectX 8.0. Untuk format yang diperkenalkan di Runtime DirectX 8.0 dan yang lebih baru, dukungan colorkeying tidak diperlukan.

Jenis bitblt yang akan dilakukan ditunjukkan melalui bendera bit-field yang ditentukan dalam anggota BenderaD3DDDIARG_BLT. Memori video ke bitblt memori video dapat mencakup colorkeying, stretching, mirroring, dan konversi format linear-to-sRGB. Memori sistem ke bitblt memori video dapat mencakup peregangan dan konversi format linear-ke-sRGB; namun, jenis bitblt ini tidak pernah termasuk pencerminan atau colorkeying. Semua memori video ke bitblt memori sistem dan memori sistem ke bitblt memori sistem hanyalah salinan lurus; artinya, jenis bitblt ini tidak pernah mencakup peregangan, pencerminan, colorkeying, atau konversi format linear-ke-sRGB. Untuk informasi selengkapnya tentang format sRGB, lihat situs web sRGB .

Untuk informasi selengkapnya tentang aturan yang harus diikuti fungsi Blt saat mengonversi nilai stensil kedalaman, lihat Menyalin Nilai Depth-Stencil.

Runtime Direct3D dapat memanggil fungsi Blt driver tampilan mode pengguna untuk menyalin konten jenis permukaan sumber apa pun (seperti, jenis offscreen-plain, jenis render-target, atau jenis tekstur) ke jenis permukaan tujuan lainnya.

Persyaratan

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

Lihat juga

D3DDDIARG_BLT

D3DDDI_DEVICEFUNCS

pfnRenderCb