【GAMES101】Lecture 10 纹理应用

本文介绍了纹理在现代计算机图形中的多种用途,包括环境光照的纹理表示、模拟凹凸表面效果、程序纹理的深度信息、预计算信息的存储以及体渲染中的三维纹理应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

纹理应用

环境光照

凹凸表面

程序纹理

存储预计算信息

体渲染


纹理应用

我们之前在着色里面讲到这个纹理映射,就是给我们在三维空间中的物体表面贴图对吧,实际上纹理还有很多的用处

在现代的GPU中,这个纹理就等于一块内存加上范围查询或者是滤波操作,它是一种计算像素的通用方法,可以用来表示环境光照、局部的几何信息、体积渲染等等

环境光照

对于来自四面八方的光照,不管是直射光还是反射光,都用一张纹理图把四周的光照信息给记录下来,然后通过纹理映射渲染到这个物体上

这个光照是来着四面八方的,用一个球可以记录下来各种方向的光照

但是这个球在展开成纹理图的时候靠近两个端点的地方会扭曲

但是可以把球映射到一个立方体上

这样得到的纹理图扭曲的部分就会减少

凹凸表面

这个纹理不仅仅可以用来表示这个物体表面的颜色,还可以用来造假物体表面的凹凸程度,通过纹理表示这个每个三角形的相对高度偏移量(在法线方向上的)或者直接存储这个法线来改变这个像素的渲染效果来营造一种凹凸效果,称之为凹凸贴图或者法线贴图

比如在二维中,通过计算两个点之间的这个相对高度,来计算出这个点的切线方向,进而求出点的法线方向

而对于三维空间中的纹理(u,v),可以先计算出u和v方向上的切线,然后合起来当成法线方向

上面都是造假的效果,当然可以直接通过去改变每个三维物体的点的位置来形成真正的凹凸效果,这种叫位移贴图,当然前提是这个三维物体的模型要足够精细,有足够多的这个三角形来跟得上这个纹理变化的速度

那能不能先拿一个粗糙一点的模型、这个三角形比较少的来做,然后位移贴图的过程中发现需要将这个三角形进一步拆分成多个小三角形的时候再继续拆分,这个就是另一套图形学api叫direct x做的,它使用了动态的曲面细分

程序纹理

我们之前说的纹理贴图都是在物体的表面,实际上呢,这个纹理也可以贴到物体内部去,就是我这整一个物体都是有内涵的,像这个切西瓜一样,切开也能看到满满的内部细节,这个实际上呢没有生成这个三维的纹理图,而是去定义一个三维空间的噪声函数,对于每个点都会计算出一个噪声值,这个叫程序纹理或者是过程化纹理

存储预计算信息

这个纹理还可以用来存储一些提前计算好的信息,比如说这个局部的阴影,这个叫环境光遮蔽,就可以提前算好放在这个纹理这里,然后渲染直接用

体渲染

那这里就是说到这个三维的纹理了,比分说这个CT、核磁共振可视化,那就是需要记录这个三维的信息,这个存储到纹理上,就可以直接渲染

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员萌芽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值