-
Notifications
You must be signed in to change notification settings - Fork 0
/
graph.gv
91 lines (72 loc) · 2.51 KB
/
graph.gv
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
digraph {
node [shape=rect]; "Light Clustering"; "Geometry Culling *"; deferred_tex; "Depth of Field *"; "Bloom"; "Display Transform"; "AA Resolve"; forwards_ao; forwards_rt
node[shape=oval]
frame_start[label = "Start"]
"Start" -> "Texture Loading" -> "Mipmap Generation *" -> frame_start
"Texture Loading" -> frame_start
"Start" -> "Model Loading" -> "Meshlet Generation *" -> frame_start
"Model Loading" -> frame_start
"Model Loading" -> "Texture Loading"
subgraph cluster_render_loop {
label = "Frame"
frame_start -> "Geometry Culling *" -> "Pipeline Barrier"
frame_start -> "Light Clustering" -> "Pipeline Barrier"
subgraph cluster_compute_shader_dispatches {
"Geometry Culling *"
"Light Clustering"
label = "Compute Shader Dispatches"
}
"Pipeline Barrier" -> depth_o
"Pipeline Barrier" -> vis_o
"Pipeline Barrier" -> forwards_shadows
subgraph cluster_deferred_texturing {
label = "One Option: Deferred Texturing (simplified)"
subgraph cluster_visbuffer {
vis_o[label = "Opaque Objects"]
vis_ac[label = "Alpha-Clipped Objects"]
vis_o -> vis_ac
label = "Visibility Buffer Pass"
}
deferred_tex[label = "Deferred Texturing and Lighting"]
deferred_alpha[label = "Alpha-Blended/Transmissive Objects *"]
vis_ac -> deferred_tex -> deferred_alpha
}
subgraph cluster_forwards_with_depth_pre_pass {
label = "One Option: Forwards Rendering with a depth pre-pass"
subgraph cluster_depth_pre {
depth_ac[label = "Alpha-Clipped Objects"]
depth_o[label = "Opaque Objects"]
depth_o -> depth_ac
label = "Depth Pre-Pass"
}
forwards_shadows[label = "Shadowmap rendering *"]
forwards_shadows -> forwards_main
subgraph cluster_depth_only {
label = "Passes with depth as a pre-req"
forwards_ao[label = "Ambient Occlusion *"]
forwards_rt[label = "Ray-Traced Shadows *"]
}
depth_ac -> forwards_main
depth_ac -> forwards_ao -> forwards_main
depth_ac -> forwards_rt -> forwards_main
subgraph cluster_rendering {
forwards_main[label="Opaque & Alpha-Clipped Objects"]
forwards_alpha[label="Alpha-Blended/Transmissive Objects *"]
forwards_main -> forwards_alpha
label = "Main Pass"
}
}
deferred_tex -> post_start
deferred_alpha -> post_start
forwards_main -> post_start
forwards_alpha -> post_start
subgraph cluster_post {
post_start[label = "Start"]
post_start -> "Depth of Field *" -> "Bloom" -> "Display Transform" -> "AA Resolve"
post_start -> "Bloom"
label = "Post Processing"
}
"AA Resolve" -> "UI Rendering *" -> "Submit"
"AA Resolve" -> "Submit" -> "Present"
}
}