要想用WEBGL绘图,那最基本的一点就是,绘制在哪里,即坐标是怎么的?下面这个坐标代表的是什么意思?
vec4(0.0, 0.0, 0.0, 1.0)
vec4(-1.0, 0.0, 0.0, 1.0)
vec4(0.0, 1.0, 0.0, 1.0)
为了搞明白这个问题,先把上面坐标点绘制在一个400X400的canvas,如下图:
从上面的绘制结果,我们看出WEBGL中的顶点坐标与CSS的屏幕坐标是不一样的,WEBGL的中心原点在canvas的中心,x(-1,1),y(-1,1),z(-1,1)。从中心点,向左为负,最左边为-1,最右边为1;向下为负,最下边为 -1,最上边为1。在空间中表示一个坐标位置,只需要三个参数,即(x,y,z)就可以了,这里用到了第四个参数w,这第四个参数是为做计算(比如放大,缩小等)用的。其实坐标(x,y,z,w)相当于(x/w,y/w,z/w)。的以当w=1时就是(x,y,z);而当w=0时,不绘制任何内容。