0

私はこの件について読み、並列化されたレイトレーシング エンジンを実装中です (現在は光線と球体の交差のみを使用しています) が、結果を GLUT ウィンドウに表示するか、ファイルに直接書き込むことしかできないようです。どうすればこれを達成できるか途方に暮れています。現在、cudaGraphicsResource をセットアップして、GL ピクセル バッファ オブジェクトにマッピングしています。OpenGL に比較的慣れていないので、CPU でピクセル データを取得する方法がわかりませんでした。

編集:申し訳ありません。私が投稿したように、私は目がくらむほど明白な glReadPixels ルーチンを見つけました。それを調べます。

4

1 に答える 1

1

ピクセルバッファオブジェクトがCUDAコードを参照しているという事実は無関係であることがわかりました。glReadPixels(0,0、DIM、DIM、GL_RBGA、GL_UNSIGNED_BYTE、&bucketofdata)呼び出しを行うだけの簡単なものでした。私がまだ完全に答えていない問題は、bucketofdataがmallocを使用して初期化され、GLubytebucketofdata [DIM * DIM * sizeof(uchar4)]として宣言されている場合にのみ、上記の呼び出しが失敗する理由です。

于 2013-02-11T10:50:33.797 に答える