我是 Opengl ES 2.0 新手(和 GLSL 新手),如果这是一个明显的问题,请原谅我。
如果我有一个在程序开始时在 CPU 上初始化一次的 VBO,是否可以使用顶点着色器在每帧更新它而不在 cpu 上进行计算,然后将其重新上传到 GPU?我不是指发送制服并基于此操作数据。相反,我的意思是导致 GPU 本身的 VBO 持续变化。
所以我能想到的最简单的例子是每次渲染帧时在顶点着色器中的 gl_Position 的 x、y 和 z 分量上加 1。这意味着如果我只有一个顶点并且它的初始位置在 cpu 上设置为 (0,0,0,1) 那么在 30 帧之后它将是 (30,30,30,1) 。
如果这是可能的,它在代码中会是什么样子?