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 sebelum model, 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 batasan yang disebabkan oleh perangkat keras shader yang dapat diprogram awal. Shader model 2 dan 3 sangat diperluas pada jumlah instruksi, dan konstanta yang dapat digunakan shader. 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 pengambilan sampel tekstur lebih bersih dan lebih efisien, dan memiliki batasan terkecil dari model shader apa pun. Namun, ini 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 |
Shader Model 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 |
Shader Model 3 | ps_3_0, vs_3_0 |
Shader Model 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 |
Shader Model 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, model shader 5 menambahkan dukungan ke profil shader ini untuk buffer terstruktur dan buffer alamat byte.) |
Shader Model 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.
Nota
Profil efek warisan ini tidak digunakan lagi.
Topik terkait
-
Referensi untuk HLSL