Javascript 使用按钮在WebGL中更改颜色

Javascript 使用按钮在WebGL中更改颜色,javascript,webgl,Javascript,Webgl,我试图创建一个HTML按钮,当按下该按钮时,它会改变webgl中简单三角形对象的颜色。我将按钮设置为按下时,将分配一个新的vec4设置为绿色、蓝色或红色,然后再次将该数据发送到缓冲区,但我做了一些非常错误的事情,因为颜色没有改变。有什么建议吗?这是一个家庭作业,所以我不想要完整的答案,只是指向下一个方向 基本上有三种方法 更新vertexbuffer数据并更改存储在顶点上的颜色属性,然后通过绑定缓冲区并使用bufferData在gpu端更新缓冲区来设置新数据 在片段着色器中使用统一,并使用统一设

我试图创建一个HTML按钮,当按下该按钮时,它会改变webgl中简单三角形对象的颜色。我将按钮设置为按下时,将分配一个新的vec4设置为绿色、蓝色或红色,然后再次将该数据发送到缓冲区,但我做了一些非常错误的事情,因为颜色没有改变。有什么建议吗?这是一个家庭作业,所以我不想要完整的答案,只是指向下一个方向

基本上有三种方法

  • 更新vertexbuffer数据并更改存储在顶点上的颜色属性,然后通过绑定缓冲区并使用
    bufferData
    在gpu端更新缓冲区来设置新数据

  • 在片段着色器中使用统一,并使用统一设置颜色

  • 拥有一个单像素纹理并在片段着色器中使用它,更新纹理中的颜色并使用
    texImage2D
    更新gpu端的纹理

  • 我假设您只是忘记调用
    bufferData
    将更新的顶点缓冲区同步到gpu