前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >UE4 LightRendering

UE4 LightRendering

作者头像
逍遥剑客
发布2019-02-20 15:28:24
1.7K0
发布2019-02-20 15:28:24
举报

最近把HairWorks整合到了UE4 4.20, 整合的过程中发现了一些没法直接merge的代码, 主要集中在LightRendering.cpp和DeferredLightingPixelShader.usf中. 所以顺便简单读了一下代码, 把其中的一些关键字概念整理出来方便查阅理解.

Uniform Buffer Struct

在这里插入图片描述
在这里插入图片描述

UE4使用了一些宏来辅助定义UniformBuffer中的结构体, 在Shader中是可以打到对应的定义的.

Simple Light

不如叫Particle Light, 粒子系统中发射的简单点光源. 因为数量很多, 所以算法做了简化, 没有阴影之类的效果

Light Function

Light Function在我看来更像是一个可以用材质节点控制的Shadow Mask, 改变光照区域的强度, 不能叠加颜色.

Stenciling Geometry

有三种:

  • Sphere: 点光源, 面积光
  • Vector Sphere: 好像是做BoundSphere的?
  • Cone: 聚光灯

DBT (Depth Bound Test)

用来剔除挡住的光源的

Radial Light

点光源或聚光灯都是Radial Light, 方向光就不是, 做选择题时字面意思很好理解, 但是第一眼看到时就很蒙.

IES Profile

IES Light Profiles, 参考现实中照明设备的标准的一个亮度曲线算法, 跟强度用流明一个套路

Lighting Channel

Forward Rendering时代美术惯用的技俩, UE4一开始用了Deferred Rendering没加的, 估计架不住用户习惯又加回来了, 见Lighting Channels

Transmission

SSS相关

LTC(Linearly Transformed Cosines)

Rect Light用的 参考[ Heitz et al. 2016, “Real-Time Polygonal-Light Shading with Linearly Transformed Cosines

Direct Lighting

渲染simple light时用的tiled deferred lighting, 估计粒子点光太多了架不住. 其它光源就是延迟渲染的标准做法了.

Indirect Lighting

这里有两个关键名词, 实时GI估计大家都是这么搞的吧:

Shadowed Lights

其实就是开了阴影的光源

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年11月09日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Uniform Buffer Struct
  • Simple Light
  • Light Function
  • Stenciling Geometry
  • DBT (Depth Bound Test)
  • Radial Light
  • IES Profile
  • Lighting Channel
  • Transmission
  • LTC(Linearly Transformed Cosines)
  • Direct Lighting
  • Indirect Lighting
  • Shadowed Lights
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档