渲染管线与模型基础
图形渲染管线
![[Pasted image 20211219174744.png]]
- 顶点着色器可以进行顶点的移动从何实现顶点动画
- 片段着色器可以实现一些pbR和一些光照模型
简化的渲染步骤
点到线 线到面 面围成多边形 然后再屏幕上显示
展UV
物体的每个顶点平铺在一个二维坐标系中 在片元着色器中就可以进行贴图处理
模型uv
在建模软件中取得uv图 在sp中生成环境diffuse贴图 法线贴图 金属度贴图
模型包含的信息
- 顶点坐标
- 顶点法线
- UV坐标
- 顶点色(fbx格式有obj格式没有)
OBJ格式与FBX格式的区别
FBX有顶点色 与LOD(近距离渲染的更细 远距离渲染的小 LOD100 200 500)细节层次模型
材质基础
材质
- 不同物体表面材质对高光的散射范围不同 scatter大小不同有的大有的小
漫反射
光线均匀的反射出去
镜面反射
根据表面法线进行反射 反射方向的能量为原来的能量 其他部分的能量为0
折射
入射光线一部分被折射一部分被反射 反射和折射的多少由菲涅尔定律决定
粗糙镜面反射
粗糙镜面反射实现少量的法向偏移
粗糙镜面折射
在折射中不是照亮一个点 而是一个区域范围(通常实现办法是把其他物体渲染到这个区域上面)
多层材质
多层材质既可以反射光源的信息也可以反射地表颜色信息
![[Pasted image 20211219193544.png]]
我理解大概是一部分光直接反射
另一部分光 在地表反弹后传出如地板又可以反射光线又可以显示地板颜色
次表面散射
此表面散射就是取到内部信息然后反馈出来
比如说皮肤 玉石
多层皮肤模型
- 表面油脂层近似镜面反射反射高光
- 另一部分光线进入内部后进行漫反射
改变材质表面
常用法线贴图去改变物体表面的法线 因为没有物体是绝对光滑的 用法线贴图可以更加近似模拟现实场景
模型数据在渲染顶点中的作用
- 纹理动画
- 顶点动画
- 顶点色
原理1
通过改变法线贴图改变法线来改变采样的点
原理2
通过改变采样点来改变所采样到的贴图效果
原理3
直接改变顶点位子注意顶点的数目会影响动画效果
顶点色
顶点色可以操作对于一个顶点它的一个通道颜色小于或大于某一个值时候出现阴影 也可以用来加粗线条
顶点画出来是一个三角形的原因是因为所有的导入引擎时候都会自动化为三角形计算
光栅化
光栅化阶段:重心坐标实现顶点插值
顶点法线与面法线
顶点法线插值形成面法线
方向相同的情况下面法线和顶嗲发现相同否则为不同 面法线相对更加不均匀
顶点法线一个顶点一个法线 面法线多少个面多少个法线
扩展部分
NPR卡通渲染中
如果没有采用平滑的方式的法线在扩展时候会产生断裂
而采用平滑方式时候不会发生断裂