OpenGL学习笔记之法线向量
需要注意的地方:
1.使用glTranslate*函数或者glRotate*函数可以改变物体的外观,但法线向量并不会随之改变。然而,使用glScale*函数,对每一坐标轴进行不同程度的缩放,很有可能导致法线向量的不正确,虽然OpenGL提供了一些措施来修正这一问题,但由此也带来了各种开销。因此,在使用了法线向量的场合,应尽量避免使用glScale*函数。即使使用,也最好保证各坐标轴进行等比例缩放。
2.还有一个地方就是,只能给顶点或者多边形定义法线向量,不可以对多边形的的...
分类:
其他好文 时间:
2014-12-30 13:39:57
阅读次数:
241
以下代码是THREE.JS 源码文件中Math/Plane.js文件的注释.
Plane对象的构造函数.用来在三维空间内创建一个法线向量为normal,从原点到平面的距离为constant的无限延展的二维平面对象.Plane对象的功能函数采用
定义构造的函数原型对象来实现.
用法: var normal = new Vector3(0,0,0),constant = 5.5; var Plane = new Plane(normal,constant);
创建一个法线向量是0,0,0原点到平面的距离是5...
分类:
Web程序 时间:
2014-11-19 16:05:34
阅读次数:
386
与目前为止所涉及到的算法相比,今天的算法也不算难,就是,计算从光源发出的光向量和视线向量之间的半向量,然后与面法线向量求内积,所以相对的负荷也不大。但是,这只是在一定程度上模拟了反射光的效果,并不是非常严格的反射光的计算。
从渲染的结果来看,圆环体已经变的非常漂亮了,实际的效果,请参考文章最后给出的链接。...
分类:
Web程序 时间:
2014-10-06 23:37:41
阅读次数:
194
目标 1. 清除窗口 2.强制完成所有尚未执行的绘图操作 3.在2d或3d空间绘制图元
4.打开、关闭、查询状态 5.控制图元显示 6.在实心物体表面适当位置指定法线向量 7.用顶点数组和缓冲区对象存储和访问几何数据。
8.同时保存和恢复几个状态变量。1.1 3种基本操作:清除窗口、绘...
分类:
其他好文 时间:
2014-04-29 19:50:32
阅读次数:
543