使用 opencl 将软件渲染到 opengl 2d 视图 [关闭]

Posted

技术标签:

【中文标题】使用 opencl 将软件渲染到 opengl 2d 视图 [关闭]【英文标题】:software rendering with opencl onto opengl 2d view [closed] 【发布时间】:2011-07-06 06:59:44 【问题描述】:

我想构建一个小的软件渲染库,因为我喜欢体素的想法,以及其他可能的替代渲染方法。叫我天真。

在 win7 系统上使用带有代码块的 vanilla c++,但具有跨平台意图。使用 glfw 进行窗口管理。

我的计划是使用 gpgpu 进行 opencl(并行)计算,然后使用 OpenGL(在 2D 视图中)进行跨平台上下文管理和帧显示。

因此使用 gpgpu 进行加速计算,但由我来定义这些计算的用途。并要求 OpenGL 仅在屏幕上绘制我的结果。

有没有更简单的跨平台方式将我自己的渲染图放到屏幕上?

这个提议的方法是不是很棒?

【问题讨论】:

【参考方案1】:

正在开发中的glfw3 可以访问本机opengl 上下文。您可以使用它来创建互操作的 opengl 上下文。不过我自己还没试过。

【讨论】:

【参考方案2】:

有没有更简单的方法? 也许吧,但我不知道。

OpenCL 支持 OpenGL 互操作,这使您尝试执行的操作非常快速。 (我自己用过,速度很快,但可能没有我想要的那么快,但我用的效率很低)

这很棒吗?也许吧,但请记住,opencl 不能使用 opengl 可以使用的所有硬件,所以如果可能,请使用 opengl 进行图形处理。

【讨论】:

以上是关于使用 opencl 将软件渲染到 opengl 2d 视图 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

用于光线追踪器的 OpenGL 或 CUDA/OpenCL? [关闭]

糟糕的 OpenCL ImageSampling 性能与 OpenGL TextureSampling

OpenCL - 绘制到 OpenGL 纹理崩溃

dx和 opengl 有啥区别?

请介绍下支持opencl 1.2 的N卡列表

如何在 OpenCL 内核中更新 OpenCL-OpenGL 共享缓冲区数据?