- 浏览: 213223 次
- 性别:
- 来自: 上海
文章分类
最新评论
次表面散射是次时代游戏引擎的一个比较特征性的渲染技术,这项技术让半透明材质开始流行,人物最重要的组成部分皮肤的渲染也融入了复杂的次表面散射渲染。在网上找了很多相关的资料,大部分都是秀一些效果图,也看到了几篇不错的文章,这里写一下自己的理解。由于这个渲染效果,是多项渲染技术的综合运用,所以,作为菜鸟暂时只能谈理论 - -。
次表面散射(Subsurface Scattering):次表面散射简称3S,是光射入非金属材质后再内部发生次表面散射,最后射出物体并进入视野中产生的现象,是指光从表面进入物体经过内部散射,然后又通过物体表面的其他顶点出射的光线传递过程。
次表面散射的光学结构:(把光的来源划分为五种)
Lid :物体表面交互漫反射入射光。
Lis :物体表面交互镜面反射入射光。
Lir :折射光,这也是半透明的特色,有部分光能够通过折射的方式穿过模型。
Liss :局部高频光源在物体内部的单次散射入射光。
Lims :低频环境光源在物体内部的多次散射入射光。
上述五种是针对次表面散射而言比较特殊的光源,除这几种以外。还有三种常见光:1.镜面反射,2.漫反射,3.自发光。这三种按照常规的方式进行渲染即可。
非均匀分层半透明材质结构分析:(这是半透明材质中最复杂的一种,人体皮肤具备这种特征)
指标:
1.光照吸收系数 :由于每一层的材质不一样,所以每一层介质的吸光系数就不一样,系数越小光越不容易衰减。
2.材质的厚度 :厚度*吸收系数 = 光在穿过这一层的时候被衰减的值,如果衰减完了表明光穿不过去,Lir = 0。
3.光照散射系数 :这个是用来计算Liss 和Lims用的,只不过Liss 的光源是点光源,而Lims用的是环境光。
4.法向量 :这个不解释。
上述散射系数和吸收系数都用(R,G,B,A)表示,因为不同的材质会对吸收的光的类型不一样。
算法概述:(别人写的算法)
1.以立方图作为环境光源,从视点位置开始绘制,将三维模型在世界坐标下的顶点位置(EPosTex)、法向量(ENormTex)、纹理坐标(ETexcoordTex)、深度(EDepthTex)以及漫反射光照值(EDiffuseTex)分别绘制到5 张浮点纹理.其中,漫反射光照值是以滤波处理后的立方图作为环境光源计算得到的,并且可采用多渲染对象(multi rendering target,简称MRT)技术用一遍绘制来完成这些浮点纹理的生成。
2.从点光源位置开始绘制,将三维模型在世界坐标下顶点位置(LPosTex)、法向量(LNormTex)、纹理坐标度(LTexcoordTex)、镜面反射光照度(LSpecTex)分别绘制到4 张浮点纹理,也采用MRT 方式用一遍绘制完成。
3.基于延迟着色的思想,只绘制一个满屏的四边形,以EposTex,EnormTex,EtexcoordTex 这3 张浮点纹理以及第2 步得到的4 张浮点纹理作为输入,并使用材质浮点纹理,在图像空间进行单次散射的近似计算,将结果绘制到一张颜色纹理中,得到Liss;同时,采用MRT 的方法,将镜面反射光照值和折射光照值分别绘制到另外2 张颜色纹理,得到Lis 和Lir。
4.绘制一个满屏的四边形,以EDiffuseTex 浮点纹理作为像素光源,在对其进行重要性采样的基础上,使用EPosTex 浮点纹理,在图像空间进行多次散射的近似计算,并将结果绘制到一张颜色纹理中,得到Lims;
5.绘制一个满屏的四边形,使用EDiffuseTex 和EdepthTex 两张浮点纹理,采用SSAO 方法进行交互漫反射的近似计算,并将结果绘制到一张颜色纹理,得到Lid。
6.绘制一个满屏的四边形,以算法第3 步~第5 步所得到的颜色纹理作为输入,并使用公式(2)将各类光照分量进行叠加,得到最终的绘制效果。以上算法步骤一般在绘制循环的每一帧都要执行,因此可以满足动态物体的实时处理需要.虽然每帧需要执行6 遍绘制,但其中的第3 步~第6 步充分融入了延迟着色的思想,每遍只需绘制一个四边形而无须重绘三维模型,并且每像素处理可通过GPU 的并行计算来完成,因而算法可以较好地保证绘制的实时性。
其实是针对上述几种光路,分别算出每种光路对点的贡献值,最后把所有的加起来。
总结 :看着算法就知道还有很多的路要走,什么光线追踪,什么延迟渲染,什么并发计算,都得先会才能做这个。上述是看别人论文的总结,不一定对,要看原文下载附件。
- 一种动态物体次表面散射实时绘制方法.rar (542.8 KB)
- 下载次数: 3
发表评论
-
Bilateral Blur(双边滤波)
2013-05-03 17:23 1885图像模糊是一个很常用且重要的处理方式,是很多渲染效果中不可或 ... -
kd-tree
2013-04-30 17:08 928kd-tree:是一种分割k维数据空间的数据结构。主要应用于 ... -
RT(光线追踪)
2013-04-28 23:11 1461光线追踪应该算是终极显卡杀手了,尽管拥有高端的画质,但是对 ... -
全局光照:VPL(Virtual Point Light)
2013-04-28 13:36 2163VPL(Virtual Point Light 虚拟点光源 ... -
菲涅耳效应
2013-04-22 23:15 1297菲涅耳效应 当光从一种具有折射率为n1的介质向另 ... -
Terrain(地形)
2013-04-16 15:09 897概述:对于地形来说,无非是对地形中每个顶点的有效管理,而UV ... -
阴影技术汇总
2013-04-13 21:28 1912对于一款游戏来说, ... -
Terrain(地形) Geometry Clipmap
2013-04-11 02:38 2390在大的室外场景中,地形的几何体需要较大的存储空间和渲染带宽 ... -
柔体(布)
2013-04-08 17:02 733布的模拟相当于对一个平面上所有顶点加上物理模型因素 物理 ... -
体积光
2013-04-08 13:51 1379体积光是透射的一种 ... -
大气散射
2013-03-29 13:15 1087大气散射是由于光线与空气中的灰尘和微粒相互作用引起的,其在地 ... -
粒子系统
2013-03-28 17:08 853粒子系统: 大多数情 ... -
SSAO详述
2013-03-26 22:20 1798简介: 在所以的间接光照的方式中,AO(环境遮蔽)是最为 ... -
实例(instancing)绘制
2013-03-24 01:26 1063应用场景: 这种方式无法减少被渲染的顶点的数量,但是可以 ... -
球谐波光照(Spherical Harmonic Lighting)
2013-03-15 21:13 1836SH(Spherical Harmonic Lightin ... -
反射(Reflect)和折射(Refract)
2013-03-13 16:24 1712BRDF 双向反射分布函数 反射: R = 2 ... -
高斯滤波
2013-02-22 00:13 1816原文来自:http://blog.csdn.net/zdd ... -
模拟Ocean Water
2013-01-18 00:39 10893D模拟海洋是一个比较复杂的工程,大体分为:海洋动画,水面光 ... -
PN-Triangles和Phong-Tesse
2013-01-14 15:58 1632今天被人鄙视了一下,原因是菜鸟常被人鄙视。技术上来说,高手 ... -
tessellation(曲面细分)
2013-01-14 02:17 1964在实时渲染的时候,通常我们会因为带宽,效率等原因,不会采样 ...
相关推荐
基于次表面散射(SSS)的玉石渲染 次表面散射(SSS)的概念自行百度,表现光进入物体,然后发生内部散射,最终从不同的位置射出,主要用于模拟玉石,翡翠,蜡烛,皮肤等有一点点透光的物体
次表面散射是一种非常常用的效果,可以用在很多材质上,如皮肤,牛奶,奶油奶酪,番茄酱,土豆等等
SISSS着色器简单仿制次表面散射着色器
自定义相位屏幕空间次表面散射适用于Unity 5的朴素屏幕空间次表面散射解决方案。 动画gif: : 仅在Unity 5.4.2中进行了测试,可与延迟/向前,伽玛/线性,HDR / LDR,DX11 / DX9,透视/正交一起使用。如何使用: 将...
可分离的团结 可分离的次表面散射是一项技术,它允许在屏幕空间中仅进行两遍就可以有效地执行次表面散射计算。
计算了空间纳米金属银颗粒周围的散射场和吸收强度。
分析了表面散射和体散射电场偏振方向的差异,即在入射角和散射角确定的情况下,表面散射和体散射的电场矢量振动方向存在固定的夹角,控制起偏器和检偏器的偏振方向就可以消除透明基片的表面散射或体散射,独立有效地...
一篇表面粗糙散射经典的论文,可以供科研人员参考
EveryRay渲染引擎 ... 体积照明(来自“快速,灵活,基于物理的体积光散射”) 海洋模拟(来自DX11存档样本) 屏幕截图 控制项 鼠标+右键-相机旋转 WASD-相机侧面移动 E / Q-相机上下移动 退格键-启用编辑器
matlab开发-反射镜和扩散器表面散射的声学模型。用于空气声学的各种表面散射模型
但是有很多软件效果如雾,辉光,凹凸,粒子云,焦散,次表面散射等等,是软件的功能。硬件的顶点渲染,像素渲染是看不到这些效果的。因此需要进行软件渲染。渲染器本身就是一个软件。它可以是3D软件自带的如maya默认...
描述 次表面散射实现过程中得一个重要部分, 光线透过皮肤的实现原理
本文研制一套全自动散射特性测试平台,并使用该测试平台对汤姆孙散射诊断系统中杂散光吸光材料的表面散射特性开展实验测量研究。在1064 nm的波段下,该测试平台对双向反射分布函数的本底噪声水平优于2×10 -5sr -1。...
屏幕空的次表面散射实现算法的一次改良, 算法特别效果,以及效率相比之前的几种实现都有了提高
基于多次传递的半透明/伪造的次表面散射着色器的概念验证。 此技术将视图空间的z坐标存储在帧缓冲区的alpha通道中。 它通过不同的混合操作执行多次扫描,以根据正面和背面之间的深度差异来遮挡背面的光线。 着色器...
Unity不像虚幻那样自带很多特效所以做皮肤只能去商场买无奈商场大多数皮肤shader效果很垃圾就Preintegrated算得上皮肤。...不过这只是个下载文件大家自己玩玩,周末有空写完整实现教程,教大家弄次表面散射。
平面电磁波理想金属表面散射场分布及粗糙度参数关系的理论分析.pdf
对于精密光学元件表面微米亚微米量级的表面缺陷,光在缺陷处会产生强烈的衍射和散射效应,其在像面的分布情况不能简单地使用几何光学进行解释。采用时域有限差分方法(FDTD)建立了光学元件截面为三角形、矩形的表面...
将 Disney BRDF 扩展为具有集成次表面散射的 BSDF。
库中包含用于预测双向反射分布函数 (BRDF) 的漫反射表面散射模型、用于计算孤立粒子散射的代码以及用于光栅反射、透射和衍射的代码。重点是那些基于物理且预测散射光的偏振特性的漫散射模型。该库还包括许多可用于...