09 Games101 - 笔记 - 着色-补充(纹理应用)

09 着色-补充(纹理应用)

纹理应用

纹理在现代的GPU的理解:Texture = 一块内存+滤波/范围查询
纹理不必只存储颜色,还可以是高度等等。
可以“伪造”详细的几何。

Environment Map环境光映射

Environment Maps,将环境光存储在一个贴图上。
因为几乎只有观察方向对环境光起到影响,所以各个方向的光源可以用一个球体进行存储,即任意一个3D方向,都标志着一个texel。

image-20240321153251258

类比地球仪,把它展开,就可以把球面信息转换到平面上,从而得到环境texture。
img
类比地球仪,在极点存在拉伸和扭曲问题

解决方法:Cube Map,天空盒。
img
即用六幅texure表示一个天空盒,再进行一次方向面的计算。
简单来说就是利用方向计算出与对应平面上的交点坐标,剔除平面所对应的一维,剩下来的两维坐标转换到(0,1)范围之内即为(u,v)坐标。

Bump Mapping凹凸贴图

img

  • 记录逻辑上的相对高度(可为负值),表现物体表面凹凸不平的性质。
  • 对每个pixel做一个“扰动”
  • 利用高度差重新计算法线

计算法线的方法:

在平面上:
img
c:影响大小系数

在三维空间:
img

Displacement Mapping位移贴图

img

  • Displacement Mapping,与Bump Mapping类似

  • 物理上的高度改变,即改变了三角形顶点位置

  • 可以通过物体阴影的边缘发现与Bump Mapping区别

  • 代价:要求模型精度高

    • DirectX 中的动态曲面细分:开始先用粗糙的三角形,应用Texture的过程中检测是否需要把三角形拆分的更细

三维纹理

img
三维纹理,定义空间中任意一点的纹理。
并没有真正生成纹理的图,而是定义一个三维空间的噪声函数经过各种处理,变成需要的样子。

阴影纹理

img
阴影可以计算好,直接写在Texture里。

3D Texture 和 体积渲染

img

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值