纹理应用,环境光照
反射光(类似镜子成像)
纹理:就是一块内存,我们可以进行点查询范围查询,会很快,就不需要进行多次的计算,只需要快速查询就可以了。
反射光例子:
我们把所有的环境光记录下来就是环境贴图,(我们对光照都是认为有一个方向,主要只看方向,认为无限远)
思路:我们可以吧环境光记录再球面上面,然后进行展开:
上面和下面会扭曲,类似地图,
解决:
我们吧球的光射到立方体里面,然后我们记录立方体
cubeMap。
纹理还可以做凹凸贴图:意思和名字显然,记录任意点的相对高度(法线也会发生变化)
w我们求一个假的法线贴图(凹凸贴图)一回事,进行着色,让人看起来是不一样的。(不会改变几何信息)
通过相对高度,来计算临近的像素的法线
黄色是我们想要的,但是灰色是实际上的物体表面,我们通过改变对应位置的法线来做出凹凸效果
现在我们看怎么计算:
如果我们向前移动一个单位距离,我们可以知道向上移动了多少距离,那个就是我们的切线,和切线垂直的不就是我们要的法线嘛
用向量表示很简单,可以看PPT
我们在立体里面有u,v两个变化量
现在有更好的方式叫做:位移贴图(用的贴图一样)
这个是真的移动·顶点,所以
凹凸贴图显然有问题,因为不会出现因为凹凸出现的阴影,等
位移贴图要求:三角形面数要求高,一定要比贴图更细。
这样太浪费了,Derictx里面提供了一个如果某一个地方我们需要细分再细分,
三维纹理(里面也有实际值)
这个有点难暂时不整
通过纹理添加阴影
纹理几乎什么都能做,
下面我们开始几何:
我们看很多现实地方我们是可以真的弧线,曲线,但是我们电脑是不会出现的
很多几何就可以理解为描述物体形状的信息
这些都是几何不是我们理解的规则物体
首先我们一般定义两个:
隐式几何:告诉你几何关系:x+y=1
你可以很快的看出来,哪些点再几何图形里面,但是你很难找出哪些点在几何图形上面很难
显示几何
还可以通过参数映射的方式来显示。(参数方程,用所有的uv就可以求出所以xy)
这样就会很难看一个点在里面还是外面。
如果图形变得很复杂,我们就很难用函数去描述他。
现在我们吧几何当作数来计算:
因此我们可以通过简单的几何来定义复杂的几何。(CSG)
通过距离(与物体秒面的距离)来定义几何
如图,如果
‘
图a图b混合成图三
根据距离函数(边界)可求出SDF(A)SDF(B),因为前面的几何关系,等于零的位置就是合成后的表面。(没懂),把距离相等的位置连起来,就可以绘制等高线了。
这一次课有点迷糊