Aracılığıyla paylaş


Asm Gölgelendirici Başvurusu

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.

HLSL için Başvurusu