这种方法或编码风格是不是要避免?
为什么?
着色器的全部重点是让您能够做到自己想要的,更有效地表达自己想要做的事情,并让自己更好地控制硬件。
你永远不应该,有史以来害怕重新用于不同的功能的东西。纹理不存储颜色;他们存储数据,其中可以是颜色,但它也可以是其他的东西。越早停止将纹理作为图片来思考,你越能成为图形编程人员。
存在要使用的GPU和API。使用它作为你看合身;不要让你认为API应该被用来限制你。
我不知道如何使用OpenCL并使用GPU的多线程功能来直接声明并传递我想要的代码?
昨天,我会说“是”。但是,今天发布了:OpenGL compute shaders。
OpenGL ARB和Khronos创建了这个着色器类型等等的事实是默认OpenCL/OpenGL互操作并不是为渲染目的生成数据的最有效方式。毕竟,如果是这样,那么OpenGL就不需要具有广义计算功能。有3个版本的GL 4.x没有提供这个。现在这里的事实基本上是ARB说的,“是的,我们需要这个。”
如果ARB,由许多制造硬件的人员组成,认为CL/GL互操作并不是最快的方法,那么很明显应该使用计算着色器。
当然,如果你想要做些什么现在,那将无济于事;只有NVIDIA有计算着色器支持。即使这只是在测试版驱动程序。在AMD获得支持之前需要好几个月的时间,而且在支持变得稳定和稳定之前还需要更多的时间。
即便如此,您不需要计算着色器来生成数据。人们已经使用transform feedback and geometry shaders to do LOD and frustum culling for instanced rendering.不要害怕在“OpenGL吸取东西”框之外思考。
+1向我解释什么是电脑鼠标。 – 2012-08-07 08:19:02
@ChristianRau哦,上帝,起初我以为你在开玩笑,但后来我读了它。史诗 – thecoshman 2012-12-12 09:16:07