Direct2Dでカスタムエフェクトを使用しようとしていますが、これはc#/ XAMLソリューションに含まれているC++プロジェクトで動作します。私はのD2DCustomEffectsソリューションからCustomPixelShaderプロジェクトを適用しようとしています。Visual Studio 2017で組み込みHLSLコンパイラを無効にしますか?
私の問題は、fxcがシェーダをコンパイルするようにプロジェクトのカスタムビルドステップを構成していることです。私の設定を模倣しようとしたところ、プロジェクトのプロパティページに、HLSLコンパイラという追加のプロパティがあり、CustomPixelShaderサンプルプロジェクトには存在しないことがわかりました。
私はHLSLコンパイラを構成しようとせずにプロジェクトをビルドしようとすると、私は明確にするために重要とカスタムエフェクトの例で示されているファイルであるエラー
Error X1507 failed to open source file: 'd2d1effecthelpers.hlsli'
を取得シェーダのコンパイルd2d1effecthelpers.hlsliのパスはカスタムビルドステップの設定に含まれており、ファイルがあることを確認しました。ただし、d2d1effecthelpers.hlsliへのパスをHLSLコンパイラ設定のAdditional Includeディレクトリに追加すると、そのエラーメッセージは表示されなくなりますが、代わりに他の問題が発生します。私はこれを、HLSLコンパイラがシェーダをコンパイルしようとしているかのように解釈していますが、実際にはカスタムビルドステップを使用してその代わりに行いたいと思っています。
私の質問はです:Visual Studio HLSLコンパイラを無効にすることはできますか?シェーダファイルをプロジェクトから除外すると、HLSLコンパイラはプロジェクトのプロパティページから消えてしまいますが、手動で行う方法に気付きましたか?
また、Visual StudioビルトインHLSLコンパイラに関するドキュメントはありますか?私は本当に何も見つかりませんでした。私は試しましたが、HLSLコンパイラを、この例のカスタムビルドステップと同じルールに従ってビルドすることに失敗しました。
私はVisual Studio Community 2017 v 15.3.5を使用しています。
ありがとうございました!私は別のフォーラムからまったく同じ解決策を得ました、私はその答えの要約を追加しましたが、あなたは私にそれを打ちました。 –