Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc(DAG): add diagram for DAG #83

Open
wants to merge 8 commits into
base: develop
Choose a base branch
from
Open
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
170 changes: 170 additions & 0 deletions docs/DAG.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
@startuml

!theme spacelab

object lastUpdatedGBufferClearingNode{
Buffer Cleaning Node
}

package worldRenderingNodes{
diamond worldRenderingNodes
object opaqueObjectNode
object opaqueBlockNode
object alphaRejectNode
object overlayNode
lastUpdatedGBufferClearingNode -down-> worldRenderingNodes
worldRenderingNodes -> opaqueBlockNode
worldRenderingNodes -> opaqueObjectNode
worldRenderingNodes -> alphaRejectNode
worldRenderingNodes -> overlayNode
}

diamond worldRenderingNodesB
opaqueBlockNode -down-> worldRenderingNodesB
opaqueObjectNode -down-> worldRenderingNodesB
alphaRejectNode -down-> worldRenderingNodesB

package reflectAndRefractionsNode{
Imitater967 marked this conversation as resolved.
Show resolved Hide resolved
object reflectedBufferClearingNode{
Buffer Cleaning Node
}
object reflectBackdropNode
object worldReflectionNode
object reflectedRefractedBufferClearingNode{
Buffer Cleaning Node
}
object chunksRefractiveReflectiveNode

reflectedBufferClearingNode -down-> reflectBackdropNode
reflectBackdropNode -down-> worldReflectionNode
worldReflectionNode -down-> chunksRefractiveReflectiveNode
reflectedRefractedBufferClearingNode -down-> chunksRefractiveReflectiveNode
}

package skyNodes{
object backdropNode
object hazeIntermediateNode
object hazeFinalNode

lastUpdatedGBufferClearingNode -down-> backdropNode
backdropNode -down-> hazeIntermediateNode
hazeIntermediateNode -down-> hazeFinalNode
}

package lightningNode{
Imitater967 marked this conversation as resolved.
Show resolved Hide resolved
object shadowMapCleaningNode {
Buffer Cleaning Node
}
object staleGBufferCleaningNode {
Buffer Cleaning Node
}
object applyDeferredLightningNode
object shadowMapNode
object deferredMainLightNode
object deferredPointLightNode

worldRenderingNodesB -down-> applyDeferredLightningNode
worldRenderingNodesB -down-> deferredMainLightNode
shadowMapCleaningNode -down-> shadowMapNode
shadowMapNode -down-> deferredMainLightNode
staleGBufferCleaningNode -down-> applyDeferredLightningNode
deferredPointLightNode -down-> applyDeferredLightningNode
deferredMainLightNode -down-> applyDeferredLightningNode
}

package 3dDecorationNode{
Imitater967 marked this conversation as resolved.
Show resolved Hide resolved
object outlineNode
object ambientOcclusionNode
object blurredAmbientOcclusionNode

worldRenderingNodesB -down-> outlineNode
worldRenderingNodesB -down-> ambientOcclusionNode
ambientOcclusionNode -down-> blurredAmbientOcclusionNode
applyDeferredLightningNode --> chunksRefractiveReflectiveNode
applyDeferredLightningNode --> outlineNode
}

package prePostProcessing{
object prePostCompositeNode
object simpleBlendMaterialsNode

chunksRefractiveReflectiveNode -down-> prePostCompositeNode
hazeFinalNode -down-> prePostCompositeNode
applyDeferredLightningNode -down-> prePostCompositeNode
outlineNode -down-> prePostCompositeNode
blurredAmbientOcclusionNode -down-> prePostCompositeNode
prePostCompositeNode -down-> simpleBlendMaterialsNode
overlayNode -down-> prePostCompositeNode
}

package bloomNodes{
object highPassNode
object halfScaleBlurredBloomNode
object quarterScaledBlurredBloomNode
object one8thScaleBlurredBloomNode

highPassNode -down-> halfScaleBlurredBloomNode
halfScaleBlurredBloomNode -down-> quarterScaledBlurredBloomNode
quarterScaledBlurredBloomNode -down-> one8thScaleBlurredBloomNode
simpleBlendMaterialsNode -down-> highPassNode
}

package exposureNodes{
object exposureDownSamplerTo16pixels
object exposureDownSamplerTo8pixels
object exposureDownSamplerTo4pixels
object exposureDownSamplerTo2pixels
object exposureDownSamplerTo1pixels
object updateExposureNode

exposureDownSamplerTo16pixels -down-> exposureDownSamplerTo8pixels
exposureDownSamplerTo8pixels -down-> exposureDownSamplerTo4pixels
exposureDownSamplerTo4pixels -down-> exposureDownSamplerTo2pixels
exposureDownSamplerTo2pixels -down-> exposureDownSamplerTo1pixels
exposureDownSamplerTo1pixels -down-> updateExposureNode
simpleBlendMaterialsNode -down-> exposureDownSamplerTo16pixels
}

package initialPostProcessing{
object lightShaftsNode
object initialPostProcessingNode

simpleBlendMaterialsNode -down-> lightShaftsNode
one8thScaleBlurredBloomNode -down-> initialPostProcessingNode
lightShaftsNode -down-> initialPostProcessingNode
}

package finalPostProcessing{
object toneMappingNode
object firstLateBlurNode
object secondLateBlurNode
object finalPostProcessingNode
object Screenshot{
OutPut Node
Imitater967 marked this conversation as resolved.
Show resolved Hide resolved
}

updateExposureNode -down-> toneMappingNode
initialPostProcessingNode -down-> toneMappingNode
toneMappingNode -down-> firstLateBlurNode
firstLateBlurNode -down-> secondLateBlurNode
secondLateBlurNode -down-> finalPostProcessingNode
finalPostProcessingNode -> Screenshot
}

package outputNodes{
object outputToScreenNode
object Screen{
OutPut Node
}
object outputToVRFrameBufferNode
object HMD{
OutPut Node
Imitater967 marked this conversation as resolved.
Show resolved Hide resolved
}

finalPostProcessingNode -down-> outputToScreenNode
outputToScreenNode -down-> Screen
finalPostProcessingNode -down-> outputToVRFrameBufferNode
outputToVRFrameBufferNode --> HMD
}

@enduml