cuda解码 opengl 显示_CUDA与OpenGL互操作之顶点缓存映射

引言

CUDA相比GLSL更加灵活,逐渐成为主流的GPGPU编程技术。CUDA加速计算后的结果往往需要在显示器中绘制出来,如果我们将在显存中的计算结果拷贝到主存,然后使用QPainter绘制到窗口中,这中间的显存-主存,主存-显存的数据拷贝会显得冗余。既然CUDA计算的结果和图形绘制的内容都在显存里,那么可以通过一些技术手段直接将CUDA计算结果绘制到显示器上,即CUDA与Graphics的互操作。

相关接口介绍

注册显卡资源

__host__ cudaError_t cudaGraphicsGLRegisterBuffer(struct cudaGraphicsResource **resource, GLuint buffer, unsigned int flags);

注册一个OpenGL缓冲对象,参数说明:

resource - 指向返回的对象句柄

*buffer - 被注册的缓冲对象名

flags - 注册标识

cudaGraphicsRegisterFlagsNone: 注册的资源在CUDA程序可以进行读写,默认为该枚举

cudaGraphicsRegisterFlagsReadOnly: 指定CUDA程序只能读该资源

cudaGraphicsRegisterFlagsWriteDiscard: 指定CUDA程序不会读该资源对象,每次写资源时资源的内容完全被覆盖,不会保留之前的任何数据

取消注册函数

cudaError_t cudaGraphicsUnregisterResource(cudaGraphicsResource_t resource);

映射显卡资源

cudaError_t cudaGraphicsMapResources(int count

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值