在阅读this文章之后,我想尝试做同样的事情,但为了加速渲染部分,我想在GPU上执行,不用说为什么三角形或任何其他几何对象应该在GPU而不是CPU上呈现。
这是一个很好的过程形象:
使用OpenCL或Cuda与OpenGL FBO(帧缓冲区对象)扩展时。
在这种情况下根据我们的任务
因此,在这种情况下,我不得不从FBO到PBO(像素缓冲区对象)进行复制,以获得OpenCL / Cuda的渲染“顶点集”。我知道设备到设备内存的复制速度有多快但是根据我需要做数千个这样的副本的事实,不这样做是有道理的......
这个问题有三个选择:
任何人都可以帮我编写一个着色器用于上述过程,或者可能指出将Mona Lisa渲染到PBO而没有来自FBO的副本的方式...
答案 0 :(得分:1)
我的直觉是Shader方法也会遇到相同的IO问题,只要GPU支持PS 4.0或更高版本,你当然可以比较着色器中的纹理;但你首先必须将源纹理(蒙娜丽莎)放到设备上。
编辑:一直在挖掘这个论坛帖子可能会提供一些见解:
http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=221384&page=1
海报Komat在第2页提供了着色器的示例。