XDRender_ObjPass_ShaderMode_Cloth(0) 面料渲染

目录
  • XDRender_ObjPass_ShaderMode_Cloth(0) 面料渲染

    • 前言
    • 正文
      • 理论
      • 实现
        • 1、设计Mode
        • 2、构建处理函数
          • Diff
          • Spec
          • 额外的Spec
          • 透明
      • 总结
    • 备注

前言


首先说明:面料的物理渲染模型是比较多的, 但总体上还是归结于漫反射,散射,镜面反射. 以及半透明和镂空等等的处理

而面料分类又特别多:丝绸,蕾丝,牛仔,反光,薄面料,针织,镂空,中厚面料,毛、绒等等(这也是为啥衣服那么贵!!!), 但大多数会混淆( 没法子, 直男眼睛,哈哈). 这也是小道分析的原因.

正文


非正式杂学

比如 : 绸和缎 (嘿嘿)

科普一下, 缎:比较厚的正面平滑有光泽的丝织品 . 绸:面平挺细腻,手感滑挺

绸用于平纹或变化组织,经纬交错紧密的丝织物,而缎是应用缎纹组织,绸面平滑光亮的织

下面是为难死人的非图程和非技美的参考

https://mp.weixin.qq.com/s/TQC-QXM5UNKGdIanbIC58g

https://mp.weixin.qq.com/s/EFwhte3Ar3nmym1Kd5r5GA

看了这两个, 我们还是有兴趣去分析和实现一下的.

特殊说明: 布料整个系统不仅包括了渲染着色, 还有布料的物理模拟(DynamicBone, 粒子模拟,这里还多出CPU模拟和GPUCS模拟)

表面粗糙的织物有棉布、亚麻布等,

表面光滑的织物有丝绸、天鹅绒等。

一些特殊部分

棉布类织物表面主要为较淡的织物颜色组成的漫反射,丝绸类织物表面有类金属的反射,而且会有多种的高光颜色。 观察还发现棉布类织物纤维周围有一圈很细的绒毛,丝绸类织物的纤维绒毛很少。

理论


总体来说布料的漫反射和高光,均有一些特性、此外还有两个Feature:一个是细微绒毛和多层, 最后高光对光滑的多丝还有一个各项异性处理.

实现


按照漫反射、高光、细微绒毛、多层、各项异性的步骤一个个处理.

这里同时利用了CustomData1和2, 类型Half4来获取扩展的数据,.

(额外一句, 对于各种Mode经常会需要多出一些类型, 这里有两种方式: 一种是多出来的合并或者替代原有不用的数据, 一种是结构体分化比如Fabr,Eye等等有自己的)

这里分成了皮革, 普通棉布, 绒毛, 丝绸或纱, 雪纺来说明.具体在后续....

1、设计Mode

FDirectLightingResult ClothLitBxDF(FLightMaterial pBRDF,float3 lightColor,float3 normal,float3 lightDir,float3 viewDir)

2、构建处理函数

待后续写完,统一归拢

Diff

​ 模拟环绕散开

lerp(diffcuseTerm,diffcuseTerm * SubSurfaceWrap(context.NoL,FabricScatterSale),clothValue);
Spec

​ 这里根据需要选取不同的D和G项,同时F也会做轻度修改

FabricSpecularGGX
额外的Spec
透明

总结


备注

参考:

https://zhuanlan.zhihu.com/p/37601940

https://zhuanlan.zhihu.com/p/60977923

https://blog.csdn.net/fyy2019/article/details/100971016?spm=1000.2123.3001.4430

XDRender_ObjPass_ShaderMode_Cloth(0) 面料渲染相关推荐

  1. XDRender_ObjPass_ShaderMode_Cloth(1) 布料渲染模型 皮革

    XDRender_ObjPass_ShaderMode_Cloth(2) 布料渲染模型 皮革(Leather) 目录 XDRender_ObjPass_ShaderMode_Cloth(2) 布料渲染 ...

  2. NVIDIA DLSS2.0 AI渲染又一大飞跃

    AI渲染又一大飞跃  人工智能正在彻底改变游戏--从游戏中的物理和动画模拟到实时渲染和人工智能辅助的功能.通过深度学习超采样(DLSS),NVIDIA开始通过基于AI的超分辨率重新定义实时渲染--渲染 ...

  3. vue2.0怎么渲染html,vue采坑之——vue里面渲染html 并添加样式

    在工作中,有次遇到要把返回的字符串分割成两部分,一部分用另外的样式显示. 这时候,我想通过对得到字符串进行处理,在需要特别样式的字符串片段用html标签(用的span)包裹起来再通过变量绑定就好了.不 ...

  4. OpenGL ES 3.0管线渲染流程

    OpenGL ES 3.0 实现了具有可编程着色功能的图形管线,由两个规范组成: OpenGL ES 3.0 API规范 OpenGL ES 着色语言3.0规范 下图概述了OpenGL ES 3.0 ...

  5. Django2.0——模板渲染(一)

    在前面的介绍中我们都是用简单的 django.http.HttpResponse来把内容显示到网页上,本节将讲解如何使用渲染模板的方法来显示内容,即调用精美的HTML页面.模板的创建既可以在项目下创建 ...

  6. php 模板渲染,ThinkPHP6.0模板渲染 - ThinkPHP6.0快速开发手册(案例版) - php中文网手册...

    模板渲染生成页面 模板渲染, 其实就是生成前端页面 模板路径 默认情况下,框架会自动定位你的模板文件路径,优先定位应用目录下的view目录,这种方式的视图目录下就是应用的控制器目录. 单应用模式 ├─ ...

  7. OpenGL ES3 0实现简单粒子火焰效果

    通过粒子系统来实现火焰效果,基本思想是把一团火焰看成是由一颗颗有其生命期的粒子组成,粒子在不停的产生直至消亡从而产生升腾的火焰效果.通过生成每个粒子的坐标,每颗火焰粒子是一个矩形,而这个矩形由两个三角 ...

  8. 加速 VR 渲染地狱难度进阶篇:降低图形 API 调用次数

    准备好,中文互联网终于有人开始严肃地讨论 VR 技术了.纯干货文章,直奔主题. VR 渲染的难点是什么? 左眼和右眼看到的场景是不同的,因此同样的 API 需要调用两次.以 Oculus DK2 为例 ...

  9. 浏览器是如何工作的系列:渲染引擎

    渲染引擎的功能就是渲染,在浏览器上显示请求的内容. 默认情况下,渲染引擎可以显示HTML和XML文档和图像.他也可以显示其他类型的插件(浏览器扩展).例如显示PDF使用PDF浏览器插件. 我们将用一个 ...

最新文章

  1. VC开发Windows客户端软件之旅——前言
  2. nginx代理响应报文体不全解决思路
  3. CMake的几种Include
  4. [scala-spark]6. 继承与特质trait
  5. html登录界面设计代码_Python登录豆瓣并爬取影评
  6. PHP语言弹窗图片,PHP_php中随机显示图片的函数代码,例如博客的展示窗 复制代码...
  7. 碘类滴眼液相关资料(国内+国外)
  8. 【渝粤教育】广东开放大学 性考 形成性考核 (33)
  9. 华为双11发 20 亿奖金!?
  10. mysql5.6.35安装_mysql5.6.35 二进制快速安装
  11. M-SQL:超强的多任务表示学习方法
  12. hdu 6118 最小费用可行流(注意与最大流的区别)
  13. ZigBee-CC2530单片机 - 1路硬件PWM控制舵机角度(精度为1us)
  14. Google浏览器下载地址
  15. 灌篮高手总决赛下载地址,都是pdf文件,黑白的,很清晰
  16. 怎样查询服务器中标信息,太极中标云服务器
  17. react 调用webIm
  18. keepalived配置文件相关简单解释
  19. 《大数据时代:生活、工作与思维的大变革》:看“大数据时代预言家”的真知灼见
  20. django实训报告

热门文章

  1. springboot+mysql+小程序+spring boot美食教程小程序 毕业设计源码190900
  2. 测试开发工作者日记:2020.7.9
  3. 2021年计算机二级5月份考试什么时候报名?
  4. python程序员工作累吗-30秒完成工作?终于知道Python这个技能有多重要!
  5. Android 循环录制最近一段时间的视频
  6. Linux驱动学习--WPA扫描相关流程及WIFI通用接口NL80211/WEXT分析
  7. input标签的事件汇总
  8. 非计算机专业推荐笔记本电脑,计算机专业笔记本电脑推荐
  9. html页面自动刷新一次,html页面实现自动刷新的几种方法
  10. img图片在限定尺寸下等比缩放;点击查看原图