問題タブ [optix]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Optix を Qt Creator でコンパイルする - リンクの問題
Nvidia OptiX SDK から提供されたサンプル プロジェクトを Qt-Creator でコンパイルしようとしています。
私は .pro ファイルを作成し、この help Compiling Optix with Qt Creator! を使用して自分のニーズに合わせて編集しました。
CUDA と OptiX の方向を編集したことを除いて、まったく同じ .pro ファイルを持っていますが、完全にコンパイルできません。
に由来する可能性がありNVIDIA-OptiX-SDK-X.X.X-linux64/SDK/sutil
ます。
しかし、行をコメントアウトすると、optix.CONFIG += no_link
.cu ファイルから生成された .ptx ファイルがオブジェクト ファイルにリンクされます。したがって、.ptx ファイルはオブジェクト ファイルとして扱われ、Qt は構文エラーを表示します。
全体として、optix.CONFIG += no_link
未定義の参照を提供し、この行がないと、コンパイラは .ptx ファイルをリンクしようとし、構文エラーを返します。
リンクステップで特定のタイプのファイルだけを無視する方法がQtにありますか、それともどこかで間違いがありますか? どちらの場合も、ビルド ステップで正しい .ptx ファイル (指定された SDK プリコンパイル済みサンプルと比較して) と .o ファイルが生成されます。
前もって感謝します!
編集:私が自分で考え出したことを気にしないでください。エラーは、追加のライブラリをリンクするのに失敗したことをすでに教えてくれました。それが私が前進しなければならなかった理由です:
qt - QGLWidget - 歪みが発生しました
OptixSDKのsample6をQGLWidgetで表示したいと考えています。
私のアプリケーションには、X、Y、Z 軸を中心とした回転用の QSlider と QGLWidget が 3 つしかありません。
私の理解では、QSlider または Mouseevents によってupdateGL( )が呼び出されるたびに、 paintGL()が呼び出されます。次に、回転マトリックスを初期化し、このマトリックスを PinholeCamera に適用して、新しい変換されたカメラ座標でシーンをトレースしますよね?
トレースが終了したら、出力バッファを取得し、OptiX フレームワークで指定された GLUTdisplay.cpp のように、glDrawPixels()でピクセルを描画します。
しかし、私の問題は、画像が歪んでいる/歪んでいるということです。たとえば、ボールを表示したかったのですが、ボールは極端に平らになっていますが、回転はうまくいきます。ズームアウトすると、画像の水平方向のスケーリングが垂直方向よりもはるかに遅くなるようです。
適切に使用されていないgl...()関数で何かをしなければならないことはほぼ確実です/願っています。私は何が欠けていますか?誰かが私を助けることができますか?
完全を期すために、paintGL()およびupdateGL()コードを投稿します。
そして、ここに paintGL() があります
c++ - memcpy.asm が見つかりませんエラー
Visual Studio 2013 プラットフォームを使用して Optix で作業しています。1 か月以上作業していますが、突然、「memcpy.asm が見つかりません」というエラーが発生しました。
このファイルを Visual Studio フォルダーで見つけましたが、「ソース ファイルは、モジュールがビルドされたときとは異なります」と表示されます。
opengl - OPTIX 3.8 で freeglut_main.c が見つからない
私は自分のレイ トレーシング プロジェクトのために Optix で作業してきました。そのクラスと関数を調べました。表示関数とコールバックはすべて glutmainloop() で処理され、決して終わらないことがわかっています。私の質問は、関数が見つからないということです。または glutmainloop() が定義されている .c ファイル? それは隠されていますか?
誰でも私を助けることができますか?
nvidia - スタックには何がありますか?
optix のスタックに格納されているものを理解しようとしています。
私が理解しているように、コンテキストごとにスタック サイズを設定し、光線生成プログラムの各スレッドに 1 つのスタックが割り当てられます。レイが起動されると、スレッドはレイのペイロードを格納するスタックを運びます。
たとえば、再帰的なレイトレーサーを実行すると、メモリに保持するにはペイロードが多すぎるため、スタック オーバーフローが発生するのではないかと考えました。しかし、現在、float + 3 uint のペイロードを持つ放射光線と、float のみのシャドウ レイを含むプログラムがあり、バウンスは 1 回しかありません。ただし、スタック オーバーフローを回避するには、スタックを 1024 よりも大きくする必要があります。確かに、これは私の 2 つのペイロードだけではありません。
それで、スタックには他に何がありますか?(私の特定のケースではなく、一般的な意味です。レイ ペイロード以外にスタックに保存されるものは何ですか? (もしそうなら)? たとえば、ヒットに関する情報も保存しますか? シーン ツリーについて? どのプログラムが現在の光線を呼び出したかを追跡しますか?)
ご協力いただきありがとうございます!
cuda - Optix の例を使用して obj モデルにテクスチャを描画する方法
私はoptixとcudaに非常に慣れていません。Optix SDK の例を変更して、レイ トレーシングを使用して 3D モデルを表示しようとしています。「progressivePhotonMap」の例を修正しました。optix/cuda の知識が不足しているため、3D モデルにテクスチャを描画する方法がわかりません。SDK の例に詳しい方が助けてくれますか?
「swimmingShark」や「cook」などの他の描画テクスチャの例を読み、使用する手がかりを見つけようとします。ただし、これらの例では、テクスチャの描画方法が異なるようです。
これからは、テクスチャを cpp ファイルにロードする必要があることを知っています
cudaファイルにTextureSamplerを作成します
、そして、このように描画するためのテクスコードを与えます。
ただし、texcoord が cuda ファイルのテクスチャ座標データを取得する場所が見つかりません。.cpp ファイルにこのようなコードがあるはずです
texcoord がテクスチャ座標データを取得する場所と、座標データとテクスチャを一致させて 3D モデルをレイ トレーシングで表示する方法を教えてもらえますか? Google でチュートリアルが見つかりません。目標を達成するために、助けや指示が本当に必要です。ありがとうございました。
visual-studio - OptiX SDK 3.9 を CMake でコンパイルするとエラーが発生する
Win10-x64 を使用しています。
Visual Studio 2010、CUDA 7.5、OptiX SDK 3.9.0、CMake 3.5 の順にインストールします。
次に、OptiX/SDK/ の INSTALL-WIN.txt に従って、サンプルをコンパイルしてみます。構成を押してから、次のようにします。
次に、にコピー/../lib64/*
します/../lib/*
/../bin64/*
/../bin/*
上記のエラーは修正されたようですが、新しいエラー:
CMake3.0 を試してみましたが、同じ結果が得られました。
optix - Nvidia Optix :rtProgramCreateFromPTXFile または rtProgramCreateFromPTXString は RT_ERROR_INVALID_SOURCE? を返します。
コードの結果は
私のプロジェクトは PTX ファイルを生成でき、cuda と optix が構成されています。
この問題を解決するにはどうすればよいですか?