2010-04-14 23 views
2

CUDA可以用來生成OpenGL紋理嗎?我知道這可以通過將CUDA結果讀回到系統內存中,然後將其加載到紋理中來完成......但我想找到一種方法來保存此副本...... CUDA可以用於生成紋理嗎?CUDA結果可以存儲在OpenGL可訪問的紋理中嗎?

+0

我不知道CUDA,但我知道OpenCL可以做到這一點。 – 2010-04-14 21:22:04

回答

2

是,CUDA擁有API函數允許OpenGL互

使用cudaGLRegisterBufferObject(GLuint bufObj)註冊到CUDA,然後用cudaGLMapBufferObject(void ** devPtr, GLuint bufObj)來獲得設備內存指針來操作你的CUDA籽粒緩衝區。

完成後,您將取消映射cudaGLUnmapBufferObject(GLuint bufObj)然後顯示。

完整說明在CUDA工具包中下載的CUDA編程指南中。

3

整理。您不能直接從內核寫入紋理,但可以將內核的結果複製到紋理的映射cudaArray,而無需將其複製回系統內存。看看cudaGraphicsGLRegisterImage(),cudaGraphicsMapResources()cudaGraphicsSubResourceGetMappedArray()

+0

另請注意,這些是新的3.0版本。其他GL-Dx將被棄用 – fabrizioM 2010-04-15 07:29:33

相關問題