sai*_*avi 5 opengl directx shader gpgpu opengl-es
我有一个关于计算着色器的问题.是否可以在DX 9中使用计算着色器?如果GPU上没有计算着色器片段,是否仍然可以使用带有DX9驱动程序的计算着色器?(就像IMG所说的那样,SGX 545没有它,但SGX 6X将会拥有它).我想知道如果我可以使用DirectX9或OpenGL驱动程序在SGXs GPU上进行一些简单的通用编程.
另外,无论如何我可以使用OpenGL顶点着色器进行GPGPU编程吗?这就是我的想法:我将我的矩阵/数据加载到顶点缓冲区,并将它们绑定到程序上下文.我将一些其他静态变量加载到统一变量中,并将我的实际计算程序加载到顶点着色器中.它到目前为止看起来都是可见的(是吗?)但是顶点着色器的输出将经过光栅化并将被提供给片段着色器(根据openGL中的内容).无论如何,我可以阻止数据通过整个图形pipleline,或者我可以在顶点着色器完成执行后拦截,并以某种方式读取值和执行时间?
无论如何,我可以使用 OpenGL 顶点着色器进行 GPGPU 编程吗?
从顶点着色器出来的东西通常在光栅化阶段进行插值。在旧版本的 openGL 中,您可以指定对于特定变量是否应该进行此类插值。我不知道你是否仍然可以这样做...是的,你仍然可以(感谢 datenwolf 的提示)...但在我看来,更好的方法是使用片段着色器。对于任何后期处理效果,使用简单的顶点着色器渲染覆盖整个帧(四边形)的两个三角形,渲染到全帧,并在片段着色器中进行计算。将要用作纹理输入的数据放入纹理中,并使用帧缓冲区对象 (FBO) 将结果渲染到其他纹理。
| 归档时间: |
|
| 查看次数: |
1670 次 |
| 最近记录: |