1 接下来我们继续聊gl_FragColor这个东西,不过在此之前,我们得简化一下上面的两个Shader,VertexShader和FragmentShader:
我发现我并不需要Varing去让VetexShader和FragementShader去进行通信,所以要他们干嘛!删之
<script id="fragment_shader" type="x-shader/x-fragment">
uniform float time;
void main( void ) {
gl_FragColor = vec4( cos(time/10.0), sin(time/10.0),sin(time/10.0)*cos(time/10.0), 1.0 );
}
</script>
<script id="vertexShader" type="x-shader/x-vertex">
void main()
{
vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
gl_Position = projectionMatrix * mvPosition;
}
</script>
1.1 从上述代码上来看,不难发现其实FragmentShader里面的gl_FragColor就是上色,它有个全称叫“逐片元上色”
当然,名字肯定是辖取的,意思是对的,只是名字嘛...反正我们只需要知道它的功能就是逐片元上色,既然是逐片元,那么就有很多的操作空间啦!
在此之前,我们得要获得片元不过,不幸的是,在此之前我们得知道什么叫varying,而这,其实是下一章的问题