Files
.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
BlueRoseNote/03-UnrealEngine/Rendering/RenderingPipeline/Lighting/RenderLights.md
2023-06-29 11:55:02 +08:00

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