C#, Visual Studio 2013 Güncelleştirmesi 5 RC'de programlama ve hareketli bir sahne oluşturmak için Direct3D 11 (SlimDX aracılığıyla) kullanıyorum. Piksel gölgelendiricide sırasız erişim dokuları deniyordum ve güzel çalışıyor. Örneğin, piksel gölgelendiricim, render hedef görünümü ile birlikte belirlediğim register(u1)
'a bağlı bir RWTexture2D<float>
. Uygulamamı çalıştırdığımda, oluşturma işlemi düzgün çalışıyor ve D3D hata ayıklama katmanından hiçbir uyarı veya hata almıyorum.Visual Studio Grafik Hata Ayıklayıcısı çalışma piksel shader'ı devre dışı bırakıyor
Her ne kadar bu işe yarıyorsa da, Visual Studio Graphics Debugger ile tek kareleri analiz edemiyorum. Bir çerçeve yakalarken
FPS ölçümleri iyi çalışmasına rağmen
, her zaman tam olarak gösterilmiştir: Aşağıdaki resimde görüldüğü gibi (doğru) çıkış görüntü, şu anda gri bir gölge VSG günlüğüne (ı işlemek hedefi temizlemek için kullanılan her türlü renk ya) beyaz: Ben kare biri için Visual Studio Grafik Analyzer açtığınızda
, ben grafik boru hattında bir sorun olduğunu fark. amaçlandığı gibi girdi montajcı ve köşe Shader çalışıyor ama pixel shader eksik ve çıkış birleşme aşamasında "hiçbir örgü" var:
nesne tablo açıkça belirtmektedir o pixel shader (obj:7
) kuruldu. Grafik boru hattında neden görünmediğine dair bir fikriniz veya önerileriniz var mı, yoksa programda çalışmamıza rağmen yakalanan çerçevelerin niçin boş olduğu konusunda bir fikriniz var mı? Gölgelendirici kodunun yüklendiği yerden, yani veya CompileFromFile
kullanıp kullanmadığımı bir rol oynatabilir. Şimdiye kadar şüphelendiğim ancak şu ana kadar doğrulayamadığım bir şey, piksel gölgelendiricisindeki sırasız erişim kaynağının Visual Studio Graphics Debugger ile karıştırmasıdır. Herhangi bir ipucu? Şimdiden teşekkür ederim.
Düzenleme: Bu, Piksel gölgelendiricinin aygıt bağlamında ayarlandığını gösterirken, Bu, the MSDN walkthrough on misconfigured pipelines ile ilişkili değildir. Ayrıca, sabit tamponlar piksel gölgelendiricide doğru şekilde ayarlanır.
Ben Visual Studio 2013 Ultimate kullanın. Davranışın nedenini buldum ve aslında RWTexture (yani, sırasız erişime sahip kaynak) gibi görünüyor. Gölgelendirici kodundan çıkardığımda, çıktı beklendiği gibi gösterilir. – hschmauder