2016-06-07 51 views
0

Unity 5着色器能夠訪問DX11流水線中的流輸出階段嗎?參考:https://msdn.microsoft.com/en-us/library/windows/desktop/bb205121%28v=vs.85%29.aspxUnity5 - 着色器流輸出階段

我想在着色器中計算新的垂直數據,然後將此信息輸出到腳本以進行非呈現目的(與撞擊後的網格相關的關係損傷)。

我目前使用GPGPU着色器來實現這一點,但是管道上的額外負載是不可取的。這不能真正改變,因爲它與網格中vert的數量成正比,所以我認爲如果我可以在Unity使用的DX11渲染管道中使用流輸出級,那麼這可以減輕這種負載,因爲vert數據將會只需要在渲染階段傳遞給GPU一次,而不是通過GPGPU着色器兩次。

該方法是否正確,我可以訪問流輸出階段嗎?

(所有的腳本是C#)

回答

3

不幸的是流出來從頂點或幾何着色器不統一尚未暴露的頂點數據,因此計算着色器,目前最好的選擇。儘管如此,Unity在內部將它用於GPU蒙皮。

+0

正如我不幸懷疑..你碰巧有一個來源證實了這一點 - 因爲我發誓我已經從字面上搜遍了整個互聯網哈哈。 – Zze

+1

@Zze沒有官方的 - 只是你可能已經發現你自己的團結論壇的線程。這也不是很令人驚訝,考慮到紋理陣列支持剛剛進入測試階段。 – Quinchilion