Search in sources :

Example 1 with OutlineNode

use of org.terasology.rendering.dag.nodes.OutlineNode in project Terasology by MovingBlocks.

the class WorldRendererImpl method addPrePostProcessingNodes.

private void addPrePostProcessingNodes(RenderGraph renderGraph) {
    // Pre-post-processing, just one more interaction with 3D data (semi-transparent objects, in SimpleBlendMaterialsNode)
    // and then it's 2D post-processing all the way to the image shown on the display.
    Node overlaysNode = renderGraph.findNode("engine:overlaysNode");
    Node finalHazeNode = renderGraph.findNode("engine:finalHazeNode");
    Node chunksRefractiveReflectiveNode = renderGraph.findNode("engine:chunksRefractiveReflectiveNode");
    Node applyDeferredLightingNode = renderGraph.findNode("engine:applyDeferredLightingNode");
    Node outlineNode = renderGraph.findNode("engine:outlineNode");
    Node blurredAmbientOcclusionNode = renderGraph.findNode("engine:blurredAmbientOcclusionNode");
    Node prePostCompositeNode = new PrePostCompositeNode(context);
    renderGraph.addNode(prePostCompositeNode, "prePostCompositeNode");
    renderGraph.connect(overlaysNode, prePostCompositeNode);
    renderGraph.connect(finalHazeNode, prePostCompositeNode);
    renderGraph.connect(chunksRefractiveReflectiveNode, prePostCompositeNode);
    renderGraph.connect(applyDeferredLightingNode, prePostCompositeNode);
    renderGraph.connect(outlineNode, prePostCompositeNode);
    renderGraph.connect(blurredAmbientOcclusionNode, prePostCompositeNode);
    Node simpleBlendMaterialsNode = new SimpleBlendMaterialsNode(context);
    renderGraph.addNode(simpleBlendMaterialsNode, "simpleBlendMaterialsNode");
    renderGraph.connect(prePostCompositeNode, simpleBlendMaterialsNode);
}
Also used : SimpleBlendMaterialsNode(org.terasology.rendering.dag.nodes.SimpleBlendMaterialsNode) PrePostCompositeNode(org.terasology.rendering.dag.nodes.PrePostCompositeNode) DeferredMainLightNode(org.terasology.rendering.dag.nodes.DeferredMainLightNode) PrePostCompositeNode(org.terasology.rendering.dag.nodes.PrePostCompositeNode) ShadowMapNode(org.terasology.rendering.dag.nodes.ShadowMapNode) OutlineNode(org.terasology.rendering.dag.nodes.OutlineNode) InitialPostProcessingNode(org.terasology.rendering.dag.nodes.InitialPostProcessingNode) BlurredAmbientOcclusionNode(org.terasology.rendering.dag.nodes.BlurredAmbientOcclusionNode) OpaqueBlocksNode(org.terasology.rendering.dag.nodes.OpaqueBlocksNode) AmbientOcclusionNode(org.terasology.rendering.dag.nodes.AmbientOcclusionNode) FinalPostProcessingNode(org.terasology.rendering.dag.nodes.FinalPostProcessingNode) UpdateExposureNode(org.terasology.rendering.dag.nodes.UpdateExposureNode) LightShaftsNode(org.terasology.rendering.dag.nodes.LightShaftsNode) AlphaRejectBlocksNode(org.terasology.rendering.dag.nodes.AlphaRejectBlocksNode) Node(org.terasology.rendering.dag.Node) DeferredPointLightsNode(org.terasology.rendering.dag.nodes.DeferredPointLightsNode) WorldReflectionNode(org.terasology.rendering.dag.nodes.WorldReflectionNode) ToneMappingNode(org.terasology.rendering.dag.nodes.ToneMappingNode) BufferClearingNode(org.terasology.rendering.dag.nodes.BufferClearingNode) HighPassNode(org.terasology.rendering.dag.nodes.HighPassNode) BloomBlurNode(org.terasology.rendering.dag.nodes.BloomBlurNode) OpaqueObjectsNode(org.terasology.rendering.dag.nodes.OpaqueObjectsNode) OutputToHMDNode(org.terasology.rendering.dag.nodes.OutputToHMDNode) LateBlurNode(org.terasology.rendering.dag.nodes.LateBlurNode) ApplyDeferredLightingNode(org.terasology.rendering.dag.nodes.ApplyDeferredLightingNode) BackdropReflectionNode(org.terasology.rendering.dag.nodes.BackdropReflectionNode) DownSamplerForExposureNode(org.terasology.rendering.dag.nodes.DownSamplerForExposureNode) HazeNode(org.terasology.rendering.dag.nodes.HazeNode) RefractiveReflectiveBlocksNode(org.terasology.rendering.dag.nodes.RefractiveReflectiveBlocksNode) SimpleBlendMaterialsNode(org.terasology.rendering.dag.nodes.SimpleBlendMaterialsNode) OutputToScreenNode(org.terasology.rendering.dag.nodes.OutputToScreenNode) BackdropNode(org.terasology.rendering.dag.nodes.BackdropNode) OverlaysNode(org.terasology.rendering.dag.nodes.OverlaysNode)

Example 2 with OutlineNode

use of org.terasology.rendering.dag.nodes.OutlineNode in project Terasology by MovingBlocks.

the class WorldRendererImpl method add3dDecorationNodes.

private void add3dDecorationNodes(RenderGraph renderGraph) {
    Node opaqueObjectsNode = renderGraph.findNode("engine:opaqueObjectsNode");
    Node opaqueBlocksNode = renderGraph.findNode("engine:opaqueBlocksNode");
    Node alphaRejectBlocksNode = renderGraph.findNode("engine:alphaRejectBlocksNode");
    Node applyDeferredLightingNode = renderGraph.findNode("engine:applyDeferredLightingNode");
    Node outlineNode = new OutlineNode(context);
    renderGraph.addNode(outlineNode, "outlineNode");
    renderGraph.connect(opaqueObjectsNode, outlineNode);
    renderGraph.connect(opaqueBlocksNode, outlineNode);
    renderGraph.connect(alphaRejectBlocksNode, outlineNode);
    Node ambientOcclusionNode = new AmbientOcclusionNode(context);
    renderGraph.addNode(ambientOcclusionNode, "ambientOcclusionNode");
    renderGraph.connect(opaqueObjectsNode, ambientOcclusionNode);
    renderGraph.connect(opaqueBlocksNode, ambientOcclusionNode);
    renderGraph.connect(alphaRejectBlocksNode, ambientOcclusionNode);
    // TODO: At this stage, it is unclear -why- this connection is required, we just know that it's required. Investigate.
    renderGraph.connect(applyDeferredLightingNode, ambientOcclusionNode);
    Node blurredAmbientOcclusionNode = new BlurredAmbientOcclusionNode(context);
    renderGraph.addNode(blurredAmbientOcclusionNode, "blurredAmbientOcclusionNode");
    renderGraph.connect(ambientOcclusionNode, blurredAmbientOcclusionNode);
}
Also used : BlurredAmbientOcclusionNode(org.terasology.rendering.dag.nodes.BlurredAmbientOcclusionNode) AmbientOcclusionNode(org.terasology.rendering.dag.nodes.AmbientOcclusionNode) DeferredMainLightNode(org.terasology.rendering.dag.nodes.DeferredMainLightNode) PrePostCompositeNode(org.terasology.rendering.dag.nodes.PrePostCompositeNode) ShadowMapNode(org.terasology.rendering.dag.nodes.ShadowMapNode) OutlineNode(org.terasology.rendering.dag.nodes.OutlineNode) InitialPostProcessingNode(org.terasology.rendering.dag.nodes.InitialPostProcessingNode) BlurredAmbientOcclusionNode(org.terasology.rendering.dag.nodes.BlurredAmbientOcclusionNode) OpaqueBlocksNode(org.terasology.rendering.dag.nodes.OpaqueBlocksNode) AmbientOcclusionNode(org.terasology.rendering.dag.nodes.AmbientOcclusionNode) FinalPostProcessingNode(org.terasology.rendering.dag.nodes.FinalPostProcessingNode) UpdateExposureNode(org.terasology.rendering.dag.nodes.UpdateExposureNode) LightShaftsNode(org.terasology.rendering.dag.nodes.LightShaftsNode) AlphaRejectBlocksNode(org.terasology.rendering.dag.nodes.AlphaRejectBlocksNode) Node(org.terasology.rendering.dag.Node) DeferredPointLightsNode(org.terasology.rendering.dag.nodes.DeferredPointLightsNode) WorldReflectionNode(org.terasology.rendering.dag.nodes.WorldReflectionNode) ToneMappingNode(org.terasology.rendering.dag.nodes.ToneMappingNode) BufferClearingNode(org.terasology.rendering.dag.nodes.BufferClearingNode) HighPassNode(org.terasology.rendering.dag.nodes.HighPassNode) BloomBlurNode(org.terasology.rendering.dag.nodes.BloomBlurNode) OpaqueObjectsNode(org.terasology.rendering.dag.nodes.OpaqueObjectsNode) OutputToHMDNode(org.terasology.rendering.dag.nodes.OutputToHMDNode) LateBlurNode(org.terasology.rendering.dag.nodes.LateBlurNode) ApplyDeferredLightingNode(org.terasology.rendering.dag.nodes.ApplyDeferredLightingNode) BackdropReflectionNode(org.terasology.rendering.dag.nodes.BackdropReflectionNode) DownSamplerForExposureNode(org.terasology.rendering.dag.nodes.DownSamplerForExposureNode) HazeNode(org.terasology.rendering.dag.nodes.HazeNode) RefractiveReflectiveBlocksNode(org.terasology.rendering.dag.nodes.RefractiveReflectiveBlocksNode) SimpleBlendMaterialsNode(org.terasology.rendering.dag.nodes.SimpleBlendMaterialsNode) OutputToScreenNode(org.terasology.rendering.dag.nodes.OutputToScreenNode) BackdropNode(org.terasology.rendering.dag.nodes.BackdropNode) OverlaysNode(org.terasology.rendering.dag.nodes.OverlaysNode) BlurredAmbientOcclusionNode(org.terasology.rendering.dag.nodes.BlurredAmbientOcclusionNode) OutlineNode(org.terasology.rendering.dag.nodes.OutlineNode)

Aggregations

Node (org.terasology.rendering.dag.Node)2 AlphaRejectBlocksNode (org.terasology.rendering.dag.nodes.AlphaRejectBlocksNode)2 AmbientOcclusionNode (org.terasology.rendering.dag.nodes.AmbientOcclusionNode)2 ApplyDeferredLightingNode (org.terasology.rendering.dag.nodes.ApplyDeferredLightingNode)2 BackdropNode (org.terasology.rendering.dag.nodes.BackdropNode)2 BackdropReflectionNode (org.terasology.rendering.dag.nodes.BackdropReflectionNode)2 BloomBlurNode (org.terasology.rendering.dag.nodes.BloomBlurNode)2 BlurredAmbientOcclusionNode (org.terasology.rendering.dag.nodes.BlurredAmbientOcclusionNode)2 BufferClearingNode (org.terasology.rendering.dag.nodes.BufferClearingNode)2 DeferredMainLightNode (org.terasology.rendering.dag.nodes.DeferredMainLightNode)2 DeferredPointLightsNode (org.terasology.rendering.dag.nodes.DeferredPointLightsNode)2 DownSamplerForExposureNode (org.terasology.rendering.dag.nodes.DownSamplerForExposureNode)2 FinalPostProcessingNode (org.terasology.rendering.dag.nodes.FinalPostProcessingNode)2 HazeNode (org.terasology.rendering.dag.nodes.HazeNode)2 HighPassNode (org.terasology.rendering.dag.nodes.HighPassNode)2 InitialPostProcessingNode (org.terasology.rendering.dag.nodes.InitialPostProcessingNode)2 LateBlurNode (org.terasology.rendering.dag.nodes.LateBlurNode)2 LightShaftsNode (org.terasology.rendering.dag.nodes.LightShaftsNode)2 OpaqueBlocksNode (org.terasology.rendering.dag.nodes.OpaqueBlocksNode)2 OpaqueObjectsNode (org.terasology.rendering.dag.nodes.OpaqueObjectsNode)2