1.16.6
|
@ -417,7 +417,7 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"mf.dll","CopyToMask":-1,"filePath":"datafiles",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"mf.dll","CopyToMask":-1,"filePath":"datafiles",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"mfcore.dll","CopyToMask":-1,"filePath":"datafiles",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"mfcore.dll","CopyToMask":-1,"filePath":"datafiles",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"mfplat.dll","CopyToMask":-1,"filePath":"datafiles",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"mfplat.dll","CopyToMask":-1,"filePath":"datafiles",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"pxc","CopyToMask":-1,"filePath":"datafiles",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"pxc.exe","CopyToMask":-1,"filePath":"datafiles",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"README.txt","ConfigValues":{"Itch":{"CopyToMask":"0",},},"CopyToMask":-1,"filePath":"datafiles",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"README.txt","ConfigValues":{"Itch":{"CopyToMask":"0",},},"CopyToMask":-1,"filePath":"datafiles",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"data.win","CopyToMask":-1,"filePath":"datafiles/report",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"data.win","CopyToMask":-1,"filePath":"datafiles/report",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"execute_shell_simple_ext_x64.dll","CopyToMask":-1,"filePath":"datafiles/report",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"execute_shell_simple_ext_x64.dll","CopyToMask":-1,"filePath":"datafiles/report",},
|
||||||
|
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
|
@ -28,9 +28,9 @@
|
||||||
k.z = power(k.z, 3);
|
k.z = power(k.z, 3);
|
||||||
|
|
||||||
var rg = global.CVTMAT_OKLAB_RGB.multiplyVector(k);
|
var rg = global.CVTMAT_OKLAB_RGB.multiplyVector(k);
|
||||||
rg.x = power(rg.x, 1 / 2.2);
|
rg.x = power(rg.x, 1 / 2.2) * 255;
|
||||||
rg.y = power(rg.y, 1 / 2.2);
|
rg.y = power(rg.y, 1 / 2.2) * 255;
|
||||||
rg.z = power(rg.z, 1 / 2.2);
|
rg.z = power(rg.z, 1 / 2.2) * 255;
|
||||||
|
|
||||||
return make_color_rgba(rg.x, rg.y, rg.z, a);
|
return make_color_rgba(rg.x, rg.y, rg.z, a);
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
|
@ -17,15 +17,18 @@ function Node_Color_Mix(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
input_display_list = [ 3, 0, 1, 2 ];
|
input_display_list = [ 3, 0, 1, 2 ];
|
||||||
|
|
||||||
static processData = function(_output, _data, _output_index, _array_index = 0) {
|
static processData = function(_output, _data, _output_index, _array_index = 0) {
|
||||||
|
var c = c_black;
|
||||||
|
|
||||||
switch(_data[3]) {
|
switch(_data[3]) {
|
||||||
case 0 : return merge_color_ext(_data[0], _data[1], _data[2]);
|
case 0 : c = merge_color_ext( _data[0], _data[1], _data[2]); break;
|
||||||
case 1 : return merge_color_hsv(_data[0], _data[1], _data[2]);
|
case 1 : c = merge_color_hsv( _data[0], _data[1], _data[2]); break;
|
||||||
case 2 : return merge_color_oklab(_data[0], _data[1], _data[2]);
|
case 2 : c = merge_color_oklab(_data[0], _data[1], _data[2]); break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { #region
|
||||||
var bbox = drawGetBbox(xx, yy, _s);
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
if(bbox.h < 1) return;
|
if(bbox.h < 1) return;
|
||||||
|
|
||||||
|
@ -37,5 +40,5 @@ function Node_Color_Mix(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
}
|
}
|
||||||
|
|
||||||
drawColor(col, bbox.x0, bbox.y0, bbox.w, bbox.h);
|
drawColor(col, bbox.x0, bbox.y0, bbox.w, bbox.h);
|
||||||
}
|
} #endregion
|
||||||
}
|
}
|
|
@ -117,7 +117,7 @@ function Node_Image(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
|
|
||||||
if(array_empty(spr)) return;
|
if(array_empty(spr)) return;
|
||||||
|
|
||||||
var _arr = is_array(spr);
|
var _arr = is_array(spr) && array_length(spr) > 1;
|
||||||
var _outsurf = outputs[| 0].getValue();
|
var _outsurf = outputs[| 0].getValue();
|
||||||
|
|
||||||
if(!is_array(_outsurf)) _outsurf = [ _outsurf ];
|
if(!is_array(_outsurf)) _outsurf = [ _outsurf ];
|
||||||
|
|
|
@ -98,13 +98,13 @@ function Node_Region_Fill(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
|
||||||
draw_surface_safe(temp_surface[1]);
|
draw_surface_safe(temp_surface[1]);
|
||||||
surface_reset_shader();
|
surface_reset_shader();
|
||||||
}
|
}
|
||||||
|
|
||||||
surface_set_shader(temp_surface[base], sh_region_fill_coordinate_init);
|
|
||||||
draw_surface_safe(temp_surface[2]);
|
|
||||||
surface_reset_shader();
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region coordinate
|
#region coordinate
|
||||||
|
surface_set_shader(temp_surface[base], sh_region_fill_coordinate_init);
|
||||||
|
draw_surface_safe(temp_surface[2]);
|
||||||
|
surface_reset_shader();
|
||||||
|
|
||||||
base = !base;
|
base = !base;
|
||||||
var amo = _sw + _sh;
|
var amo = _sw + _sh;
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ function Node_Region_Fill(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
|
||||||
}
|
}
|
||||||
|
|
||||||
surface_set_shader(temp_surface[base], sh_region_fill_border);
|
surface_set_shader(temp_surface[base], sh_region_fill_border);
|
||||||
shader_set_f("dimension", _sw, _sh);
|
shader_set_f("dimension", _sw, _sh);
|
||||||
shader_set_surface("original", _surf);
|
shader_set_surface("original", _surf);
|
||||||
|
|
||||||
draw_surface_safe(temp_surface[!base]);
|
draw_surface_safe(temp_surface[!base]);
|
||||||
|
|
|
@ -715,7 +715,7 @@ function __initNodes() {
|
||||||
addNodeObject(generator, "StrandSim", s_node_strandSim, "Node_Strand_Group_Inline", [1, Node_Strand_Group_Inline], ["hair"], "Create group for hair simulation.").setVersion(1140);
|
addNodeObject(generator, "StrandSim", s_node_strandSim, "Node_Strand_Group_Inline", [1, Node_Strand_Group_Inline], ["hair"], "Create group for hair simulation.").setVersion(1140);
|
||||||
addNodeObject(generator, "Diffuse", s_node_diffuse, "Node_Diffuse", [1, Node_Diffuse],, "Simulate diffusion like simulation.").setVersion(11640);
|
addNodeObject(generator, "Diffuse", s_node_diffuse, "Node_Diffuse", [1, Node_Diffuse],, "Simulate diffusion like simulation.").setVersion(11640);
|
||||||
addNodeObject(generator, "Reaction Diffusion", s_node_reaction_diffusion, "Node_RD", [1, Node_RD],, "Simulate reaction diffusion effect.").setVersion(11630);
|
addNodeObject(generator, "Reaction Diffusion", s_node_reaction_diffusion, "Node_RD", [1, Node_RD],, "Simulate reaction diffusion effect.").setVersion(11630);
|
||||||
|
|
||||||
ds_list_add(generator, "Region");
|
ds_list_add(generator, "Region");
|
||||||
addNodeObject(generator, "Separate Shape", s_node_sepearte_shape, "Node_Seperate_Shape", [1, Node_Seperate_Shape],, "Separate disconnected pixel each into an image in an image array.");
|
addNodeObject(generator, "Separate Shape", s_node_sepearte_shape, "Node_Seperate_Shape", [1, Node_Seperate_Shape],, "Separate disconnected pixel each into an image in an image array.");
|
||||||
addNodeObject(generator, "Region Fill", s_node_region_fill, "Node_Region_Fill", [1, Node_Region_Fill],, "Fill connected pixel with colors.").setVersion(1147);
|
addNodeObject(generator, "Region Fill", s_node_region_fill, "Node_Region_Fill", [1, Node_Region_Fill],, "Fill connected pixel with colors.").setVersion(1147);
|
||||||
|
|
|
@ -6,24 +6,6 @@ varying vec4 v_vColour;
|
||||||
uniform sampler2D base;
|
uniform sampler2D base;
|
||||||
uniform vec2 dimension;
|
uniform vec2 dimension;
|
||||||
|
|
||||||
vec2 less ( vec2 a, vec2 b ) { #region
|
|
||||||
if(b == vec2(0.)) return a;
|
|
||||||
if(a == vec2(0.)) return b;
|
|
||||||
|
|
||||||
if(a.y < b.y) return a;
|
|
||||||
else if(a.y > b.y) return b;
|
|
||||||
else return a.x < b.x? a : b;
|
|
||||||
} #endregion
|
|
||||||
|
|
||||||
vec2 more ( vec2 a, vec2 b ) { #region
|
|
||||||
if(b == vec2(0.)) return a;
|
|
||||||
if(a == vec2(0.)) return b;
|
|
||||||
|
|
||||||
if(a.y > b.y) return a;
|
|
||||||
else if(a.y < b.y) return b;
|
|
||||||
else return a.x > b.x? a : b;
|
|
||||||
} #endregion
|
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
vec2 tx = 1. / dimension;
|
vec2 tx = 1. / dimension;
|
||||||
vec4 c = texture2D( gm_BaseTexture, v_vTexcoord );
|
vec4 c = texture2D( gm_BaseTexture, v_vTexcoord );
|
||||||
|
@ -40,12 +22,12 @@ void main() {
|
||||||
if(x.x < 0. || x.y < 0. || x.x > 1. || x.y > 1.) break;
|
if(x.x < 0. || x.y < 0. || x.x > 1. || x.y > 1.) break;
|
||||||
|
|
||||||
vec4 s = texture2D( gm_BaseTexture, x );
|
vec4 s = texture2D( gm_BaseTexture, x );
|
||||||
vec4 b = texture2D( base, x );
|
vec4 b = texture2D( base, x );
|
||||||
|
|
||||||
if(b.a == 0.) break;
|
if(b.a == 0.) break;
|
||||||
|
|
||||||
gl_FragColor.xy = less( gl_FragColor.xy, s.xy );
|
gl_FragColor.xy = min( gl_FragColor.xy, s.xy );
|
||||||
gl_FragColor.zw = more( gl_FragColor.zw, s.zw );
|
gl_FragColor.zw = max( gl_FragColor.zw, s.zw );
|
||||||
}
|
}
|
||||||
|
|
||||||
for( float i = 1.; i < ITERATION; i++ ) {
|
for( float i = 1.; i < ITERATION; i++ ) {
|
||||||
|
@ -53,12 +35,12 @@ void main() {
|
||||||
if(x.x < 0. || x.y < 0. || x.x > 1. || x.y > 1.) break;
|
if(x.x < 0. || x.y < 0. || x.x > 1. || x.y > 1.) break;
|
||||||
|
|
||||||
vec4 s = texture2D( gm_BaseTexture, x );
|
vec4 s = texture2D( gm_BaseTexture, x );
|
||||||
vec4 b = texture2D( base, x );
|
vec4 b = texture2D( base, x );
|
||||||
|
|
||||||
if(b.a == 0.) break;
|
if(b.a == 0.) break;
|
||||||
|
|
||||||
gl_FragColor.xy = less( gl_FragColor.xy, s.xy );
|
gl_FragColor.xy = min( gl_FragColor.xy, s.xy );
|
||||||
gl_FragColor.zw = more( gl_FragColor.zw, s.zw );
|
gl_FragColor.zw = max( gl_FragColor.zw, s.zw );
|
||||||
}
|
}
|
||||||
|
|
||||||
for( float i = 1.; i < ITERATION; i++ ) {
|
for( float i = 1.; i < ITERATION; i++ ) {
|
||||||
|
@ -66,12 +48,12 @@ void main() {
|
||||||
if(x.x < 0. || x.y < 0. || x.x > 1. || x.y > 1.) break;
|
if(x.x < 0. || x.y < 0. || x.x > 1. || x.y > 1.) break;
|
||||||
|
|
||||||
vec4 s = texture2D( gm_BaseTexture, x );
|
vec4 s = texture2D( gm_BaseTexture, x );
|
||||||
vec4 b = texture2D( base, x );
|
vec4 b = texture2D( base, x );
|
||||||
|
|
||||||
if(b.a == 0.) break;
|
if(b.a == 0.) break;
|
||||||
|
|
||||||
gl_FragColor.xy = less( gl_FragColor.xy, s.xy );
|
gl_FragColor.xy = min( gl_FragColor.xy, s.xy );
|
||||||
gl_FragColor.zw = more( gl_FragColor.zw, s.zw );
|
gl_FragColor.zw = max( gl_FragColor.zw, s.zw );
|
||||||
}
|
}
|
||||||
|
|
||||||
for( float i = 1.; i < ITERATION; i++ ) {
|
for( float i = 1.; i < ITERATION; i++ ) {
|
||||||
|
@ -79,11 +61,11 @@ void main() {
|
||||||
if(x.x < 0. || x.y < 0. || x.x > 1. || x.y > 1.) break;
|
if(x.x < 0. || x.y < 0. || x.x > 1. || x.y > 1.) break;
|
||||||
|
|
||||||
vec4 s = texture2D( gm_BaseTexture, x );
|
vec4 s = texture2D( gm_BaseTexture, x );
|
||||||
vec4 b = texture2D( base, x );
|
vec4 b = texture2D( base, x );
|
||||||
|
|
||||||
if(b.a == 0.) break;
|
if(b.a == 0.) break;
|
||||||
|
|
||||||
gl_FragColor.xy = less( gl_FragColor.xy, s.xy );
|
gl_FragColor.xy = min( gl_FragColor.xy, s.xy );
|
||||||
gl_FragColor.zw = more( gl_FragColor.zw, s.zw );
|
gl_FragColor.zw = max( gl_FragColor.zw, s.zw );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,5 +13,4 @@ void main() {
|
||||||
|
|
||||||
vec2 t = (v_vTexcoord - c.xy) / (c.zw - c.xy);
|
vec2 t = (v_vTexcoord - c.xy) / (c.zw - c.xy);
|
||||||
gl_FragColor = texture2D( textureMap, t );
|
gl_FragColor = texture2D( textureMap, t );
|
||||||
gl_FragColor = vec4( t, 0., 1. );
|
|
||||||
}
|
}
|
||||||
|
|