Update log interface

This commit is contained in:
luboslenco
2019-11-23 22:42:09 +01:00
parent b9091307d3
commit 8a1042e1f3
17 changed files with 51 additions and 32 deletions
+22 -5
View File
@@ -606,16 +606,27 @@ class Material {
}
else if (node.type == 'BLUR') {
// Image nodes only for now
var out_col = parse_vector_input(node.inputs[0]);
out_col = parsedMap.get(out_col);
if (out_col == null) return 'vec3(0.0, 0.0, 0.0)';
out_col = textureMap.get(out_col.split(".")[0]);
if (out_col == null) return 'vec3(0.0, 0.0, 0.0)';
out_col += '.rgb';
var strength = parse_value_input(node.inputs[1]);
curshader.write('vec3 res1 = vec3(0, 0, 0);');
curshader.write('for (int i = -6; i <= 6; ++i) {');
curshader.write('for (int j = -6; j <= 6; ++j) {');
curshader.write('texCoord += vec2(i, j) / 100;');
if (strength == '0.0') return 'vec3(0.0, 0.0, 0.0)';
var steps = 'int($strength * 10 + 1)';
var texture = out_col.substring(out_col.indexOf("(") + 1, out_col.indexOf(","));
curshader.write('vec2 _texCoord = texCoord;');
curshader.write('vec3 res1 = vec3(0.0, 0.0, 0.0);');
curshader.write('for (int i = -$steps; i <= $steps; ++i) {');
curshader.write('for (int j = -$steps; j <= $steps; ++j) {');
curshader.write('texCoord = _texCoord + vec2(i, j) / textureSize($texture, 0);');
curshader.write('res1 += $out_col;');
curshader.write('}');
curshader.write('}');
curshader.write('res1 /= 13 * 13;');
curshader.write('texCoord = _texCoord;');
curshader.write('res1 /= ($steps * 2 + 1) * ($steps * 2 + 1);');
return 'res1';
}
@@ -1673,6 +1684,9 @@ class Material {
return node_name(node) + '_' + safesrc(socket.name) + '_res';
}
static var parsedMap = new Map<String, String>();
static var textureMap = new Map<String, String>();
static function write_result(l:TNodeLink):String {
var from_node = getNode(l.from_id);
var from_socket = from_node.outputs[l.from_socket];
@@ -1684,12 +1698,14 @@ class Material {
var res = parse_vector(from_node, from_socket);
if (res == null)
return null;
parsedMap.set(res_var, res);
curshader.write('vec3 $res_var = $res;');
}
else if (st == 'VALUE') {
var res = parse_value(from_node, from_socket);
if (res == null)
return null;
parsedMap.set(res_var, res);
curshader.write('float $res_var = $res;');
}
}
@@ -1720,6 +1736,7 @@ class Material {
curshader.write('if (texCoordBlend.z > 0) $tex_store += texture($tex_name, ${uv_name}2.xy) * texCoordBlend.z;');
}
else {
textureMap.set(tex_store, 'texture($tex_name, $uv_name.xy)');
curshader.write('vec4 $tex_store = texture($tex_name, $uv_name.xy);');
}
+2
View File
@@ -300,6 +300,8 @@ class MaterialShader {
s += '#define textureLod(tex, coord, lod) tex.SampleLevel(tex ## _sampler, coord, lod)\n';
s += '#define textureLodShared(tex, coord, lod) tex.SampleLevel($sharedSampler, coord, lod)\n';
s += '#define texelFetch(tex, coord, lod) tex.Load(float3(coord.xy, lod))\n';
s += 'uint2 _GetDimensions(Texture2D tex, uint lod) { uint x, y; tex.GetDimensions(x, y); return uint2(x, y); }\n';
s += '#define textureSize _GetDimensions\n';
s += '#define mod(a, b) (a % b)\n';
s += '#define vec2 float2\n';
s += '#define vec3 float3\n';
+1 -1
View File
@@ -1198,7 +1198,7 @@ class NodesMaterial {
},
{
id: 0,
name: "Blur",
name: "Blur (Image)",
type: "BLUR", // extension
x: 0,
y: 0,