.obsidian
.vs
00-MOC
01-Diary
02-Note
03-UnrealEngine
Animation
Editor
Gameplay
LevelScene
Math
Mobile
Physical
Plugins
Rendering
AIGC
Character
Debug
Film
Lighting
Material
Ocean
RayTracing
RenderFeature
RenderingPipeline
Lighting
LightChannel实现.md
Lighting.md
RenderLights.md
Shadow.md
Materials&MeshDraw
向往渲染系列文章阅读笔记
GPUScene.md
PSO Precache机制笔记.md
RenderDependencyGraph学习笔记(一)——概念整理.md
RenderDependencyGraph学习笔记(三)——在插件中使用PixelShader.md
RenderDependencyGraph学习笔记(二)——在插件中使用ComputeShader.md
ShaderModel添加.md
UE4 BasePassPixelShader.usf学习笔记.md
UE4 ToneMapping.md
UE4 材质编辑器 CustomNode使用技巧.md
UE4渲染用贴图资源实时更换.md
UE5大世界坐标转换.md
Ue4后处理逻辑简析.md
Ue4延迟渲染流程笔记.md
VirtualTexture学习笔记.md
Yivanlee 添加Pass与GBuffer笔记.md
Yivanlee卡通渲染笔记.md
剖析虚幻渲染体系(09)- 材质体系.md
参考SubsurfaceProfile 模改ToonDataAsset.md
Shader
Sequence
UI
VirtualProduction
VisualEffect
卡通渲染相关资料
性能优化
流程管理与部署
.keep
03-UnrealEngine.md
04-ComputerGraphics
05-SDHGame
06-DCC
07-Other
08-Assets
09-Templates
.gitattributes
.gitignore
.gitmodules
LICENSE
45 lines
1.4 KiB
Markdown
45 lines
1.4 KiB
Markdown
---
|
|
title: RenderLights
|
|
date: 2023-04-09 10:23:21
|
|
excerpt:
|
|
tags:
|
|
rating: ⭐
|
|
---
|
|
# 关键函数
|
|
取得所有ShadowMap的投影信息
|
|
```c++
|
|
const FVisibleLightInfo& VisibleLightInfo = VisibleLightInfos[LightSceneInfo->Id];
|
|
const TArray<FProjectedShadowInfo*, SceneRenderingAllocator>& ShadowMaps = VisibleLightInfo.ShadowsToProject;
|
|
for (int32 ShadowIndex = 0; ShadowIndex < ShadowMaps.Num(); ShadowIndex++)
|
|
{
|
|
const FProjectedShadowInfo* ProjectedShadowInfo = ShadowMaps[ShadowIndex];
|
|
}
|
|
```
|
|
|
|
# 透明体积图元渲染
|
|
## InjectSimpleTranslucencyLightingVolumeArray
|
|
插入简单透明体积物体渲染。应该是根据3D贴图渲染体积效果。默认状态下不运行。
|
|
- InjectSimpleLightsTranslucentLighting
|
|
- InjectSimpleTranslucentLightArray
|
|
|
|
## InjectTranslucencyLightingVolume
|
|
在收集用于渲染透明体积的灯光代理信息后进行渲染,主要用于云的渲染。
|
|
- InjectTranslucencyLightingVolume
|
|
|
|
# 直接光照
|
|
## RenderVirtualShadowMapProjectionMaskBits
|
|
- VirtualShadowMapProjectionMaskBits
|
|
- VirtualShadowMapProjection(RayCount:%u(%s),SamplesPerRay:%u,Input:%s%s)
|
|
|
|
输出到名为`Shadow.Virtual.MaskBits`与`Shadow.Virtual.MaskBits(HairStrands)`的UAV。
|
|
|
|
## AddClusteredDeferredShadingPass
|
|
|
|
## RenderSimpleLightsStandardDeferred
|
|
|
|
## RenderLight
|
|
针对每个灯在ShadowProjectionOnOpaque渲染ShadowMask
|
|
- VirualShadowMapProjection
|
|
- CompositeVirtualShadowMapMask
|
|
|