はじめに
-
研究室で独りでにレイを飛ばしている木内です. 最近NVIDIA OptiXを使っているのですが,アプリケーションを作るまでが結構長いのでここにまとめます.間違いや、修正したほうが良い点がございましたら、 Twitter @sketchbooks99 か、Email kiuchi@media.lab.uec.ac.jp に ご連絡ください。
-
また、個人開発の一環としてOptiXの面倒な部分へのラッパー等、簡単にレイトレーシングを走らせることができるライブラリを作っています。ご興味ある方はチェックしてみてください https://github.com/sketchbooks99/PRayGround
-
記事作成者のプロフィール : https://www.media.lab.uec.ac.jp/?page_id=1434
-
PART1はこちら
このページは?
- NVIDIA OptiXについてまとめるページです.
- ここでは自分だけのアプリケーションを作るまでの過程を説明します.
ソースコードを改変する
- PART1 ではOptiXのインストールからサンプルを動かすまでを行いました.
- ここでは,ソースコードを改変して自分なりのアプリケーションを作成するまでを行います.
準備
-
前回はインストールしたフォルダで ビルドしたり実行しました.
-
ソースコードを改変したい場合は,このファイルを 別の場所 にコピーする必要があります.
-
ここでは デスクトップ に OptiX フォルダを作成して,その中でアプリケーションを作っていきます.
~/Desktop/OptiX/ を作成
-
フォルダを作成したら, OptiXをインストールした場所 (C:\ProgramData\NVIDIA Corporation\OptiX SDK 7.2.0) 内にある SDK フォルダを,作成したフォルダ内にコピーします.
-
以降は PART1 で説明したようにビルドすれば良いですが,サンプルプロジェクトを全てビルドする必要はありません.
-
そこで,今回は自分が改変したいソースを持つプロジェクトのみをビルドしていきます.
-
まずは 改変するプロジェクト以外のフォルダを SDK から削除します. ここでは PART1 で実行した optixPathTracer を改変するので, それ以外のフォルダを消します.
-
SDK フォルダ内が以下のようになっていればOKです.
-
自分が中身を変更していくので,フォルダや中のソースファイル名も変更しましょう. optixPathTracer → myPathTracer に変えます. 中の .h/.cpp/.cu ファイルも変更していきます.
-
次に 2つの CMakeLists.txt を編集します.
- まず, SDK 以下の CMakeLists.txt を編集します.
- CMakeLists.txt を開き,
#########################################################
# List of samples found in subdirectories.
...
-
と書かれた部分以下から先ほど削除したフォルダ名を削除し,新しく myPathTracer を追加します.
-
次に myPathTracer/CMakeLists.txt を編集します.
-
最後にソースのファイル名を変更しているので, .h/.cpp/.cu ファイル内の optixPathTracer となっている部分をすべて myPathTracer に変更します. #include文 だけでなく, .cu を読み込む部分なども変更する必要があるので注意してください.
-
ここまでできたら,PART1 と同様に Cmake→Visual Studioの順でビルドして実行します.
ソースをいじってみる
試しに myPathTracer.cpp 内のコードを書き換えて見ます.
310 - 317 行目の g_diffuse_colorsの内,2番目の色を青に変更します.
const std::array<float3, MAT_COUNT> g_diffuse_colors =
{ {
{ 0.80f, 0.80f, 0.80f },
{ 0.05f, 0.05f, 0.80f }, // {0.05f, 0.80f, 0.05f} -> {0.05f, 0.05f, 0.80f}
{ 0.80f, 0.05f, 0.05f },
{ 0.50f, 0.00f, 0.00f }
} };
ピンバック: NVIDIA OptiXでレイを飛ばしてみる PART1 | UEC Media Design Lab