书本源代码 https://download.csdn.net/download/qfire/10371055
5.1 视点、观察目标点和上方向
我们可以用上述三个矢量创建一个视图矩阵,然后将该矩阵传给顶点着色器。视图矩阵可以表示观察者的状态,含有观察者的视点、观察目标点、上方向等信息。Matrix4.setLookAt()函数可以根据上述三个矢量来创建出视图矩阵。ch07/LookAtTriangles.html
从指定视点观察旋转后的三角形
用键盘改变视点
5.2 可视范围(正射类型)
不绘制可视范围外的对象,是基本的降低程序开销的手段
顶点着色器的执行流程
5.3 可视空间(透视投影)
投影矩阵的作用
5.4 正确处理对象的前后关系
WebGL为了加速绘图操作,是按照顶点在缓冲区中的顺序来处理它们的。
WebGL提供了隐藏面消除功能
深度冲突:当几何图形或物体的两个表面极为接近时,就会出现新的问题,使得表面看上去斑斑驳驳的。WebGL提供多边形偏移
5.5 立方体
使用gl.drawElements()代替gl.drawArrays()函数进行绘制。
通过顶点索引绘制物体