继上一篇:次世代基于物理渲染的反射模型,本篇是Tri-Ace 在cedec2014上最近发布的,

主要内容如名称所示,解释了他们在实现基于物理渲染时,对shader的渲染公式所做的近似工作。
 
 
因为本身就是会议上的PPT,还是必须配合演讲看效果才好,所以如果有错误或不理解的地方,还希望留言或联系我
另外3A在官网上说会提供英文版,那家公司或个人希望可以分享下吧。
 
大致做下简介,如果有兴趣的可以下载看看
  在本篇ppt中,3A先是花了一些篇幅介绍了渲染公式积分所引发的问题,随后是介绍本文中主要运用的正态(高斯)分布函数和它的再生性,以及使用对渲染公式做近似拟合的推导,如GGX的拟合。
 
  接下来感觉比较重点的还是在几个应用案例上,其中之一就是关于如何正确的计算Roughness和Roughness Mipmap的生成上,在基于物理渲染上,更是强调要解决着色走样的问题,也就是需要 shading/shader anti-aliasing,其中一个问题就是运动状态时的Specular Aliasing问题的解决。
 
  为了解决类似问题,Michael Toksvig 2004发表的Mipmapping Normal Maps 的方法,用正态分布方法处理Normal map,依靠mipmap和硬件的texture filtering,来解决远距离downsampling normal map会产生的aliasing问题,也就是简称Toksvig的方法(3A ppt里也多次提到),细节还是请看下面链接。
 
有Aliasing(左边)和没有(右边)
 
基于这个方法,就是Dan Baker等人在2010提出的Linear Efficient Antialiased Normal(简称LEAN),并在GDC2011上进一步提出Cheap Linear Efficient Antialiased Normal(简称CLEAN,LEAN的廉价版)的方法。  
 
然后在Siggraph2012上,Dan Baker又发表了Rock-Solid Shading,将这个方法扩展到gloss map(Roughness),Environmental Lighting(IBL)等上面。
 
左边原始        中间按他们的方法把将法线方差加入到Roughness map
 
 因为一部分是要做预处理的,在我之前翻译的Tri-Ace的基于物理渲染的美术资源设计流程的PPT里,他们也介绍了他们运用把些技术加入到美术制作流程的方法。
 
当然还有很多其他的相关文档的,因为大多是基于这些就不过多阐述了。
 
 那么接下来说这篇PPT里用的Roughness Map mipmap技术,也就是高斯分布方法运用到了Roughness Map上,并给出了他们的处理流程和公式,和Rock-Solid Shading的方法类似,也是把normal map和Roughness一起保存到Roughness map上。但方法和公式更物理一些。这种类似的方法也在Crytek的罗马之子里(Specular Aliasing Gbuffer filtering)。
 
关闭
 
打开
 
除此之外还有一些和光圈积分有关的东东,这个就没搞过了,最后还是重复下,如果文章和翻译有问题还是请留言或联系讨论。
下载链接: http://pan.baidu.com/s/1mgwY6ko 密码: vtp3
Tri-Ace PBR相关的几篇ppt文章的翻译工作也算告一段落,下个月也就是明天开始,会开始一个更庞大的翻译计划,如果没有什么意外,每周至少1篇的进度会继续下去,任重道远。

翻译 Tri-Ace:在Shader里近似渲染公式的更多相关文章

  1. Unity Shader NPR 卡通渲染

    卡通渲染的主要原理包含两个方面: 1.轮廓线的描边效果 2.模型漫反射离散和纯色高光区域的模拟 描边: 描边的实现方法采用将模型的轮廓线顶点向法线(或顶点)的方向扩展一定的像素得到.也可通过边缘检测( ...

  2. WM_ERASEBKGND官方解释(翻译),以及Delphi里所有的使用情况(就是绘制窗口控件背景色,并阻止进一步传递消息)

    #define WM_ERASEBKGND                   0x0014 Parameters wParam A handle to the device context. //  ...

  3. UE4里的渲染线程

    记的上次看过UniRx里的源代码,说是参考微软的响应式编程框架,响应式编程里的一些理论不细说,只单说UniRx里的事件流里的事件压入与执行,与UE4的渲染线程设计有很多相同之处,如果有了解响应式编程相 ...

  4. 翻译 | 关键CSS和Webpack: 减少阻塞渲染的CSS的自动化解决方案

    原文地址: Critical CSS and Webpack: Automatically Minimize Render-Blocking CSS 原文作者: Anthony Gore 译者: 蜗牛 ...

  5. vue里的渲染以及computed的好处

    如果vue里的某个methods函数执行,导致页面重新渲染,那么所有页面渲染相关的methods函数会重新执行以及时的渲染页面 但是大量函数的重新没有必要的执行会导致性能的下降, 此时如果把没有必要再 ...

  6. (转)简述47种Shader Map的渲染原理与制作方法

    在Shader中会使用各种不同图参与渲染,所以简单地总结下各种图的渲染原理.制作方法,最后面几种是程序生成图. 1. Albedo 2. Diffuse(Photographic) 从上图可以看出来, ...

  7. Unity 通用透明物体漫反射Shader(双面渲染&多光源&光照衰减&法线贴图&凹凸透明度控制)

    Shader "MyUnlit/AlphaBlendDiffuse" { Properties { _Color("Color Tint(贴图染色)",Colo ...

  8. shader forge卡通渲染!

    自从用了shader forge,妈妈我再也不写shader了...... 写了3种,分别用的顶点法线.法线贴图.顶点法线+法线贴图,然后还有自发光和受光两种模式,那就是6种了吧... 最后来一张sh ...

  9. 《社交网络》里的评分公式——ELO排名系统

    <社交网络>里的Mark Zackburg被女朋友甩后,在舍友的启发下,充分发挥了技术宅男自娱自乐的恶搞天分,做出了Facemash网站,对学校女生的相貌进行排名打分,结果网站访问流量过大 ...

随机推荐

  1. Maven使用笔记(六)使用Maven进行多模块拆分

    模块拆分是Maven经常使用的功能,简单梳理一下如何使用Maven进行多模块拆分, 只做归纳总结,网上资料很多,不再一步一步实际创建和部署. >>建立Maven多模块项目 一个简单的Jav ...

  2. Log4Net异常日志记录在asp.net mvc3.0的应用(转载)

    这篇博客写的很好:http://www.cnblogs.com/qianlifeng/archive/2011/04/22/2024856.html 前言 log4net是.Net下一个非常优秀的开源 ...

  3. ASP.NET服务器端执行耗时操作的工作记录

    公司之前有这样一个业务需求: 一名同事做出文件a0和b0,然后将a0加密为a1.b0加密为b1:再将文件a0.a1.b0和b1上传至服务器M:同时要将服务器N上的数据表添加一条记录,该记录的ID就是前 ...

  4. VBScript [ 译 ]

    VBScript ( Visual Basic Scripting Edition) 使用COM 来和宿主环境交互.从Microsoft Windows 98 开始的所有的微软桌面操作系统的relea ...

  5. hdu 4296 贪心

    证明转自:  here 题意:有 n 个地板,每个地板 i 有两个权值 Wi, Si,且 PDV(i) =  (ΣWj) - Si ( j 表示在 i 上面的地板).问如何调整顺序,使得[max(PD ...

  6. HDU 4343 贪心

    D - Interval queryTime Limit: 1.5 Sec Memory Limit: 256 MB Description This is a very simple questio ...

  7. android MVC

    Android 的官方建议应用程序的开发采用MVC 模式.何谓MVC? MVC 是Model,View,Controller 的缩写,从上图可以看出MVC 包含三个部分: 模型(Model)对象:是应 ...

  8. SGU438 The Glorious Karlutka River =)(最大流)

    题目大概说有m个人要过一条宽W的河,人最远跳远距离是d,河上有n个垃圾堆,每个垃圾堆都有坐标和同一时间能容纳的人数,问所有人最少要跳几次才能跳到对岸. 又是一题根据时间拆点的最大流. 二分时间建容量网 ...

  9. Equipment Box[HDU1110]

    Equipment Box Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  10. 游戏 tabpanel

    using UnityEngine; using System.Collections; public class La : MonoBehaviour { private int select; p ...