最近、XNAを使用してSilverlight5で3Dレンダリングコードを作成しようとしています。残念ながら、(カスタムシェーダーを使用して)何かを機能させるのに問題がありました。
基本的な効果は立方体で使用され、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で大丈夫ですが、大丈夫を渡すことはそれをカットしないようです!:)