PBR中的Metallic/Roughness工作流

首先回顾一下典型的纯金属与非金属的PBR属性:

  • 纯金属:

    • Albedo(diff): 0
    • F0(spec): >0.3
    • Metallic: 1
  • 非金属:
    • Albedo(diff):可为非0值
    • F0(spec):0-0.08
    • Metallic: 0

已知某Materail的BaseColor、Metallic、SpecularScale(默认值为0.5),欲求其diff与spec,则有如下公式:

half DielectricSpecular = 0.08 * SpecularScale;
half3 DiffuseColor = BaseColor * (1 - Metallic);
half3 SpecularColor = DielectricSpecular * (1 - Metallic) + BaseColor * Metallic;

则有:

  • 对于纯金属而言:

    • DiffuseColor=0
    • SpecularColor = BaseColor
  • 对于非金属而言:
    • DiffuseColor = BaseColor
    • SpecularColor = DielectricSpecular = 0.08 * SpecularScale
  • 对于介于两者之间的而言:
    • DiffuseColor = BaseColor * (1 - Metallic)
    • SpecularColor = 0.08 * SpecularScale * (1 - Metallic) + BaseColor * Metallic
时间: 2024-10-13 11:42:30

PBR中的Metallic/Roughness工作流的相关文章

在Photoshop中实现将Roughness贴图放入Metalic贴图的Alpha通道中

一万年过去了,我终于回来写博客啦 最近在看傅老师的Unity教程,看到第10p的时候,有一个地方讲的是Material中可设置的一个贴图中,有一个叫做Roughness(记录Material粗糙度的贴图),它在Unity中没有特定的选项去设置这张贴图,唯一接近的就是Smoothness属性.但Smoothness属性又不能设置贴图. 这是因为在Unity中,当Material的Shader为Standard的时候,它会吧Metalic和Roughness这两种贴图合成一个文件使用,据说这种设计是

Visual Studio Code 中编写 C++ 的工作流

1. 官网下载 Visual Studio Code ,安装.按提示安装 cpp 插件和 cmake 插件. 官网下载 CMake ,安装. 官网下载 Mingw ,安装. 安装 Mingw 时,注意勾选 mingw32-automake, mingw32-base, mingw32-gcc, mingw32-gcc-g++, msys-base, mingw32-binutils, mingw32-gdb. 2. File->Open Folder 打开项目所在文件夹. 文件夹的目录应为 Pr

微软Azure Services Bus中的工作流

在Azure Services Platform上对于工作流服务的支持,一直是我很感兴趣的内容.当然也是疑问 比较多的领域.鉴于这方面的资料太少,所以今天就从AzureServicesKit中的一个DEMO出发,来大概了解一下这方面相关内容.     注:今天的示例位于AzureServicesKit安装目录\Labs\Ex02-RoutingWithXPath\end文件夹.     该示例场景展示的是一个定单(order)流程,如下图:     注:图中的两个服务可能布置在1台或N台机器上.

关于unity里pbr技术和材质 unity5默认shader和传统的对比

刚开始也不知道什么是pbr (Physically Based Rendering)后来才发现这是一种新的渲染方式 与之对应的是材质是pbs(Physically Based Shader) unity中的pbs有两种,一种是金属度的,一种是反射的, 具体前者可以做金属泥土之类,后者用于其他非金属的,但是这不绝对,前者也能做布料木头之类 最终使用还是要看艺术效果 (unity中金属度pbr材质) (unity中反射流程pbr材质) PBR做法 albedo map 无光颜色贴图normal ma

在 NetBeans IDE 中调试 PHP 源代码

目录 准备工作 如何在 NetBeans IDE 中使用 XDebug 进行 PHP 调试 调试选项 使用工具栏和编辑器 调试器窗口 调试会话 样例调试会话 使用其他监视 PHP 和 HTML 混合用例 路径映射.调试器代理以及在定制 URL 上启动调试会话 要学习本教程,您需要具备以下软件和资源. 软件或资源 要求的版本 NetBeans IDE PHP 下载包 PHP 引擎 版本 5 Web 服务器 推荐使用 Apache HTTP Server 2.2. PHP 调试器 XDebug 2.

深入理解学习Git工作流

一.译序 工作流其实不是一个初级主题,背后的本质问题其实是有效的项目流程管理和高效的开发协同约定,不仅是Git或SVN等VCS或SCM工具的使用. 这篇指南以大家在SVN中已经广为熟悉使用的集中式工作流作为起点,循序渐进地演进到其它高效的分布式工作流,还介绍了如何配合使用便利的Pull Request功能,体系地讲解了各种工作流的应用. 行文中实践原则和操作示例并重,对于Git的资深玩家可以梳理思考提升,而新接触的同学,也可以跟着step-by-step操作来操练学习并在实际工作中上手使用. 关

Java开源 开源工作流

OpenEbXML   点击次数7801 Werkflow   点击次数11181 OSWorkflow   点击次数14988 wfmOpen   点击次数7997 OFBiz   点击次数12342 ObjectWeb Bonita   点击次数8808 Bigbross Bossa   点击次数8502 XFlow   点击次数7898 Taverna   点击次数7222 Enhydra Shark   点击次数9526 PowerFolder   点击次数7866 Open Busin

深入学习 Git 工作流

原文  https://github.com/xirong/my-git/blob/master/git-workflow-tutorial.md 个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心中的困惑迎刃而解: 我们以使用SVN的工作流来使用git有什么不妥? git 方便的branch在哪里,团队多人如何协作?冲突了怎么办?如何进行发布控制? 经典的master-发布.develop-主开发.hotfix-不过修

工作流 之JBPM简介

自从做ITOO以来确实是感觉自己知道的东西越来越多了可是真正的系统性的学习一系列东西却是越来越少了,在项目中一直要求的工作流,虽然工作流的氛围里熏陶的越来越觉得工作流是一个好东西,直到前些日子根据视频了解了工作流的一些知识才觉得工作流离我越来越近了. 一.WorkFlow 工作流(Workflow),就是"业务过程的部分或整体在计算机应用环境下的自动化",它主要解决的是"使在多个参与者之间按照某种预定义的规则传递文档.信息或任务的过程自动进行,从而实现某个预期的业务目标,或者