Bagikan melalui


METODE ID3D11Device3::WriteToSubresource (d3d11_3.h)

Menyalin data ke dalam tekstur D3D11_USAGE_DEFAULT yang dipetakan menggunakan ID3D11DeviceContext3::Map sambil memberikan parameter D3D11_MAPPED_SUBRESOURCE NULL.

Sintaks

void WriteToSubresource(
  [in]           ID3D11Resource  *pDstResource,
  [in]           UINT            DstSubresource,
  [in, optional] const D3D11_BOX *pDstBox,
  [in]           const void      *pSrcData,
  [in]           UINT            SrcRowPitch,
  [in]           UINT            SrcDepthPitch
);

Parameter

[in] pDstResource

Jenis: ID3D11Resource*

Penunjuk ke sumber daya tujuan ( ID3D11Resource).

[in] DstSubresource

Jenis: UINT

Indeks berbasis nol, yang mengidentifikasi subsumber daya tujuan. Untuk detail selengkapnya, lihat D3D11CalcSubresource.

[in, optional] pDstBox

Jenis: const D3D11_BOX*

Penunjuk ke kotak yang menentukan bagian sub sumber daya tujuan untuk menyalin data sumber daya ke dalamnya. Jika NULL, data ditulis ke subsumber daya tujuan tanpa offset. Dimensi sumber harus sesuai dengan tujuan (lihat D3D11_BOX).

Kotak kosong menghasilkan no-op. Kotak kosong jika nilai atas lebih besar dari atau sama dengan nilai bawah, atau nilai kiri lebih besar dari atau sama dengan nilai kanan, atau nilai depan lebih besar dari atau sama dengan nilai belakang. Ketika kotak kosong, metode ini tidak melakukan operasi apa pun.

[in] pSrcData

Jenis: const void*

Penunjuk ke data sumber dalam memori.

[in] SrcRowPitch

Jenis: UINT

Ukuran satu baris data sumber.

[in] SrcDepthPitch

Jenis: UINT

Ukuran satu iringan kedalaman data sumber.

Mengembalikan nilai

Tidak ada

Keterangan

Sumber daya yang disediakan harus berupa tekstur D3D11_USAGE_DEFAULT yang dipetakan untuk ditulis oleh panggilan sebelumnya ke ID3D11DeviceContext3::Map sambil memberikan parameter D3D11_MAPPED_SUBRESOURCE NULL.

API ini ditujukan untuk memanggil pada frekuensi tinggi. Penelepon dapat mengurangi memori dengan melakukan panggilan berulang yang memperbarui wilayah progresif tekstur, sekaligus memberikan buffer kecil selama setiap panggilan. Namun, paling efisien untuk menentukan wilayah yang cukup besar, karena ini memungkinkan D3D mengisi seluruh baris cache dalam tekstur sebelum kembali.

Untuk efisiensi, pastikan batas dan perataan jangkauan dalam kotak adalah ( 64 / [byte per piksel] ) piksel secara horizontal. Batas dan perataan vertikal harus 2 baris, kecuali ketika format 1-byte-per-piksel digunakan, dalam hal ini 4 baris direkomendasikan. Irisan kedalaman tunggal per panggilan ditangani secara efisien. Disarankan tetapi tidak perlu menyediakan pointer dan langkah-langkah yang selaras dengan 128 byte.

Saat menulis ke tingkat sub mipmap, disarankan untuk menggunakan lebar dan tinggi yang lebih besar daripada yang dijelaskan di atas. Ini karena tingkat mipmap kecil sebenarnya dapat disimpan dalam blok memori yang lebih besar, dengan jumlah offsetting buram yang dapat mengganggu keselarasan ke baris cache.

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header d3d11_3.h
Pustaka D3D11.lib

Lihat juga

ID3D11Device3