Bagikan melalui


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.

Referensi untuk HLSL