Piksel ve vertex shader'ların programlanabilmesi, DirectX 9'un öngördüğünden fazlasının karşılanabilmesini sağlıyor. NVIDIA da bu nedenle kendi özelliklerini tanımlarken sonuna bir "+" işareti ekliyor. Diğer yandan, shader'lardan kaynaklanan bütün yetenekleri ve olasılıkları vurgulamak bu yazının amacının dışında ve ayrıca bunların değerini de ancak bir shader programcısı bilebilir.
Spellbound'un YEAH filmindeki Ogre karakterinin ekran görüntüsü. NVIDIA bunu gerçek zamanlı demosunda kullandı.
GeForce FX'in eklentilerine bir bakış:
GeForce FX Vertex Shader 2.0+
Eklentilerin DirectX 9 ile Karşılaştırması (standart)
Saklanan programda 256 komut (önceki değeri 128)
256 sabit (önceki değeri 96)
Vektör adres kaydı (önceden skalardı)
Her shader için gerçekleştirilebilecek maksimum komut sayısı artık 65,536.
NVIDIA'nın tanıtımında öne çıkan noktalar:
Her vertex için 65,536 vertex komutunun çalıştırılabilmesi (her shader için 256 statik komut) CineFX'in shading motoru, şimdiye dek eşi görülmemiş oranda vertex işleme kapasitesine sahip. Komut depolama kapasitesinin ikiye katlanmış olmasının yanında akışın da kontrol edilebilmesi, her vertex için yapılacak olan hesaplamaların büyük oranda artması sonucunu doğuruyor. Bu esneklik, uygulama tarafından ihtiyaç duyulan vertex shader sayısını da azaltıyor.
256 adede kadar vektör sabiti CineFX'in vertex shader'ında mevcut sabit kayıt (register) sayısı eskiye oranla iki katından daha fazla artarak 96'dan 256'ya çıkmış vaziyette. Bunun sağlayacağı avantajlar, özellikle matris paleti dokusundaki iskelet matrisi yapılarının genişlemesi ve daha fazla eş zamanlı ışık kaynağının kullanılabilmesi olarak yansıyor.
16 geçici vektör kaydı Geçici kayıt depolama alanı, %33'lük bir artışla 12'den 16'ya çıkmış vaziyette. Bu geçici depolama alanı, CineFX motorunun daha büyük programlara destek vermesine yardımcı oluyor.
64 farklı döngü CineFX'in vertex shader motoru, sahip olduğu döngü ve dallanma yetenekleri sayesinde tek bir shader programında 64 farklı dallanma hedefi belirlenmesine olanak sağlama özelliğine sahip. Bu da efekt motoruna daha kolay programlanabilme yeteneği kazandırıyor. Örneğin bütün ışık kaynakları arasında döngü kurmak ve bittiğinde uygun olanına dallanmak artık neredeyse çocuk oyuncağı.
Her bileşen için şartlara göre değişken kodlar ve yazma maskeleri Şartlara göre değişken kodlar veriye göre dallanmanın arkasındaki mekanizmanın ana noktasını oluşturuyor, ancak bunun şartlara uygun kodları basit hale indirgeyerek performansı artırma özelliği de var.
Sorgu ve cevap (alt rutinler) CineFX'in dallanma yeteneklerine ek olarak, vertex işlemcisi 4 kademe derinliğe kadar sorgu-cevap tipi alt rutin şemalarını destekleyebiliyor.
Statik ve dinamik kontrol akışında döngüler ve dallanma Koşula uygun veri referansından farklı olarak, genel olarak döngü ve dallanmalara verilen destek CineFX'in vertex shading motorunu esnek ve güçlü bir hale getiriyor.