2016-04-21 37 views
0

我已經實現了幾種細節層次的技術來對它們進行比較。由於其中兩個使用曲面細分,我想知道最終渲染網格有多少個三角形。我發現有人爲此創建了一個函數,但只有曲面細分因子是恆定的並且都是一樣的。由於我的實現基於距相機的距離決定了Hull着色器中的因素,因此他的解決方案對我無效。曲面細分之後的三角形數

在我看來,如果我知道域着色器運行了多少次,那麼我會知道我有多少個三角形?有沒有一種方法來計算?或者還有其他方法嗎?

(我使用DirectX,但我猜的方法是大致相同的OpenGL,這就是爲什麼我都爲標籤)

+0

我不認爲你可以計算一個涉及曲面細分的繪製命令的頂點數量着色器將創建而不實際運行着色器並執行繪製命令。 –

+0

但是我正在運行着色器並執行繪圖命令,那麼如何獲取數字呢? –

回答

0

我使用類型D3D11_QUERY_PIPELINE_STATISTICS的ID3D11Query它解決。結構D3D11_QUERY_DATA_PIPELINE_STATISTICS用於結果,它有很多有用的信息,比如渲染圖元的數量和着色器的調用等。