【法向量】让人无法理解的法向量

光照效果中,提到了一个概念:法向量。实在让人难以理解啊。

一、从概念上来说,法向量是用来决定光的反射效果的。

光的反射,理论上来说,取决于2点:物体的材质,顶点的法向量。

物体的材质比较好理解,当光照射的时候,决定反射哪些光,吸收哪些光,比如一个红色的物体,必然反射R,而吸收G,B。

那么,法向量来说,就是决定这个物体的各个顶点所接收到的光照。(估计还要决定反射的方向)

二、法向量的定义:垂直于某个表面的方向向量。

         对于opengl es来说,稍微简单一些,由于组成图形的基础是三角形,三角形没有曲面,只有平面,所以一个三角形的三个顶点理论上来说是可以共享一条法线的。

三、如何确定一个法线:从各处收集的资料来看,似乎法线的计算都不一样,有各种方法都可以确定。给人一种法线可以随意指定,错了也能显示东西出来的感觉。

  

      但是从定义来看,法线理论上是唯一固定的,面确定了,法线也就定了。

 

四、法线的长度必须标准化,也就是长度只能为1.

       需要将x,y,z除以法线的总长度.

 

无法理解的是在绘制圆柱的时候,为什么如下设置:

float a1=0;float b1=y1;float c1=z1;

float ll=getVectorLength(a1,b1,c1);//法线长度

a1=a1/ll;b1=b1/ll;c1=c1/ll。

 

这里的a1为什么强制为0了呢?

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值