Game101课程笔记_lecture10_几何
1 纹理应用
纹理理解成一块数据,去查询。
1 环境光-环境贴图
纹理用来表示表示环境光
经典模型-经典名字
这个图里的茶壶是ulta teapot
兔子
龙
康奈尔盒子
存储环境光,把环境光存储到一个球上。并且把它展开,但是它有扭曲问题。
解决办法:
存储到立方体的表面。没有扭曲的问题了
但是需要额外 的计算,描述不同方向的光照关系。
能看到它,一定有光线发射到你的眼睛,它一定有光发出。
2 凹凸贴图(法线贴图)
存储高度和法线
不把几何形体变复杂的情况下,用纹理来表示相对的高度,也就是法线发生变化,导致着色的明亮对比。
人为的做假的法线,
为了改变任何一个点它的法线。
1 Bump Mapping
通过改变顶点的相对高度,从而改变了其顶点法线
计算新的法线方向,
线切线
用凹凸贴图计算切线,然后再计算出法线:
2D:
3D:
3 位移贴图
用一个纹理定义任意一个点应该到的高度,这个是真的做个移动。
这个位移贴图的结果要更好,但是需要模型的顶点要足够细。
三角形足够细致要比纹理定义的频率还要高。
动态的曲面细分,根据需要做曲面的细分,directX有个API就是做这个的
4 三维纹理
三维空间中噪声函数。
5 环境光遮蔽
计算好的一副纹理,然后将这张纹理贴上。
很大计算可以拿到之前就行计算,可以用纹理来记录之前的信息。
6 体渲染3D Texture and Volume Rendering
2 Introduction Geomtry
1 几何的例子
纤维-绳子-毛衣
城市的几何多,如何存储
这个毛发如何表示,非常非常复杂
细胞和蛋白质,什么时候,如何过渡。
几何不是都可以用三角形面来表示的事情
2 几何表示的方法
1 隐式的表示
用隐式方程表示,给你一个关系,满足这个关系,就是这个几何体上的点。
知道这个式子的形状很难。
判断一个点是否在这个面上是非常简单的事情。
2 显式的表示
直接把所有的点或者通过参数映射的表示
马鞍面是大家非常喜欢的几何体
测试一个点在不在几何体内比较难。
有一些问题适合显示,有一些适合隐式
几何太难了!
3 隐式表示的几个方法
1 代数曲面
几何隐式 的表示方法通过代数的形式。但是一些简单的形体也需要特别复杂的代数来表示。
2 基本几何图的布尔运算
通过一般几何体布尔运算来得到!
3 距离函数:(不懂)
表示能力非常强,有很多有用的地方
对几何的距离函数做融合。
SDF-有向距离函数
4 水平集方法
人体密度纹理。
水滴和水滴融合到一块。
6 分形
自相似
递归
应用不是很多,这种对于后面会有渲染走样的问题。