CUDA で OpenGL キューブ マップ テクスチャを処理するにはどうすればよいですか?
CUDA カーネルで OpenGL テクスチャを使用したい場合、行うことの 1 つは、登録された画像とマップされたリソース (この場合はテクスチャ) から CUDA 配列を取得することです。ドライバー API ではcuGraphicsSubResourceGetMappedArray
呼び出しによって行われますが、2D テクスチャの場合は問題ありません。しかし、前述のキューブ マップについて話すと、この関数の 3 番目のパラメーターにはフェイス列挙型 ( などCU_CUBEMAP_FACE_POSITIVE_X
) が必要です。したがって、いくつかの疑問が生じます。そのような列挙型を渡すと、返されるテクスチャ配列には、その特定の面のデータのみが含まれますよね? 次に、キューブ テクスチャ全体を使用して、同様にキューブ マッピングを実行する方法:
color = texCube(cubeMap, x, y, z);
または、CUDA カーネルでこれを行うことは不可能であり、ユーザー コードで適切な計算とサンプリングを使用して 2D テクスチャを使用する必要がありますか?