Skip to content

Commit d006b25

Browse files
committed
add notes about render resource pool
1 parent b94874d commit d006b25

File tree

11 files changed

+131
-1
lines changed

11 files changed

+131
-1
lines changed
Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,6 @@
1-
# Unreal Insight:基于距离场的环境光遮蔽(Distance Field Ambient Occlusion)
1+
# Unreal Insight:基于距离场的环境光遮蔽(Distance Field Ambient Occlusion)
2+
3+
## DistanceFieldGlobalIllumination.usf
4+
5+
6+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
HDDA Voxel Tracing
2+
===
3+
4+
Sparse Volume Texture and GVDB structure
5+
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
Lightmass
2+
===
3+
4+
支持 `Mac``Windows`
5+
6+
# 数据流
7+
8+
* UE4Editor
9+
* Export scene, static meshes, lights to file
10+
* Start **Swarm**, prepare job depend files
11+
* OpenChannel, start job
12+
* SwarmAgent
13+
* Launch UnrealLightmass
14+
* UnrealLightmass
15+
* Finish
16+
* UE4Editor import build data
17+
18+
## 基础组件
19+
20+
* DotNet实现
21+
* SwarmCommonUtils
22+
* SwarmCoodinatorInterface
23+
* SwarmInterface
24+
25+
### Swarm 协议格式
26+
27+
### Lightmass代码拆解
28+
29+
#### Editor 导出部分
30+
31+
32+
#### Lightmass 烘焙部分
33+
34+
原理见[Lightmass的算法解析](light_mass_photon_mapping.md)
35+
36+
37+
#### Editor 导入部分 BuiltData
38+
39+
## 可加速计算部分
40+
41+
CUDA加速部分
42+
43+
ISPC AVX512加速部分
44+
45+
## 可分布式计算部分
46+
47+
## IncrediBuild 集成统一调度
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Lightmass算法解析
2+
===
81.7 KB
Loading
302 KB
Loading
257 KB
Loading
104 KB
Loading
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Occlusion Data生成路径
2+
===
3+
4+
# 数据生成
5+
6+
**LODForOccluderMesh >= 0**
7+
8+
![](images/occlusion_data_build.png)
9+
10+
![](images/mesh_data_build.png)
11+
12+
该方法 UStaticMesh::PostLoad() 和 UStaticMesh::BatchBuild() <- UStaticMesh::Build() <- PostEditChangeProperty/GenerateLodsInPackageRemoveVertexColors
13+
14+
# 数据序列化
15+
16+
![](images/occlusion_data_save.png)
17+
18+
CookingTarget() Windows下是**TGenericWindowsTargetPlatform**而不是其他(比如FAllDesktopPlatform)
19+
20+
![](images/cookingPlatform.png)

1.ue4_insights/trace_log.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
Writer_ControlRecv <- Writer_UpdateControl <- Writer_WorkerUpdateInternal <- Writer_WorkerUpdate <- Writer_WorkerThread
2+
<- Writer_WorkerJoin
3+
<- Writer_Update <- UE::Trace::Update() [When worker thread is not launched.] <- FCoreDelegates::OnEndFrame.AddStatic(UE::Trace::Update);
4+
<- MemoryTrace_UpdateInternal()
5+
一个是WorkerThread,一个是WorkerThread没启动的时候去调用
6+
7+
初始化
8+
Writer_InitializeControl()
9+
10+
11+
Writer_ControlAddCommand("ConsoleCommand", nullptr,
12+
[] (void*, uint32 ArgC, ANSICHAR const* const* ArgV)
13+
{
14+
if (ArgC < 2)
15+
{
16+
return;
17+
}
18+
19+
const size_t BufferSize = 512;
20+
ANSICHAR Channels[BufferSize] = {};
21+
ANSICHAR* Ctx;
22+
const bool bState = (ArgV[1][0] != '0');
23+
FCStringAnsi::Strcpy(Channels, BufferSize, ArgV[0]);
24+
ANSICHAR* Channel = FCStringAnsi::Strtok(Channels, ",", &Ctx);
25+
while (Channel)
26+
{
27+
FChannel::Toggle(Channel, bState);
28+
Channel = FCStringAnsi::Strtok(nullptr, ",", &Ctx);
29+
}
30+
}
31+
);

0 commit comments

Comments
 (0)