Bagikan melalui


Register Boolean konstan (referensi HLSL VS)

Register ini adalah kumpulan bit yang digunakan dalam instruksi kontrol aliran statis (misalnya, jika bool - vs - else - vs - endif - vs). Ada 16 dari mereka, oleh karena itu, shader dapat memiliki 16 kondisi cabang independen. Mereka dapat diatur menggunakan defb - vs atau SetVertexShaderConstantB.

Perilaku konstanta shader telah berubah antara Direct3D 8 dan Direct3D 9.

  • Untuk Direct3D 9, konstanta diatur dengan defx menetapkan nilai ke ruang konstanta shader. Masa pakai konstanta yang dideklarasikan dengan defx terbatas pada eksekusi shader itu saja. Sebaliknya, konstanta yang diatur menggunakan API SetXXXShaderConstantX menginisialisasi konstanta di ruang global. Konstanta di ruang global tidak disalin ke ruang lokal (terlihat oleh shader) hingga SetxxxXShaderConstants dipanggil.
  • Untuk Direct3D 8, konstanta yang diatur dengan defx atau API menetapkan nilai ke ruang konstanta shader. Setiap kali shader dijalankan, konstanta digunakan oleh shader saat ini terlepas dari teknik yang digunakan untuk mengaturnya.

Vertex Shader Registers