Game101课程笔记_lecture08_Shading2-shading Pipeline and Texture Mapping

在这里插入图片描述

1 Binn-Phone Reflectance model

1 高光

高光:比较光滑的物体,观察的方向和反射的方向比较接近的时候。

在这里插入图片描述
在这里插入图片描述
只需要看n和h是否接近,就可以知道v和R是否接近。这里做了等价变换。为啥用半程向量。
如果用v和r是否接近,是phone模型,算反射方向不好算。
为啥加p这个指数呢?原因是下图cos^p的大小
在这里插入图片描述
指数p就是来控制高光面积的大小。
在这里插入图片描述

2 环境光

环境光是一个常数,保证没有地方是黑色的。
下面的是比较粗略的,精确计算的话要用全局光照。
在这里插入图片描述

3 着色模型

在这里插入图片描述

4 questions

如果一个点是凹下去的话,环境光理应更暗一点吧
为什么不考虑物体到观察点的距离造成的能量损失

2 着色频率

三个球用的模型一模一样,但是为啥着色后不一样了呢?这就是着色频率导致的。
在这里插入图片描述
第一个图,着色应用到每个三角形。
中间的图,着色应用到每个顶点,每一个顶点做一次法线,三角形内部用插值。
第三个图,着色应用到每个像素上,

1 flat shading

在这里插入图片描述

2 Gouraud shading

在这里插入图片描述
但是三角形大了,高光就看不见了。

3 Phone shading

这里是指着色频率。
在这里插入图片描述

4 比较

几何模型足够复杂的话,flat shading不一定差,但是超过了像素的话,其效率也没有phone shading快。
着色频率取决于面,顶点的频率。
在这里插入图片描述

5 顶点法线

相邻的面的法线的加权平均。
顶点相关联的面的法线做加权平均。

在这里插入图片描述
下面的计算涉及到了重心坐标,
下面这里走神了。
在这里插入图片描述
问题:怎么得到点所相连的三角形呢?

3 实时渲染管线

在这里插入图片描述
如何定义一个空间中的模型。
先定义所有的点,再定义三个点形成一个三角形,所以只需要对顶点进行处理。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面的shading,顶点如何着色,像素如何着色。所以可能在顶点处理阶段和片元处理阶段。
在这里插入图片描述

在这里插入图片描述

2 Shader Programs

每一个顶点或者每一个像素如何运作
如果写的是顶点,就是vertex shader
如果写的是像素,就是pixel shader= fragment shader。
定义任意的顶点和任意的像素如何操作。

在这里插入图片描述
做完这个作业,后面再学OpenGL等API,就会觉的很简单。

3 推荐一个网站,直接写shader就可以显示结果。

https://www.shadertoy.com/
在这里插入图片描述
有事没事在这个网址写shader ,多练习。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
GPU是并行度很高,很适合做图形学的渲染,利于做并行计算。

4 Texture Mapping

在这里插入图片描述
有一种方法可以定义任何一个点的属性
定义任何一个点的不同属性。
在这里插入图片描述
任何一个三维物体的表面都是二维的。
物体表面任何一个点和纹理表面任何一个点点的对应。
在这里插入图片描述
怎么把纹理映射到不同的三角形上,是几何上的参数化,我们不用管。
在这里插入图片描述
UV纹理的范围在(0,1)之内。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
纹理设计的好,就会无缝连接。
在这里插入图片描述
知道三个顶点的uv坐标,但是如何知道三角形内部的uv坐标。
三角形顶点有各个属性。但是
在这里插入图片描述

question

纹理和着色的区别是什么?
着色和材质有什么区别?
纹理就是逐点的属性

5 视频

https://www.bilibili.com/video/av90798049?p=8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值