我试图创建一个HTML按钮,当按下它时,它会改变webgl中我的简单三角形对象的颜色。我按下按钮设置的方式是,当按下时,会分配一个设置为绿色,蓝色或红色的新vec4,然后再将该数据发送到缓冲区,但由于颜色没有变化,我做了一些非常错误的事情。任何指针?这是一项家庭作业,所以我不想要完整的答案,只是指向下一个方向。
答案 0 :(得分:1)
基本上有三种方法。
更新顶点缓冲区数据并更改顶点上存储的颜色属性,然后通过绑定缓冲区并使用bufferData
更新gpu端的缓冲区来设置新数据。
在片段着色器中使用制服并使用制服设置颜色。
有一个像素纹理并在片段着色器中使用它,更新纹理中的颜色并使用texImage2D
更新gpu端的纹理。
我假设您忘记调用bufferData
将更新后的顶点缓冲区同步到gpu。