使用 OpenGL 着色器进行数学计算 (C++)

2024-05-09

我有一个矩阵(例如 100x100 尺寸): 我需要对每个元素进行计算(matrix[i,j]*tt/8+5例如)

我有一个巨大的矩阵,我想使用 OpenGL 着色器来实现该算法。 我想使用着色器,例如:

uniform float val;
uniform float tt;

void main()
{
    gl_Position.x = val*tt/8+5
}

我该如何实施该计划?计算后如何获得矩阵(我不想显示任何窗口\图片?


如果您创建一个,这是可能的fake窗口帧缓冲区。

See my 示例程序 https://github.com/skanti/Gaussian-Filter-GPU-OpenGL我滥用的地方片段着色器 as a 计算着色器因为计算着色器都很新。该程序对矩阵进行一些高斯滤波计算并将其返回给 CPU。 (实际上它做什么并不重要)。

以下是一些需要注意的事项:

  • CPU/GPU 之间文件传输速度慢
  • 其他人已经指出你的矩阵是NOT巨大的。我认为它非常非常小(甚至可以放入 RAM)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 OpenGL 着色器进行数学计算 (C++) 的相关文章

随机推荐