cudaGraphicsGLRegisterBuffer是把opengl缓冲区对象同cuda绑定
使用cudaGraphicsResourceGetMappedPointer
获得的指针类型void**
获取的void**指针可以直接传入核函数中来进行修改
// imgId运行时将在CUDA和OpenGL间共享,通过把imgId注册为一个图形资源
cudaGraphicsGLRegisterBuffer(&resource, imgId, cudaGraphicsMapFlagsNone);
// 映射该共享资源
checkCudaErrors( cudaGraphicsMapResources(1, &resource, NULL) );
// 请求一个指向映射资源的指针
uchar4* devPtr;
size_t size;
checkCudaErrors( cudaGraphicsResourceGetMappedPointer((void**)&devPtr, &size, resource) );
cudaGraphicsGLRegisterImage是把opengl纹理对象同cuda绑定
使用cudaGraphicsSubResourceGetMappedArray获取cuda指向资源的指针
获得的指针类型cudaArr