如何在CUDA中处理OpenGL立方体贴图纹理?
当想要在CUDA内核中使用OpenGL纹理时,要做的一件事就是从注册图像和映射资源中检索CUDA数组,在这种情况下是纹理.在驱动程序API中,它通过cuGraphicsSubResourceGetMappedArray调用完成,在2D纹理的情况下,这不是问题.但是在谈到上述立方体贴图时,此函数的第三个参数需要面部枚举(如CU_CUBEMAP_FACE_POSITIVE_X).因此出现了一些问题 - 当一个人通过这样的枚举时,返回的纹理数组将仅包含该特定面的数据,对吧?然后如何使用立方体纹理作为一个整体,执行立方体映射,同样:
color = texCube(cubeMap, x, y, z);
Run Code Online (Sandbox Code Playgroud)
或者在CUDA内核中不可能这样做,并且需要在用户代码中使用2D纹理和适当的计算和采样?