varying 变量的使用
const vertexShaderSource = ` attribute vec4 a_position; uniform mat4 u_mat;
varying vec4 v_color;
void main() { gl_Position = a_position; v_color = gl_Position * 0.5 + 0.5; // gl_Postion 值范围是 -1 ~ 1 , * 0.5 => -0.5 ~ 0.5 ,+ 0.5 => 0~1 正好是片元着色器颜色值范 围!!! } `
const fragmentShaderSource = `
precision lowp float;
varying vec4 v_color;
void main() {
gl_FragColor = v_color;
}
`
关于着色器:着色器也是一组指令!
着色器语言 glsl opengl shading language, 还有其他着色器语言。
点材质 使用着色器 而不是 使用 pointsMaterial 而是 shaderMaterial
点材质中的点着色器, 那就不可以使用 uv了 而是内置变量 gl_Pointcoord 设置近大远小 效果 : 借助 viewPosition.z