我最近試圖在Silverlight 5中用XNA創建一些3D渲染代碼。不幸的是,我一直無法獲得任何東西(使用我的自定義着色器)工作。在Silverlight 5中使用自定義着色器XNA
基本效果在立方體上使用,僅使用VertexPositionColor信息,但當切換到使用自定義着色器時,似乎沒有任何東西呈現(或呈現在屏幕外)。
爲了嘗試和幫助自己解決這個問題,我甚至得到了BasicEffect的hlsl代碼,但它並沒有做任何我沒有做的事情。
的代碼發生在一個世界,查看和投影矩陣和以下列順序由位置乘以每一個:
float4 pos_ws = mul(position, World);
float4 pos_vs = mul(pos_ws, View);
float4 pos_ps = mul(pos_vs, Projection);
我改變代碼做同樣的事情(而不是傳遞在一個單一的WorldViewProjection矩陣),我的着色器使用它來計算一個位置,然後只給像素應用一種顏色。然而,沒有什麼是渲染
我很堅持這一點,我通過了基本的3D,但通過確定似乎並沒有削減它! :)