Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Gölgelendiriciler programlanabilir grafik işlem hattını kullanır.
Köşe Gölgelendiricisi Başvurusu
Köşe Gölgelendiricisi Farklılıkları köşe gölgelendiricisi sürümleri arasındaki farkları özetler.
Piksel Gölgelendiricisi Başvurusu
Piksel Gölgelendiricisi Farklılıkları piksel gölgelendiricisi sürümleri arasındaki farkları özetler.
Gölgelendirici Modeli 4 ve 5 Başvurusu
Shader Model 4 Derlemesi ve Shader Model 5 Derleme bölümleri, gölgelendirici modeli 4 ve 5'in desteklediği yönergeleri açıklar.
Derleme Gölgelendiricilerinde Sabit Yazmaçların Davranışı
Derleme gölgelendiricisinde sabit yazmaçlar ayarlamanın iki yolu vardır:
- Def* yönergelerinden birini kullanarak derleme kodunda bir gölgelendirici sabiti bildirin.
- Set***ShaderConstant* API yöntemlerinden birini kullanın.
Direct3D 9 Gölgelendirici Sabitleri
Direct3D 9'da belirli bir gölgelendiricideki tanımlı sabitlerin ömrü yalnızca bu gölgelendiricinin yürütülmesiyle sınırlandırılır (ve geçersiz kılınamaz). Direct3D 9'da tanımlı sabitlerin gölgelendirici dışında hiçbir yan etkisi yoktur.
Aşağıda Direct3D 9'un kullanıldığı bir örnek verilmişti:
Given:
Create shader1 which references c4 and defines it with the def instruction
Scenario 1:
Call Set***Shader shader1
Call Set***ShaderConstant* to set c4
Call Draw
Result: The shader will see the def'd value in c4
Given:
Scenario 1 has just completed
Create shader2 (which references c4 but does not use the def instruction
to define it)
Scenario 2:
Call Set***Shader shader2
Call Draw
Result: The shader will see the value last set in c4 by
Set***ShaderConstant* in scenario 1. This is because shader 2
didn't def c4.
Direct3D 9'da Get***ShaderConstant* çağrısı yalnızca Set***ShaderConstant* aracılığıyla ayarlanan sabit değerleri alır.
Direct3D 8 Gölgelendirici Sabitleri
Bu davranış Direct3D 8.x'te farklıdır.
Given:
Create shader1 which references c4 and defines it with the def instruction
Scenario 1 (repeated with Direct3D 8):
Call Set***Shader with shader1
Call Set***ShaderConstant to set c4
Call Draw
Result: The shader will see the value in c4 from Set***ShaderConstant
Direct3D 8.x Set'te***ShaderConstant hemen etkinleşir. Şu senaryoya göz önünde bulundurun:
Given:
Create shader1 which references c4 and defines it with the def instruction
Scenario 3:
Call Set***Shader with shader1
Call Draw
Result: The shader will see the def'd value in c4
Given:
Scenario 3 has just completed
Create shader2 (which references c4 but does not use the def instruction
to define it)
Scenario 4 :
Call Set***Shader with shader2
Call Draw
Result: The shader will see the def'd value in c4 (set by def in shader 1)
istenmeyen sonuç, gölgelendiricilerin ayarlandığı sıranın tek tek gölgelendiricilerin gözlemlenen davranışını etkileyebilmesidir.
Gölgelendirici Sürücüsü Modeli Gereksinimleri
Direct3D 9 arabirimleri, DirectX 7 düzeyinde ve üzeri olan cihaz sürücüsü arabirimi (DDI) sürücüleriyle sınırlıdır. DDI düzeyini denetlemek için DirectX Tanılama Aracı çalıştırın ve kaydedilen metin dosyasını inceleyin.
Başvuru için Direct3D 8 arabirimleri yalnızca DirectX 6 düzeyinde ve üzeri DDI sürücüleri üzerinde çalışır.
Gölgelendirici İkili Biçimi
Gölgelendirici yönerge akışının bit düzeyinde düzeni D3d9types.h içinde tanımlanır. Kendi gölgelendirici derleyicinizi veya inşaat araçlarınızı tasarlamak ve gölgelendirici belirteci akışı hakkında daha fazla bilgi edinmek istiyorsanız Direct3D 9 Sürücü Geliştirme Seti'ne (DDK) bakın.
C Benzeri Gölgelendirici Dili
C benzeri gölgelendirici dilini deneyimlemek için bkz. HLSL Başvurusu.
İlgili konular
-
HLSL için Başvurusu