2013-12-14 39 views
0

任何人都可以提供一個使用SharpDX與D3D11的工作代碼,是否實例化並使用SharpDX的內容管道?那裏有幾個問題。我開始明白,應該使用SharpDX.Direct3D11.InputLayout來描述頂點着色器的輸入。那裏我已經有一個問題。我使用SharpDX的內容管道,因此着色器在編譯時編譯,而不是在運行時編譯。我在哪裏獲得着色器的字節碼呢?它不應該那麼難,但它似乎是從效果對象中無法訪問的。我的另一個問題是,如何在當前的DrawIndexedInstanced調用之前設置創建的SharpDX.Direct3D11.InputLayout?SharpDX與D3D11實例

+0

這將是很高興知道如何創建實例緩衝區。 –

+0

像Muad說的。您可以爲實例使用常量/結構化緩衝區,而不是選擇2個頂點緩衝區。這種方式對InputLayout沒有影響 –

回答

-3

已經解決了,也有一些不錯的陷阱,應避免:

  • 爲了得到着色器的字節代碼,必須重新編譯着色器。
  • 要設置輸入佈局,應該將設備投射到SharpDX.Direct3D11.Device並使用它的直接上下文。請注意,現有的頂點緩衝區佈局可用於創建輸入佈局的開始。
  • 還必須在直接上下文本身上調用DrawIndexedInstanced方法。在SharpDX.Toolkit.Graphics.GraphicsDevice上調用此方法將導致不正確的參數異常。