diff --git a/src/main/java/org/terasology/corerendering/rendering/dag/nodes/DownSamplerNode.java b/src/main/java/org/terasology/corerendering/rendering/dag/nodes/DownSamplerNode.java index e6959c6..860952d 100644 --- a/src/main/java/org/terasology/corerendering/rendering/dag/nodes/DownSamplerNode.java +++ b/src/main/java/org/terasology/corerendering/rendering/dag/nodes/DownSamplerNode.java @@ -18,6 +18,7 @@ import org.terasology.engine.context.Context; import org.terasology.engine.monitoring.PerformanceMonitor; import org.terasology.engine.rendering.assets.material.Material; +import org.terasology.engine.rendering.assets.mesh.Mesh; import org.terasology.engine.rendering.dag.ConditionDependentNode; import org.terasology.engine.rendering.dag.stateChanges.BindFbo; import org.terasology.engine.rendering.dag.stateChanges.EnableMaterial; @@ -26,6 +27,7 @@ import org.terasology.engine.rendering.opengl.BaseFboManager; import org.terasology.engine.rendering.opengl.FBO; import org.terasology.engine.rendering.opengl.FboConfig; +import org.terasology.engine.utilities.Assets; import org.terasology.gestalt.assets.ResourceUrn; import org.terasology.gestalt.naming.Name; @@ -43,6 +45,8 @@ public class DownSamplerNode extends ConditionDependentNode { private FBO outputFbo; private Material downSampler; private BaseFboManager inputFboManager; + private Mesh renderQuad; + /** * Constructs the DownSamplerNode instance. * @@ -60,6 +64,10 @@ public DownSamplerNode(String nodeUri, Context context, Name providingModule, this.inputFboManager = inputFboManager; addOutputFboConnection(1); outputFbo = requiresFbo(outputFboConfig, outputFboManager); + + + this.renderQuad = Assets.get(new ResourceUrn("engine:ScreenQuad"), Mesh.class) + .orElseThrow(() -> new RuntimeException("Failed to resolve render Quad")); } /** @@ -71,7 +79,7 @@ public void process() { downSampler.setFloat("size", outputFbo.width(), true); - renderFullscreenQuad(); + renderQuad.render(); PerformanceMonitor.endActivity(); }