1 WebGL坐标系
在现实世界中,所有的事物都是三维的的,而计算机屏幕显示的是二维的图形,将三维和二维联系在一起的纽带就是坐标。
WebGL处理的是三维图形,所以它使用三维坐标系统,具有X轴、Y轴、Z轴。当你面像计算机屏幕时,X轴是水平的(正
方向为右),Y轴是垂直的(正方向为下),Z轴垂直于屏幕(正方向为外)
2.进入三维世界
在WebGL中为了确定观察者的状态,你需要获取两项信息:视点(观察者的位置),观察目标点。我们使用上述三个矢量创建一个视图矩阵,然后将该矩阵传给顶点着色器,用来表示 观察者的状态。
模型矩阵:平移、缩放等基本变换矩阵或它们的组合
<模型视图矩阵> = <视图矩阵> * <模型矩阵>
可视范围(正射类型)
你可以将三维物体放在三维空间中的任何地方,但是只有当它在可视范围内时,WebGL才会绘制它。事实上,不绘制可视范围
外的对象,是基本的降低程序开销的手段。
有两类常用的可视空间
(1) 长方体可视空间,也称盒状空间,由正射投影产生。
(2)四棱锥/金字塔可视空间,由透视投影产生。
首先介绍基于正射投影的盒状可视空间的工作原理。
可视空间由前后两个矩形表面确定,分别称为近裁剪面和远裁剪面。在画布(canvas)上显示的就是可视空间物体在近裁剪面上的投影。
定义盒状可视空间,使用cuon-matrix.js提供的Matrix4.setOrtho()方法可用来