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 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
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.

Referensi untuk HLSL