C ++ / OpenGL/Cgを使用して実行されるGPGPU流体シミュレーションを作成しています。現時点では、ライブラリでは、ユーザーがシェーダーへのパスを指定する必要があります。シェーダーからのパスがシェーダーから読み取られます。
自分のプロジェクトやテストでそれを指定しなければならないのは非常に面倒なので、シェーダーのコンテンツを他のコンテンツとリンクさせたいと思います。
理想的には、私の.cgファイルは引き続き個別に参照できますが、ビルド後の手順またはプリプロセッサディレクティブは、必要に応じてソースに含めます。
物事をもう少し面倒にするために、私は「utils」シェーダーファイルを持っています。これには、物事間で共有される関数が含まれています(3Dテクスチャ座標を2Dアトラスに相当するものに変換するなど)。
可能であればクロスプラットフォームのソリューションが欲しいのですが、現在はWindowsのみであるため、それほど大きな問題ではありません。私の検索は実際にobjcopy
はLinuxでしか見られませんでしたが、それをWindowsで使用するのは理想的とは言えません。
それが役立つ場合は、プロジェクトはhttp://code.google.com/p/fluidicで入手できます。