二维或者三维物体的平移、旋转、缩放都已经了解了,实际上用到的很多三维模型,比如3D游戏中的人物模型等,都是由多个较为简单的小模型组成,这嘴关键的就是如何处理模型的整体运动。这种模型就叫做层次结构模型。层次结构模型是一个复杂的模型,最产概念的方法是按照模型中的各个部件的层次顺序,从高到低逐一进行绘制,模型和模型之间的链接出应用模型矩阵。
image.png
实现部件A转中带动部件B转中 这是是一种比较简单层次模型,可以很直接,只要对部件B施以部件A的旋转矩阵即可。上图描述的是使用模型矩阵使得上臂关节绕肩关节转动30度,然后在绘制关节以下的各部件时,为他们施加同一个模型矩阵,也令其绕肩关节转动30度,这样关节以下的部分就能自动的随上臂转动。
层次模型
层架模型指的就是把所有的简单模型的位置都绘制一遍,移动到想要的位置。移动的模型也叫模型矩阵。模型矩阵的绘制规律一般是从大到小进行逐一的绘制。
着色器和着色器对象
webgl中创建和初始化着色器供webgl使用,具体的可以分为7个步骤
- 创建着色器对象(gl.createShader())
- 向着色器对象填充着色器程序的源代码(gl.shaderSource())
- 编译着色器 (gl.compileShader())
- 创建程序对象(gl.createProgram())
- 为程序对象分配着色器(gl.attachShader())
- 连接程序对象(gl.linkProgram())
- 使用程序对象(gl.userProgram)
网友评论