原文 http://www.azure.com.cn/article.asp?id=231 用深度值近似模拟物体的厚度,厚度越小处透光越多. varying vec4 position;varying vec4 world_pos;varying vec2 texcoord0;varying vec3 normal; void main(void){   gl_Position = ftransform();   world_pos = gl_Position;   position = gl_…
次表面散射是一种非常常用的效果,可以用在很多材质上如皮肤,牛奶,奶油奶酪,番茄酱,土豆等等  初衷是想做一个牛奶shader的,但后来就干脆研究了sss这是在vray上的次表面散射效果 这是本文在unity中实现了的次表面散射效果: 左侧为BRDF(双向反射分布),右侧为BSSRDF(双向次表面散射反射分布)  各参数如上为:S:BSSRDF结果Rd: BSSRDF的漫反射Fr:: 菲涅尔反射Ft: 菲涅尔透明度,透射比Fdr: 菲涅尔漫反射的反射率E:辐照方向Wiki 中给出:radiant…
之前的人皮渲染相关 前篇1:unity3d Human skin real time rendering 真实模拟人皮实时渲染 前篇2:unity3d Human skin real time rendering plus 真实模拟人皮实时渲染 plus篇 SSS:Unity3d shader之次表面散射(Subsurface Scattering) PBR:Unity3d 基于物理渲染Physically-Based Rendering之specular BRDF Screen-Space P…
次表面散射(Subsurface Scattering),简称SSS,或3S,是光射入非金属材质后在内部发生散射, 最后射出物体并进入视野中产生的现象, 即光从表面进入物体经过内部散射,然后又通过物体表面的其他顶点出射的光线传递过程. 图 次表面散射原理图示 图 真实环境中的次表面散射 要产生使人信服的皮肤和其他半透明材质的渲染效果,次表面散射(Subsurface Scattering)的 渲染效果十分重要. 图 有无次表面散射的渲染对比图(左图:使用次表面散射 | 右图:无次表面散射) >中…
1. Separable Subsurface Scattering demo 可以从 https://github.com/iryoku/separable-sss 下载下来,但是默认的sln 是 vs2010 版本的. 2. 解压,记得不要有中文路径,我这边直接安装了vs2012,直接打开,提示升级,然后点击升级,或者直接去 属性-> 配置属性-> 常规-> 平台工具集 , 设置 v110 3. 这个时候可以正常运行,但是最后会提示 Failed creating the Direc…
用unity5自带的standard shader        ------------by wolf96 …
目录 一. 前言 1.1 本文动机 1.2 PBR知识体系 1.3 本文内容及特点 二. 初阶:PBR基本认知和应用 2.1 PBR的基本介绍 2.1.1 PBR概念 2.1.2 与物理渲染的差别 2.1.3 PBR的特征 2.2 PBR的衍变历史 2.2.1 Lambert(1760年) 2.2.2 Smith(1967年) 2.2.3 Phong(1973年) 2.2.4 Cook-Torrance(1982年) 2.2.5 Oren Nayarh(1994年) 2.2.6 Schlick(…
OpenGL是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库.OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL.IRIS GL是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了OpenGL.OpenGL的英文全称是“Open Graphics Library”,顾名思义,OpenGL便是“开放的图形程序接口”.虽然DirectX在家用市场全面领先,但在专业高端绘图领域,OpenGL是不 能被取代的主角. O…
PBR基本介绍 PBR代表基于物理的渲染,本质上还是 gl_FragColor = Emssive + Ambient + Diffuse + Specular 可能高级一些在考虑下AO也就是环境光遮蔽就是下面的情况 vec4 generalColor = (Ambient + Diffuse + Specular): gl_FragColor = Emssive + mix(color, color * ao, u_OcclusionStrength) 在非PBR模式下,这种光照方式往往看着不…
离线渲染中,通常可以用kd,ks,kt(分别代表物体的漫反射系数,镜面反射系数,透射系数)来简单地描述一个物体的基本材质,例如,我们将一个物体设置为:kd=0,ks=0.1,kt=0.9,即代表一束光击中该物体表面后,其中的90%发生透射(折射),另外10%被表面反射回来.这代表了无论光线以何种角度击中物体表面,它的反射率和透射率都是一样的.但是实际生活中是否是这样的呢? 试想,你站在湖边,低头看脚下的水,你会发现水是透明的,反射不是特别强烈:如果你看远处的湖面,你会发现水并不是透明的,反射非常…
判断一种PBR光照模型是否是基于物理的,必须满足以下三个条件: ()基于微平面(Microfacet)的表面模型.Be based on the microfacet surface model. ()能量守恒.Be energy conserving. ()应用基于物理的BRDF.Use a physically based BRDF.   原理一 微平面模型 The microfacet model     描述:任何表面(surface)在微观尺度下都可以描述为由一系列微小的平面(micr…
一: 关于能量守恒 出射光线的能量永远不能超过入射光线的能量(发光面除外).如图示我们可以看到,随着粗糙度的上升镜面反射区域的会增加,但是镜面反射的亮度却会下降.如果不管反射轮廓的大小而让每个像素的镜面反射强度(Specular Intensity)都一样的话,那么粗糙的平面就会放射出过多的能量,而这样就违背了能量守恒定律.这也就是为什么正如我们看到的一样,光滑平面的镜面反射更强烈而粗糙平面的反射更昏暗. 当一束光线碰撞到一个表面的时候,它就会分离成一个折射部分和一个反射部分.反射部分就是会直接…
散射需要:吸收,内散射,外散射分为瑞利散射Rayleigh Scattering和米氏散射 Mie Scattering  后面会详细讲解 大气中散射由多种原因产生,微粒,尘埃,水蒸气等等 阳光由于散射增加会减弱并变色  物体也会随着距离增加散射增加而减弱并变色 大气光线散射由于 一天中的时间,天气,污染的改变而改变 散射共通篇 Radiometric Quantities辐射度量包括:辐射通量Radiant Flux辐射率Radiance辐照度Irradiance 辐射通量Φ (Radiant…
效果图 这次先上效果图*4 散射概念 光线击中空气中的微小颗粒后的偏折导致了光线的散射.我们看到的阳光应该是由视线上的散射在视线方向上的集合.如果由地面的反射,还要加上经过散射计算的地面反射. Rayleigh散射 由较小的空气分子引起的散射,对不同波长的光有不同的散射程度,蓝色最强.也就是天空为啥是蓝色的原因. Mie散射 由较大的漂浮颗粒(气溶胶--PM2.5????)导致的散射 相位方程 相位方程描述有多少光会倍散射到相机方向上. θ:采样点处光线(太阳到采样点)和视线(相机到采样点)的角…
采样反射函数 BxDF::Sample_f()方法根据与相应的散射函数相似的分布来选择方向.在8.2节中,该方法用于寻找来自完美镜面的反射和透射光线;在这里讲介绍实现其他类型的采样技术. BxDF::Sample_f()在[0,1)范围内取得两个使用反演法取得的样本,其中这些样本是使用分层采样或者低偏差采样生成的,所以这些样本本身具有很好的分布性. 这个方法默认采用余弦加权的半球采样.这个样本分布对于大多数BRDF会产生正确的结果. Spectrum BxDF::Sample_f(const V…
[Unity Shader](三) ---------------- 光照模型原理及漫反射和高光反射的实现 [Unity Shader](四) ------ 纹理之法线纹理.单张纹理及遮罩纹理的实现 [Unity Shader](五) ------ 透明效果之半透明效果的实现及原理 本文主要参考了冯乐乐老师的<Unity Shader入门精要 >一书,再加上网上一些参考资料而写. 笔者使用的是 Unity 2018.2.0f2 + VS2017,书中使用的是 Unity 5.2.1 ,由于版本…
Surface Shader 光照例子 这里有一些自定义光照模型和Surface Shaders的例子.通常的Surface Shader例子在这里. 由于延迟光照在某些自定义的逐材质光照模型中表现得并不好,在下面大多数例子中,我们让shader只编译到正向渲染中. 漫反射(Diffuse) 让我们以使用内建Lambert光照模型的shader作为开始吧! Shader "Example/Diffuse Texture" { Properties { _MainTex ("T…
为方便个人手机学习时候查阅,从网上转来这些彩图. 如属过当行为,联系本人删除. 勘错表 http://candycat1992.github.io/unity_shaders_book/unity_shaders_book_corrigenda.html 转自:http://candycat1992.github.io/unity_shaders_book/unity_shaders_book_images.html 前言 第2章 渲染流水线  图2.1 真实生活中的流水线  图2.2 渲染流水…
作者:i_dovelemon 日期:2020-10-11 主题:Atmospheric Scattering, Volume Scattering, Rayleigh Scattering, Mie Scattering, Single Scattering, Multiple Scattering 引言 Atmospheric Scattering(大气散射),是很多 3A 大作的标配.好的大气系统,能够给游戏带来很好的体验,诸多的游戏都花费了大量的精力来构建一整套复杂的大气系统. 一般来说,…
客户的要求如下 步骤: 1.进行玻璃瓶效果分析 效果如下:高光,类次表面散射(里层通透而外层较为暗淡),外层白色勾勒轮廓. 高光:unity内部提供光滑度参数,越光滑则高光效果越明显,啤酒瓶材质是属于光滑,高光明显,可用下面的公式: o.Smoothness = _Glossiness; 数值可控制在0.9附近. 外层白色轮廓描边: 描边效果很常见,只要获取物体的外边缘再加上自发光系数就可以做个很好的描边效果了 half rim = 1.0 - saturate(dot (normalize(I…
http://www.iryoku.com 感觉Jorge有这个世界的全部.... 2012年那篇  那年他刚博士毕业.... 抄了他很多东西 ....抄了他这么多年..... 言归正传 对sss我之前有些模糊的地方 之前有一篇 gdc skin的贴 今天更新一些2.0的认识 Subsurface scattering 上篇写过 但我很模糊 这里再强调一下 ss包括两部分 走bssrdf的模型 从同一面会出去part1 paper里管这个叫反射部分要区别于皮脂层的反射  从背面也会出去part2…
Gesture Drawing with Alex Woo Gesture Drawing with Alex Woo and Louis Gonzales http://eisneim.com/?page_id=1271 ------------------------------Animation------------------------------Basics Animation 03 Drawing for Animation (基础动画03绘图动画电子书)http://www.9…
<BLAME!>是Polygon Pictures Inc.(以下简称PPI)创业33周年以来制作的第一部CG剧场电影,故事来自于贰瓶勉的同名漫画作品(中文译名为<探索者>或者<还特工次世代>).也算是我本人来到日本之后参与制作的第一部长片.由于从头设计了流程,时间跨度约莫从2015年开始,以<Knight of Sidonia>为基本素材进行实验和改进,虽然中途发生了一些波折,也有许多地方的进步,但是最后终于如期发布.详情请访问blame.jp.制作细节就…
原文地址:http://www.adriancourreges.com/blog/2015/11/02/gta-v-graphics-study/   原文的简介: GTA(侠盗猎车)系列自从1997年首部发售以来有了很大的进步,两年前,Rockstar发布的GTAV获得了成功,首日1100万套的销量打破了7项吉尼斯世界记录. 在PS3上游玩时,游戏的完成水准和技术质量给我留下了深刻印象.加载屏幕是最影响体验的:而在GTA中你可以游戏几个小时,在一个巨大的开放世界中驾车数百公里,而没有任何的中断…
合金装备V:幻痛 制作特辑 资料原文出自日版CGWORLD2015年10月号   在[合金装备4(Metal Gear Solid IV)]7年后,序章作品[合金装备5 :原爆点 (Metal Gear Solid V: Ground Zeroes)]1年半后,合金装备(MGS)系列的最新作[合金装备5 幻痛(METAL GEAR SOLID V: THE PHANTOM PAIN)]发售了.游戏上做最新的挑战,一直走在这个时代的游戏图形最前端的开发团队,在本作中是以什么为目标,为了这个目标加入…
Lighting和Shading(2)镜面反射的控制和模拟次级表面散射技术 http://www.4gamer.net/games/216/G021678/20140703095/index_2.html       Cel Anime的2D图形上,由镜面发射而出现的[Specular Highlight](依赖视线的高光)的存在感并不觉得很多.但是,GUILTY GEAR Xrd -SIGN的Specular Highlight,也是基于[附加上手绘图的高光的文法]的调整的结果,可靠的附加到L…
在Windows下开发游戏,大家都会联想到DirectX.实际上,DirectX并不等同于游戏,它也不是写游戏程序的唯一选择.其实,DirectX只是提供了一种更直接的控制硬件的API库而已.当然,它并不是一个单纯的图形API,它还提供了一整套的多媒体接口方案,只不过因为它在3D图形方面表现得特别优秀,让它的其它方面没有显示出来罢了. DirectX首次出现在1995年,当时被称为“GameSDK”.在其原始形式中,针对的目标是使用C和C++的开发人员.DirectX开发之初是为了弥补Windo…
unity5 人皮渲染  Skin Shading 换了一种方法,优化了一下代码,unity5效果很好,消耗不大 点开可查看大图 加入了次表面散射的阴影与自阴影 unity5  ocean real-time rendering海洋渲染 unity5  fur real-time rendering 毛皮渲染 unity4  Non-Photorealistic Rendering 各种卡通素描绘画渲染 unity5 MLAA  (Morphological Antialiasing) unit…
最近逃课做游戏,逃的有几门都要停考了,呵呵呵,百忙之中不忘超炒冷饭,感觉之前的人皮效果还是不够好,又改进了一些东西 首先上图 放大看细节 显而易见的比上次的效果要好很多,此次我把模型用3dmax进行了细化,模型裂缝情况有所好转,但是嘴唇等处还是有明显裂缝(没办法,网上没有比这个再细致的贴图了) 去除了之前所有大量的rim,换成了SSS次表面散射之前一篇文章详细讲过,SSS次表面散射的参数真心难调= =:漫反射换成了基于物理的Oren Nayar反射模型 specular 高光反射与之前一篇相同,…
命令行在外部 从命令行运行编辑项目 1 导航到您的[LauncherInstall][VersionNumber]\Engine\Binaries\Win64 目录中. 2 右键单击上 UE4Editor.exe 的可执行文件,并选择创建快捷方式. 3 重命名该快捷方式,它会启动编辑器,即 MyProject 的- Editor.exe. 4 右键单击新创建的快捷方式并选择属性. 5 加入项目文件参数属性: [LauncherInstall][VersionNumber]\Engine\Bina…