Model Shader vs Profil Shader
Bahasa Bayangan Tingkat Tinggi untuk DirectX mengimplementasikan serangkaian model shader. Dengan menggunakan HLSL, Anda dapat membuat shader yang dapat diprogram seperti C untuk alur Direct3D. Setiap model shader dibangun berdasarkan kemampuan model sebelumnya, menerapkan lebih banyak fungsionalitas dengan pembatasan yang lebih sedikit.
Model shader 1 dimulai dengan DirectX 8 dan menyertakan tingkat perakitan dan instruksi seperti C. Model ini memiliki banyak keterbatasan yang disebabkan oleh perangkat keras shader yang dapat diprogram lebih awal. Shader model 2 dan 3 sangat diperluas pada jumlah instruksi, dan shader konstanta dapat digunakan. Mereka jauh lebih kuat daripada model shader 1, tetapi masih membawa beberapa batasan yang ada dari model shader pertama.
Dimulai dengan Windows Vista, shader model 4 adalah desain ulang lengkap. Ini memungkinkan instruksi dan konstanta tak terbatas (dalam batasan perangkat keras komputer Anda), memiliki objek templat untuk membuat pembersihan pengambilan sampel tekstur dan lebih efisien, dan memiliki batasan terkecil dari model shader apa pun. Namun memerlukan Model Driver Windows yang hanya tersedia pada sistem operasi Windows Vista (atau yang lebih baru).
Profil Shader
Profil shader adalah target untuk mengkompilasi shader; tabel ini mencantumkan profil shader yang didukung oleh setiap model shader.
Model shader | Profil shader |
---|---|
Model Shader 1 | vs_1_1 |
Model Shader 2 | ps_2_0, ps_2_x, vs_2_0, vs_2_x, ps_4_0_level_9_0, ps_4_0_level_9_1, ps_4_0_level_9_3, vs_4_0_level_9_0, vs_4_0_level_9_1, vs_4_0_level_9_3, lib_4_0_level_9_1, lib_4_0_level_9_3 |
Model Shader 3 | ps_3_0, vs_3_0 |
Model Shader 4 | cs_4_0, gs_4_0, ps_4_0, vs_4_0, cs_4_1, gs_4_1, ps_4_1, vs_4_1, lib_4_0, lib_4_1 |
Model Shader 5 | cs_5_0, ds_5_0, gs_5_0, hs_5_0, ps_5_0, vs_5_0, lib_5_0 (Meskipun gs_4_0, gs_4_1, ps_4_0, ps_4_1, vs_4_0, dan vs_4_1 diperkenalkan dalam model shader 4.0, shader model 5 menambahkan dukungan ke profil shader ini untuk buffer terstruktur dan buffer alamat byte.) |
Model Shader 6 | cs_6_0, ds_6_0, gs_6_0, hs_6_0, ps_6_0, vs_6_0, lib_6_0 |
Perbedaan antara Direct3D 9 dan Direct3D 10:
- Direct3D 9 memperkenalkan model shader 1, 2, dan 3.
- Direct3D 10 memperkenalkan model shader 4.
- Direct3D 10.1 memperkenalkan model shader 4.1.
Profil Efek
Profil efek adalah target untuk mengkompilasi efek/shader; tabel ini mencantumkan profil efek yang didukung oleh setiap versi Direct3D.
Perbedaan antara Direct3D 9 dan Direct3D 10:
- Direct3D 9 memperkenalkan profil kerangka kerja efek fx_1_0 dan fx_2_0.
- Direct3D 10 memperkenalkan profil kerangka kerja efek fx_4_0.
- Direct3D 10.1 memperkenalkan profil kerangka kerja efek fx_4_1.
- Direct3D 11 memperkenalkan profil kerangka kerja efek fx_5_0.
Catatan
Profil efek warisan ini tidak digunakan lagi.
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk