基于three.js的shader入门教程 三

222 阅读1分钟

threejs交流群511163089

片源着色器

前面提了,点会三个三个的构造成三角面,这个就是给三角面上色了。

有varying这种开头的变量

有uniform开头的变量

varying vec3 a;这种变量 是从顶点着色器传来的

你需要在顶点着色器也写一句 `

var geometry = new THREE.SphereBufferGeometry(10);

var material=new THREE.ShaderMaterial({

vertexShader:`
varying vec3 a; 
void main()
{
    a=position;
	gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
}`,
fragmentShader:`
varying vec3 a; 
void main()
{
    gl_FragColor=vec4(1.0);
}
`,
})

var mesh=new THREE.Mesh(geometry,material)`