From 92f3e8d1656a51b3c12870c0b7a453212e5a24a1 Mon Sep 17 00:00:00 2001 From: RodZill4 Date: Sun, 4 Oct 2020 15:15:06 +0200 Subject: [PATCH] Added tones map node --- addons/material_maker/nodes/tones_map.mmg | 90 ++++++++++++++++++ material_maker/library/base.json | 11 +++ .../library/base/filter_tones_map.png | Bin 0 -> 4997 bytes 3 files changed, 101 insertions(+) create mode 100644 addons/material_maker/nodes/tones_map.mmg create mode 100644 material_maker/library/base/filter_tones_map.png diff --git a/addons/material_maker/nodes/tones_map.mmg b/addons/material_maker/nodes/tones_map.mmg new file mode 100644 index 00000000..8ec7d304 --- /dev/null +++ b/addons/material_maker/nodes/tones_map.mmg @@ -0,0 +1,90 @@ +{ + "name": "tones_map", + "node_position": { + "x": 0, + "y": 0 + }, + "parameters": { + "in_max": 1, + "in_min": 0, + "out_max": 1, + "out_min": 0 + }, + "shader_model": { + "code": "", + "global": "", + "inputs": [ + { + "default": "vec4(0.5 ,0.5, 0.5, 1.0)", + "label": "", + "longdesc": "The input image", + "name": "in", + "shortdesc": "Input", + "type": "rgba" + } + ], + "instance": "", + "longdesc": "A node that maps linearly an input tones interval to an output tones interval.", + "name": "Tones map", + "outputs": [ + { + "longdesc": "Shows the generated remapped image", + "rgba": "vec4(vec3($out_min)+($in($uv).rgb-vec3($in_min))*vec3(($out_max-$out_min)/($in_max-$in_min)), $in($uv).a)", + "shortdesc": "Output", + "type": "rgba" + } + ], + "parameters": [ + { + "control": "None", + "default": 0.5, + "label": "Input min", + "longdesc": "The minimum value of the input interval", + "max": 1, + "min": 0, + "name": "in_min", + "shortdesc": "InputMin", + "step": 0.01, + "type": "float" + }, + { + "control": "None", + "default": 0.5, + "label": "Input max", + "longdesc": "The maximum value of the input interval", + "max": 1, + "min": 0, + "name": "in_max", + "shortdesc": "InputMax", + "step": 0.01, + "type": "float" + }, + { + "control": "None", + "default": 1, + "label": "Output min", + "longdesc": "The minimum value of the output interval", + "max": 1, + "min": 0, + "name": "out_min", + "shortdesc": "OutputMin", + "step": 0.01, + "type": "float" + }, + { + "control": "None", + "default": 0.5, + "label": "Output max", + "longdesc": "The maximum value of the output interval", + "max": 1, + "min": 0, + "name": "out_max", + "shortdesc": "OutputMax", + "step": 0.01, + "type": "float" + } + ], + "shortdesc": "Tones map" + }, + "type": "shader" +} \ No newline at end of file diff --git a/material_maker/library/base.json b/material_maker/library/base.json index 60383f9e..69f54cf7 100644 --- a/material_maker/library/base.json +++ b/material_maker/library/base.json @@ -1812,6 +1812,17 @@ "tree_item": "Filter/Tones", "type": "tones" }, + { + "icon": "filter_tones_map", + "name": "tones_map", + "parameters": { + "invert": false, + "value": 0.5, + "width": 0.1 + }, + "tree_item": "Filter/Tones/Map", + "type": "tones_map" + }, { "icon": "filter_tones_step", "name": "tones_step", diff --git a/material_maker/library/base/filter_tones_map.png b/material_maker/library/base/filter_tones_map.png new file mode 100644 index 0000000000000000000000000000000000000000..3e5c4f99081eea1c369df6e22245c539226559fa GIT binary patch literal 4997 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 Rt-y0N2p$*g$Me~r`G1=&etiG{ literal 0 HcmV?d00001