diff --git a/leenkx/Sources/leenkx/logicnode/ResolutionSetNode.hx b/leenkx/Sources/leenkx/logicnode/ResolutionSetNode.hx new file mode 100644 index 0000000..3a1fce9 --- /dev/null +++ b/leenkx/Sources/leenkx/logicnode/ResolutionSetNode.hx @@ -0,0 +1,33 @@ +package leenkx.logicnode; + +import kha.graphics4.TextureFilter; + +class ResolutionSetNode extends LogicNode { + + public function new(tree:LogicTree) { + super(tree); + } + + override function run(from:Int) { + + var size: Int = inputs[1].get(); + var filter: Int = inputs[2].get(); + + #if rp_resolution_filter + if (filter == 0) + iron.object.Uniforms.defaultFilter = TextureFilter.LinearFilter; + else + iron.object.Uniforms.defaultFilter = TextureFilter.PointFilter; + + leenkx.renderpath.Postprocess.resolution_uniforms[0] = size; + leenkx.renderpath.Postprocess.resolution_uniforms[1] = filter; + + var npath = leenkx.renderpath.RenderPathCreator.get(); + var world = iron.Scene.active.raw.world_ref; + npath.loadShader("shader_datas/World_" + world + "/World_" + world); + iron.RenderPath.setActive(npath); + #end + + runOutput(0); + } +} \ No newline at end of file