Memory CUDA结果可以存储在OpenGL可访问的纹理中吗?

Memory CUDA结果可以存储在OpenGL可访问的纹理中吗?,memory,opengl,cuda,textures,Memory,Opengl,Cuda,Textures,CUDA可以用来生成OpenGL纹理吗?我知道这可以通过将CUDA结果读回系统内存,然后将其加载到纹理中来完成。。。但是我想找到一个办法来保存这本书。。。CUDA可以用来生成纹理吗?是的,CUDA有API函数来实现OpenGL的互操作性 使用cudaGLRegisterBufferObject(GLuint bufObj)注册到CUDA,然后使用cudaglmappbufferobject(void**devPtr,GLuint bufObj)获取设备内存指针以操作CUDA内核中的缓冲区 完成后

CUDA可以用来生成OpenGL纹理吗?我知道这可以通过将CUDA结果读回系统内存,然后将其加载到纹理中来完成。。。但是我想找到一个办法来保存这本书。。。CUDA可以用来生成纹理吗?

是的,CUDA有API函数来实现OpenGL的互操作性

使用
cudaGLRegisterBufferObject(GLuint bufObj)
注册到CUDA,然后使用
cudaglmappbufferobject(void**devPtr,GLuint bufObj)
获取设备内存指针以操作CUDA内核中的缓冲区

完成后,取消映射
cudaGLUnmapBufferObject(GLuint bufObj)
,然后显示


完整解释见CUDA编程指南,可从CUDA工具包下载。

有点像。不能直接从内核写入纹理,但可以将结果从内核复制到纹理的映射cudaArray,而无需将其复制回系统内存。查看
cudaGraphicsGLRegisterImage()
cudaGraphicsMapResources()
cudagraphicsubresourcegetmappedarray()
,我不知道CUDA,但我知道OpenCL可以做到这一点。还要注意的是新的3.0版本。另一个GL-Dx将被弃用