跳至正文

Geometry1(Introduction)

反射的东西是什么 拿什么来反射它?

 
 

纹理的其他应用:

纹理完全可以理解为一块数据 可以做不同的查询
环境贴图:

可以渲染这个茶壶 被环境光所照亮 反射出了左边贴图的结构

环境贴图是假设环境光是来自无限远处 强度都是一样的

这个茶壶叫犹他茶壶

 
 

 
 

把整个环境光记录在球上 还可以把它展开

 
 

扭曲问题:不是均匀的描述

解决的办法:

不存在球的表面上了 存在一个立方体上

 
 

 
 

 
 

凹凸贴图/法线贴图

谁也没有规定纹理只能描述颜色

他可以定义表面的任意一个点的相对高度

相对高度一变 法线就会发生变化

于是明暗也会发生变化

也就是说我们做了一个假的法线来欺骗人的眼睛

来达到凹凸效果 但实际上并没有改变几何

对法线的象限做一个扰动

如何从切线变法线 垂直就行了

 
 

纹理会影响到着色 但是在边缘的地方会露馅

这里是看不到自己的凸起投影到自身的

位移贴图是真实改变了位置的 显然结果要更好

当然也有代价 要求模型本身的三角形得足够细

因为改变的是三角形顶点的位置

其实纹理也可以是三维的

像左边这个球砍掉一半可以看到内部是什么

定义了三维空间的噪声的函数 来处理 最后得到纹理

可以把计算好的信息写进纹理

把着色结果乘于计算好的环境光遮蔽

就可以得到这样的效果

3D的纹理

 
 

 
 

不同形状的几何:

汽车、引擎、布料、水花、城市、狗的毛发、细胞蛋白质(微观几何)、树

 
 

图形学会分类成隐式和显式的几何

 
 

隐式的几何:

不会告诉你点在哪 而是告诉你点满足的关系

哪些点会满足这个式子呢?是很难直接看出来的

如果想要判断形状是什么 挺困难的

好处就是方便判断点在不在这个面上

 
 

显示的几何:

定义一个函数 给你uv但是输出xyz

把每一uv都找一遍就行了

与隐式相反 找出形状很容易

判断点的位置就变得困难了 你只能知道它在外面 或者在表面或者里面

但至于具体在哪 还得想想

 
 

我讨厌曲面 我不能相信这玩意这么难 几何太难了~

 
 

 
 

举例隐式的应用:

也可以通过布尔运算来定义

对距离函数做融合形成的结果 叫做SDF

上:实际的融合

下:用距离函数的融合 等于融合他们的边界

 
 

 
 

 
 

距离函数的表示的网站:

https://iquilezles.org/www/articles/raymarchingdf/raymarchingdf.htm

 
 

如何恢复呢:

0的位置全找出来

 
 

三维上如何提取呢?

用密度函数

 
 

也可以通过水平集或者距离函数

 
 

分形:自相似

例如雪花就是经典的分形

中间这个是一种西兰花

有一个明显的性质 突起里还有突起

这个在渲染的时候会引起强烈的走样

 
 

总结:

隐式的函数通常表示起来都很容易 要不然就是用什么不是特别明显的来表示

用隐式函数描述的隐式表面很容易做光线

正常情况下 想严格描述物体用隐式是很适合的

但是复杂就很难办了 所以要有显式

 
 

发表评论

您的电子邮箱地址不会被公开。