既然光线在皮肤下面其实也是乱飞的,那么我们是否可以用某种噪声来模拟光的乱撞从而实现次表面散射呢?
当然是可以的。只不过这又要向我们要一张贴图,太吃资源了。
人物贴图一般都是2048甚至4096的,多一张图就意味着多吃几十MB的显存。
而实际上,我们可以用Mipmap来代替这个厚度图。
众所周知,颜色贴图(AlbedoMap)以及其他贴图都是2的N次方大小。比如512*512,1024*1024,2048*2048,4096*4096。
这是为了显卡中方便计算。当某个物体距离我们很远的时候,我们无需给它一个特别高清的贴图。给个256甚至128的就行。
Mipmap实际上是,在我们把一张贴图导入到游戏引擎中之后,自动生成的一系列贴图,比如导入一个512*512的贴图,就会生成256*256,128*128,64*64,32*32,16*16,8*8,4*4这几张图。具体案例可以参考dds格式的图。
所以我们只需要把几张Mipmap在渲染时依次叠起来,就能大概做出“白里透着红”的感觉了。
当然是可以的。只不过这又要向我们要一张贴图,太吃资源了。
人物贴图一般都是2048甚至4096的,多一张图就意味着多吃几十MB的显存。
而实际上,我们可以用Mipmap来代替这个厚度图。
众所周知,颜色贴图(AlbedoMap)以及其他贴图都是2的N次方大小。比如512*512,1024*1024,2048*2048,4096*4096。
这是为了显卡中方便计算。当某个物体距离我们很远的时候,我们无需给它一个特别高清的贴图。给个256甚至128的就行。
Mipmap实际上是,在我们把一张贴图导入到游戏引擎中之后,自动生成的一系列贴图,比如导入一个512*512的贴图,就会生成256*256,128*128,64*64,32*32,16*16,8*8,4*4这几张图。具体案例可以参考dds格式的图。
所以我们只需要把几张Mipmap在渲染时依次叠起来,就能大概做出“白里透着红”的感觉了。













