更改对象上的点的颜色

时间:2014-02-14 01:23:43

标签: colors webgl

我对WEBGL中的着色器很新,我的webgl场景中有一个对象(.Json)。当我用鼠标点击对象时,我希望点击的点将其颜色更改为蓝色。我可以用x,y,z格式(称为mouseclicks)获取对象上的点击位置,我知道我需要使用着色器,这是我到目前为止在着色器中所拥有的。

varying vec3 mouseclick;
attribute mouse;


//vertex shader
void main()
 {
  vec4 mouse =(mouseclick,1.0);

 }

  //fragmant shader

 void main()
 {

  colorout = vec3(0.0f,0.0f,1.0f);

  gl_FragColor =vec4(0.0,0.0,1.0,1.0);
  }

1 个答案:

答案 0 :(得分:1)

提供的着色器不起作用 - 变化和制服的使用不正确。此外,在着色器本身中很难做到这一点。您可以按照以下步骤操作:

  • 使用机制找出被点击的对象(这很棘手,你需要熟悉模型到世界空间,转换)

  • 对于此对象,将颜色设置为根据需要更改(在应用程序代码中)。将此作为此对象的属性发送

  • 着色器可以是通用着色器,将颜色设置为变化,并且frag着色器可以使用它来插入颜色