2011年08月29日

NVIDIA OptiXについて

レイトレーシングを自分で実装しなくても、OptiXを使えばいい気がしてきたので、少し試してみるかもしれません。

とりあえずサンプル実行までのメモ。

http://developer.nvidia.com/join-nvidia-registered-developer-program
でユーザ登録します。

http://developer.nvidia.com/optix-download
から最新のSDKをダウンロードしてインストールします。

デフォルトで下記の場所にインストールされます。
C:\Program Files\NVIDIA Corporation\OptiX SDK 2.1.1

CUDA SDKとCMakeとCコンパイラ(Visual Studio等)が必要です。

ここでは全部インストール済みとして話を進めます。

CMakeでVisual Studioのプロジェクトを作成します。
以下SDKフォルダのINSTALL-WIN.txtの適当和訳です。

1. cmake-guiをスタートメニューから起動します。

2. path/OptiX SDK 2.1.1/SDK ディレクトリをソースコードの位置に指定します。

3. ビルドディレクトリを作成します。ソースディレクトリとは別のディレクトリにしておきます。
path/OptiX SDK 2.1.1/SDK/buildフォルダを提案します。
このティレクトリに書込み権限があるかどうか確認しておきましょう。
ない場合はある場所を指定しましょう。
もしそのフォルダが存在していないのであれば、CMakeはフォルダを作るかどうか尋ねてくるでしょう。

4. Configureボタンを押して、Visual Studioのバージョンを選んでください。
64ビットと32ビットで分かれていることに注意してください。(例:Visual Studio 8 2005 Win64)

(私の場合Cgが見つからないっぽいエラーが出ました。入れてなかったですかね。)
http://developer.nvidia.com/cg-toolkit-download
(から最新のCg Toolkitをダウンロードしてインストールします。)
(今回64ビットで開発予定なのでComplete installationにしました)

(CMakeを起動し直してConfigureを押すと、今度はエラーは出ませんでした。)

もしあなたが64ビットのデバイスコードを生成したいのであれば、CUDA_64_BIT_DEVICE_CODEにチェックを入れてください。
デフォルトではOFFになっていて、32ビットデバイスコードを生成します。

(良くわかりませんがチェックを入れてみます。)

5. もう一度Configureを押して、次にGenerateを押してください。

6. buildディレクトリにOptiX-Samples.slnが作成されているはずですので、それを開いてください。

7. ソリューションのビルドを選んでください。

8. ソリューションエクスプローラから適当にサンプルプロジェクトを選んで、右クリック→スタートアッププロジェクトに設定してください。

9. サンプルを実行してください。"q"か"ESC"でウィンドウを閉じます。

サンプルについてはSDK/NVIDIA-OptiX-SDK-samples.htmlに説明がありますが、フォトンマッピングやマルコフ連鎖モンテカルロ法など色々ありますね。
FPSはこのグラフィックボードだとこれぐらいが限界、ということなんでしょうかね。

tutorialというプロジェクトがあるので、これを最初からやっていけば良さそうな気がしますね。
posted by シンドラー at 19:03 | Comment(6) | TrackBack(0) | CUDA | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
突然のご連絡すみません。
現在、NVIDIAを用い、レイトレーシングの研究をしていこうという者です。
こちらのブログを参考にさせていただいています。

基本的な質問で申し訳ないのですが、上記に書かれてある手順でConfigureボタンを押したに、"CMakeLists.txt"が含まれていません。 というErrorが出てしまうのですが OptiX SDK version/SDKファイルの中にCMakeLists.txtを置いておく必要がるのでしょうか。
また、CmakeLists.txtの中身とはソースコードを書くのでしょうか。

長文失礼いたします。
ご返事のほどよろしくお願いします。
Posted by CGstudent at 2017年05月16日 13:39
CMakeLists.txtはこちらで用意するものではないので、どこかにはあるとは思います。

SDKのディレクトリ自体がないのであれば、開発者向けのOptiX SDKではなく一般向けのOptiXドライバなどが配布されていて、そちらをダウンロードしたのかもしれません(未確認)。

後は、NVIDIA関係のディレクトリはProgramDataとかProgram Filesなど色々な場所に色々な名前でできているので、どこか違う場所にある可能性もあります。
Posted by シンドラー at 2017年05月17日 13:47
シンドラーさん

ご返信ありがとうございます。
ビルドが完了し、OptiX-Samples.slnが作成されました。

続いて各実行ファイル(.cpp)のデバッグを行ったのですが、sutil_sdk.libとlib64.objファイルが開けないというエラーが出力されます。
この二つのファイルもこちらで用意するものではなく、インストールの際にあるものなのでしょうか。


長文失礼いたします。
ご返事のほどよろしくお願いします。
Posted by CGstudent at 2017年05月29日 17:15
OptiX-Samples.slnを開くとALL_BUILDがスタートアッププロジェクトになっていると思いますが、そのビルドは成功していますか?

sutil_sdkは、プロジェクトの一つで、ユーティリティ的なライブラリなので、このライブラリのビルドに失敗していると、殆どのサンプルのビルドに失敗すると思います。

後は環境でしょうか。こちらはなぜかVisual Studio 2015/2017で動作しなかったので、少し古いですが2013でビルドしています。
Posted by シンドラー at 2017年05月30日 01:12
シンドラーさん

ご連絡遅れてしまい申し訳ありません.

Visual Studio 2013 での実行をしたところ、正常に動作しました!
大変助かりました、ありがとうございます.

今後もこちらのページを参考にレイトレーシングについて学んでいきたいと思います.

ありがとうございました.
Posted by CGstudent at 2017年08月03日 11:52
動いたようでよかったです。

2017年11月提供予定のOptiX 5.0はさすがに2015/2017に対応しているんでしょうね。
http://www.atmarkit.co.jp/ait/articles/1708/02/news065.html
Posted by シンドラー at 2017年08月04日 22:40
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック