图形2.2 模型与材质基础笔记

一、 渲染管线与模型基础

1.渲染管线

 

  • 蓝色:可编程管线

  • 顶点着色器:模型的顶点进行计算

  • 片元着色器:将光栅化阶段插值的信息进行计算

2.uv

  • 纹理映射:任何3D物体的表面都是2D的→纹理就是一张图→纹理映射:把这张图蒙在一个3D物体上

  • uv,就是把这张图展开在一个坐标系中,坐标轴为u和v

  • 每个顶点都能利用uv坐标后去到贴图所存储的信息

3.一个模型包含的信息

以obj文件为例:

    • v:顶点坐标数据(模型空间中单个顶点的xyz坐标)

    • vt(texcoord):贴图坐标(uv坐标)

    • vn(normal):顶点法线

    • 顶点色

    • obj和fbx格式对

     

二、材质基础

 

1.漫反射

  • 光朝各方向均匀反射。

  • 补充:(GAMES101)入射的Radiance是均匀的 → 入射和出射的Irradiance相等,并且他俩的Radiance都均匀 → 入射的Radiance和出射的相等

  • (其中Lambert模型认为各个方向是均匀的)

2.镜面反射

  • 入射光根据表面法线进行反射

3.折射

  • 对于特殊的介质,光会反射和折射。

4.粗糙镜面反射

 

5.粗糙镜面折射

 

6.多层材质

  • 除了物体本身的材质以外,表面还有东西(可以看到材质本身和表面的一层)

  •  

7.次表面散射(GAMES101---半透明材质--BSSRDF)

 

  • 把皮肤看做三层:油脂层(高光)、表皮层(颜色)、真皮层

  •  

8.改变材质表面

  • 现实世界中不存在完美光滑的表面,模型顶点带的法线也有限(用法线贴图做效果)

  • 补充:(GAMES101):渲染方程中,和材质有关的一项:BRDF CG中,Material==BRDF

三、模型数据解析(在渲染管线中的作用

1.纹理动画

  • 渲染的过程中改变纹理坐标,使其采样时发生偏移,来达到动画的效果 (eg: UE4中的panner节点可以获取纹理坐标并进行位移)

第二个部分:对背部画面采样的部分

  • 改变uv采样点的位置,产生动画效果

2.顶点动画

  • 顶点着色器计算的是模型的每个顶点,每个顶点数据不同

    • 因此同个计算公式,不同的顶点会得出不同的结果

  • 顶点动画就是在顶点shader中对模型的顶点进行操作,来产生动画效果。

  • 需要一定数量的顶点,顶点动画的效果才会明显

  • 一个顶点传入顶点shader,顶点shader控制顶点位置时,所有的顶点都会进行一样的算法。

获取顶点uv坐标,控制移动数值大小

3.顶点色

  • 可以通过判断顶点色,来做一些操作

    • eg,顶点色达到一定的值,就做阴影。

    • eg2:庄懂老师的课后部分的案例里,使用模型的顶点色作为mask使用

  • Maya中顶点色的绘制

4.插值:重心坐标。

  • //详细笔记参考:《GAMES101》-L9-插值部分

  • 总结:三角形所在平面任意点(x,y)都可用三顶点(α β γ)的线性组合表示。

  • 补充:重心坐标不能保证投影后不变,所以三维情况下要先找到重心坐标再插值

  • 任意一个点的表示公式

  •  

5.顶点法线、面法线

  • 面法线本质上还是顶点法线,只是存储方式不同

  • 原理:

  • 面法线:三个顶点共用一个法线,插值出来结果相同

  • 顶点法线:每个顶点都有一个发现,插值出来也就不同

    •  

扩展:NPR中的描边

  • NPR渲染中,通常在顶点shader中,将顶点法线方向偏移,再在片元着色器中直接输出一个颜色,达到描边效果。

  • BackFacing描边时,描边线条断开就是因为没有平滑顶点之间的法线导致的

1.顶点色的其他作用

作为一种存储的mask使用(这样可以少使用一张图)

不想让脸上有菲涅尔效应,就把脸涂黑,乘上顶点色

不想让某些地方有描边,可以如法炮制

准则:塞入顶点色的信息必须是线性变化的,如果不是,就要做好精度打折的准备。

可用于预先指定照明、阻光和其他视觉效果。

就是把颜色信息存在顶点里,但是在低模的情况下效果很差。

2.模型光滑组对法线有什么影

mesh网格模型没有真正的光滑面,所有面都是三角形,nurbs曲面才是真正光滑的面

光滑组合并了相邻网格的共用边和顶点,使法线的插值均匀平滑

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值