Sub sumber daya (Direct3D 11 Graphics)

Topik ini menjelaskan sub sumber daya tekstur, atau bagian dari sumber daya.

Direct3D dapat mereferensikan seluruh sumber daya atau dapat mereferensikan subset sumber daya. Istilah subsumber daya mengacu pada subset sumber daya.

Buffer didefinisikan sebagai subsumber daya tunggal. Tekstur sedikit lebih rumit karena ada beberapa jenis tekstur yang berbeda (1D, 2D, dll.) beberapa di antaranya mendukung tingkat mipmap dan/atau array tekstur. Dimulai dengan kasus paling sederhana, tekstur 1D didefinisikan sebagai subsumber daya tunggal, seperti yang ditunjukkan dalam ilustrasi berikut.

ilustrasi tekstur 1d

Ini berarti bahwa array texel yang membentuk tekstur 1D terkandung dalam satu subsumber daya.

Jika Anda memperluas tekstur 1D dengan tiga tingkat mipmap, tekstur tersebut dapat divisualisasikan seperti ilustrasi berikut.

ilustrasi tekstur 1d dengan tiga tingkat mipmap

Anggap ini sebagai tekstur tunggal yang terdiri dari tiga sub sumber daya. Subsumber daya dapat diindeks menggunakan tingkat detail (LOD) untuk satu tekstur. Saat menggunakan array tekstur, mengakses subsumber daya tertentu memerlukan LOD dan tekstur tertentu. Secara bergantian, API menggabungkan kedua informasi ini ke dalam satu indeks sub sumber daya berbasis nol, seperti yang ditunjukkan dalam ilustrasi berikut.

ilustrasi indeks sub sumber daya berbasis nol

Memilih Sub sumber daya

Beberapa API mengakses seluruh sumber daya (misalnya metode ID3D11DeviceContext::CopyResource ), yang lain mengakses sebagian sumber daya (misalnya metode ID3D11DeviceContext::UpdateSubresource atau metode ID3D11DeviceContext::CopySubresourceRegion ). Metode yang mengakses sebagian sumber daya umumnya menggunakan deskripsi tampilan (seperti struktur D3D11_TEX2D_ARRAY_DSV ) untuk menentukan subsumber daya yang akan diakses.

Ilustrasi di bagian berikut menunjukkan istilah yang digunakan oleh deskripsi tampilan saat mengakses array tekstur.

Iringan Array

Mengingat array tekstur, setiap tekstur dengan mipmaps, potongan array (diwakili oleh persegi panjang putih) mencakup satu tekstur dan semua sub sumber dayanya, seperti yang ditunjukkan dalam ilustrasi berikut.

ilustrasi ilis array

Mip Slice

Ikatan mip (diwakili oleh persegi panjang putih) mencakup satu tingkat mipmap untuk setiap tekstur dalam array, seperti yang ditunjukkan dalam ilustrasi berikut.

ilustrasi iritasi mip

Memilih Subresource Tunggal

Anda dapat menggunakan kedua jenis irisan ini untuk memilih satu sub sumber daya, seperti yang diperlihatkan dalam ilustrasi berikut.

ilustrasi memilih subsumber daya dengan menggunakan polos array dan poong mip

Memilih Beberapa Sub-Sumber Daya

Atau Anda dapat menggunakan kedua jenis irisan ini dengan jumlah tingkat mipmap dan/atau jumlah tekstur, untuk memilih beberapa subsumber daya, seperti yang ditunjukkan dalam ilustrasi berikut.

ilustrasi memilih beberapa sub sumber daya

Catatan

Tampilan target render hanya dapat menggunakan subsumber daya tunggal atau potongan mip dan tidak dapat menyertakan subsumber daya dari lebih dari satu potongan mip. Artinya, setiap tekstur dalam tampilan target render harus berukuran sama. Tampilan sumber daya shader dapat memilih wilayah subresource persegi panjang apa pun, seperti yang ditunjukkan pada gambar.

 

Sumber