gpt4 book ai didi

opengl - 将蒙娜丽莎渲染为 PBO

转载 作者:行者123 更新时间:2023-12-04 21:49:58 28 4
gpt4 key购买 nike

阅读后this文章我想尝试做同样的事情,但为了加速我希望在 GPU 上执行的渲染部分,不用说为什么三角形或任何其他几何对象应该在 GPU 而不是 CPU 上渲染。
这是该过程的一张很好的图片:
Mona Lisa
任务:

  • 渲染“一组顶点”
  • 估计差异像素
    渲染的“顶点集”和蒙娜丽莎图像之间的像素(蒙娜丽莎位于 GPU 上的纹理或 PBO 没有太大区别)

  • 问题:
    将 OpenCL 或 Cuda 与 OpenGL FBO(帧缓冲对象)扩展一起使用时。
    在这种情况下,根据我们的任务
  • 渲染“一组顶点”( 由 OpenGL 处理 )
  • 估计差异像素
    渲染的“顶点集”和蒙娜丽莎图像之间的像素( 由 OpenCL 或 Cuda 处理 )

  • 所以在这种情况下,我被迫从 FBO 复制到 PBO(像素缓冲区对象)以获得可用于 OpenCL/Cuda 的渲染“顶点集”。我知道设备到设备内存复制的速度有多快,但根据我需要进行数千次这些复制的事实,不这样做是有道理的......
    这个问题留下三个选择:
  • 使用 OpenGL 渲染到 PBO(不知何故,我不知道如何,这也可能是不可能的)
  • 渲染图像并完全使用 OpenGL 估计图像之间的差异(不知何故,我不知道如何,也许通过使用着色器,唯一的问题是我一生中从未编写过着色器,这可能需要数月的时间我...)
  • 完全使用 OpenCL/Cuda 渲染图像并估计图像之间的差异(我知道如何做到这一点,但在 OpenCL 或 Cuda 中实现的渲染器的稳定和或多或少优化版本需要几个月的时间)

  • 问题
    任何人都可以帮助我为上述过程编写着色器,或者指出在没有 FBO 副本的情况下将蒙娜丽莎渲染到 PBO 的方法...

    最佳答案

    我的直觉是着色器方法也会有同样的 IO 问题,只要 GPU 支持 PS 4.0 或更高版本,你当然可以在着色器中比较纹理;但是你首先还是得把源纹理(蒙娜丽莎)放到设备上。

    编辑:一直在挖掘,这个论坛帖子可能会提供一些见解:

    http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=221384&page=1 .

    海报 Komat 提供了第 2 页上的着色器示例。

    关于opengl - 将蒙娜丽莎渲染为 PBO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6730980/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com