Bagikan melalui


Metode ID3D10Device::OMSetRenderTargets (d3d10.h)

Ikat satu atau beberapa target render dan buffer stensil kedalaman ke tahap output-merger.

Sintaks

void OMSetRenderTargets(
  [in] UINT                   NumViews,
  [in] ID3D10RenderTargetView * const *ppRenderTargetViews,
  [in] ID3D10DepthStencilView *pDepthStencilView
);

Parameter

[in] NumViews

Jenis: UINT

Jumlah target render yang akan diikat.

[in] ppRenderTargetViews

Jenis: ID3D10RenderTargetView*

Penunjuk ke array target render (lihat ID3D10RenderTargetView) untuk mengikat ke perangkat. Jika parameter ini NULL, tidak ada target render yang terikat. Lihat Keterangan.

[in] pDepthStencilView

Jenis: ID3D10DepthStencilView*

Arahkan ke tampilan stensil kedalaman (lihat ID3D10DepthStencilView) untuk mengikat perangkat. Jika parameter ini NULL, status stensil kedalaman tidak terikat.

Mengembalikan nilai

Tidak ada

Keterangan

Panggilan ke OMSetRenderTargets mengambil alih semua target render terikat dan target stensil kedalaman terlepas dari jumlah target render di ppRenderTargetViews.

Jumlah maksimum target render yang dapat diaktifkan perangkat pada waktu tertentu ditetapkan oleh #define di D3D10.h yang disebut D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT. Tidak valid untuk mencoba mengatur sub sumber daya yang sama ke beberapa slot target render.

Jika ada subsumber daya yang saat ini terikat untuk membaca atau menulis (mungkin di bagian yang berbeda dari alur), titik ikat tersebut akan di-NULL'ed out untuk mencegah sub sumber daya yang sama dibaca dan ditulis secara bersamaan dalam satu operasi penyajian.

Metode ini tidak akan menyimpan referensi ke antarmuka yang diteruskan. Untuk alasan itu, aplikasi harus berhati-hati untuk tidak merilis antarmuka yang saat ini digunakan oleh perangkat.

Lihat Mengikat Sumber Daya dan Tahapan alur untuk informasi selengkapnya tentang sumber daya pengikatan.

Shader piksel harus dapat merender secara bersamaan ke setidaknya delapan target render terpisah. Semua target render ini harus mengakses jenis sumber daya yang sama: Buffer, Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, atau TextureCube. Semua target render harus memiliki ukuran yang sama di semua dimensi (lebar dan tinggi, dan kedalaman untuk ukuran 3D atau array untuk *Jenis array). Jika target render menggunakan anti-aliasing multisample, semua target render terikat dan buffer kedalaman harus berupa sumber daya multisample yang sama (artinya, jumlah sampel harus sama). Setiap target render dapat memiliki format data yang berbeda. Format target render ini tidak diperlukan untuk memiliki jumlah bit-per-elemen yang identik.

Kombinasi apa pun dari delapan slot untuk target render dapat memiliki set target render atau tidak diatur.

Tampilan sumber daya yang sama tidak dapat terikat ke beberapa slot target render secara bersamaan. Namun, Anda dapat mengatur beberapa tampilan sumber daya yang tidak tumpang tindih dari satu sumber daya sebagai beberapa target render secara bersamaan.

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header d3d10.h
Pustaka D3D10.lib

Lihat juga

ID3D10Device Interface