- [Websocket Receiver] Fix error with port setup.

This commit is contained in:
Tanasart 2024-06-26 08:14:00 +07:00
parent f057bf63d9
commit e8acf572d7
5 changed files with 64 additions and 12 deletions

View File

@ -77,4 +77,28 @@ function surface_apply_gaussian(surface, size, bg = false, bg_c = c_white, sampl
BLEND_NORMAL;
return __blur_vert;
}
function surface_apply_blur_zoom(surface, size, origin_x, origin_y, blurMode = 0, sampleMode = 0) {
var format = surface_get_format(surface);
var _sw = surface_get_width_safe(surface);
var _sh = surface_get_height_safe(surface);
__blur_hori = surface_verify(__blur_hori, _sw, _sh, format);
size = min(size, 128) / 128;
var gau_array = __gaussian_get_kernel(size);
surface_set_shader(__blur_hori, sh_blur_zoom);
shader_set_f("center", origin_x / _sw, origin_y / _sh);
shader_set_f_map("strength", size);
shader_set_i("blurMode", blurMode);
shader_set_i("sampleMode", sampleMode);
shader_set_i("gamma", 0);
draw_surface_safe(surface);
surface_reset_shader();
return __blur_hori;
}

View File

@ -32,13 +32,17 @@ function Node_Bloom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
inputs[| 12] = nodeValue("Direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0)
.setDisplay(VALUE_DISPLAY.rotation);
// inputs[| 13] = nodeValue("Types", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
// .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Gaussian" ]);
inputs[| 13] = nodeValue("Types", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Gaussian", "Zoom" ]);
inputs[| 14] = nodeValue("Zoom Origin", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0.5, 0.5 ])
.setDisplay(VALUE_DISPLAY.vector)
.setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference);
input_display_list = [ 7, 8,
["Surfaces", true], 0, 5, 6, 9, 10,
["Bloom", false], 1, 2, 3, 4,
["Blur", true], 11, 12,
["Blur", false], 13, 11, 12, 14,
]
outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
@ -47,8 +51,20 @@ function Node_Bloom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
surface_blur_init();
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
var _typ = getSingleValue(13);
if(_typ == 1)
inputs[| 14].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
} #endregion
static step = function() { #region
__step_mask_modifier();
var _typ = getSingleValue(13);
inputs[| 11].setVisible(_typ == 0);
inputs[| 12].setVisible(_typ == 0);
inputs[| 14].setVisible(_typ == 1);
} #endregion
static processData = function(_outSurf, _data, _output_index, _array_index) {
@ -56,8 +72,12 @@ function Node_Bloom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
var _tole = _data[2];
var _stre = _data[3];
var _mask = _data[4];
var _type = _data[13];
var _ratio = _data[11];
var _angle = _data[12];
var _zoom = _data[14];
var pass1 = surface_create_valid(surface_get_width_safe(_outSurf), surface_get_height_safe(_outSurf), attrDepth());
surface_set_shader(pass1, sh_bloom_pass);
@ -71,7 +91,11 @@ function Node_Bloom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
draw_surface_safe(_data[0]);
surface_reset_shader();
var pass1blur = surface_apply_gaussian(pass1, _size, true, c_black, 1, noone, false, _ratio, _angle);
var pass1blur;
if(_type == 0) pass1blur = surface_apply_gaussian( pass1, _size, true, c_black, 1, noone, false, _ratio, _angle);
else if(_type == 1) pass1blur = surface_apply_blur_zoom(pass1, _size, _zoom[0], _zoom[1], 2, 1);
surface_free(pass1);
surface_set_shader(_outSurf, sh_blend_add_alpha_adj);

View File

@ -6,7 +6,7 @@ function Node_Blur_Zoom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
inputs[| 1] = nodeValue("Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.2)
.setMappable(12);
inputs[| 2] = nodeValue("Center", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
inputs[| 2] = nodeValue("Center", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0.5, 0.5 ])
.setDisplay(VALUE_DISPLAY.vector)
.setUnitRef(function(index) { return getDimension(index); });
@ -81,7 +81,7 @@ function Node_Blur_Zoom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
shader_set_i("useMask", is_surface(_data[5]));
shader_set_surface("mask", _data[5]);
draw_surface_safe(_data[0], 0, 0);
draw_surface_safe(_data[0]);
surface_reset_shader();
__process_mask_modifier(_data);

View File

@ -54,8 +54,7 @@ function Node_Websocket_Receiver(_x, _y, _group = noone) : Node(_x, _y, _group)
} else if(mode == 1) {
socket = network_create_server_raw(network_socket_ws, port, 16);
if(socket)
NETWORK_SERVERS[? newPort] = socket;
if(socket) NETWORK_SERVERS[? port] = socket;
}
} #endregion

View File

@ -69,12 +69,17 @@ function shader_set_f(uniform, value) { #region
}
} #endregion
function shader_set_f_map(uniform, value, surface, junc) { #region
function shader_set_f_map(uniform, value, surface = noone, junc = noone) { #region
INLINE
shader_set_f( uniform, is_array(value)? value : [ value, value ]);
shader_set_i( uniform + "UseSurf", junc.attributes.mapped && is_surface(surface));
shader_set_surface(uniform + "Surf", surface);
shader_set_f(uniform, is_array(value)? value : [ value, value ]);
if(surface == noone) {
shader_set_i( uniform + "UseSurf", false);
} else {
shader_set_i( uniform + "UseSurf", junc.attributes.mapped && is_surface(surface));
shader_set_surface(uniform + "Surf", surface);
}
} #endregion
function shader_set_f_map_s(uniform, value, surface, junc) { #region