add rounded corners to piece
This commit is contained in:
parent
3e8bc06f2c
commit
375851ca00
|
@ -4,6 +4,9 @@ Todo
|
||||||
- [ ] save/load preferences
|
- [ ] save/load preferences
|
||||||
- [ ] load custom image
|
- [ ] load custom image
|
||||||
- [ ] flip panel for more options
|
- [ ] flip panel for more options
|
||||||
|
- [o] piece
|
||||||
|
- [X] rounded corners
|
||||||
|
- [ ] thickness
|
||||||
- [ ] highlight hints
|
- [ ] highlight hints
|
||||||
- [ ] art generator
|
- [ ] art generator
|
||||||
- [ ] properly align widgets
|
- [ ] properly align widgets
|
||||||
|
@ -33,3 +36,4 @@ Inspiration
|
||||||
-----------
|
-----------
|
||||||
- [ZHED](playzhed.com)
|
- [ZHED](playzhed.com)
|
||||||
- [adrena...line](managore.itch.io/adrena-line)
|
- [adrena...line](managore.itch.io/adrena-line)
|
||||||
|
- [pet putt](http://petputt.com/)
|
||||||
|
|
|
@ -39,6 +39,9 @@ margin_right = 540.0
|
||||||
margin_bottom = 560.0
|
margin_bottom = 560.0
|
||||||
rows = 4
|
rows = 4
|
||||||
columns = 4
|
columns = 4
|
||||||
|
width = 512
|
||||||
|
height = 512
|
||||||
|
current_state = 0
|
||||||
|
|
||||||
[node name="VSplitContainer" type="VBoxContainer" parent="HSplitContainer"]
|
[node name="VSplitContainer" type="VBoxContainer" parent="HSplitContainer"]
|
||||||
margin_left = 548.0
|
margin_left = 548.0
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=13 format=2]
|
[gd_scene load_steps=14 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://src/Piece.gd" type="Script" id=1]
|
[ext_resource path="res://src/Piece.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://assets/escher_lizards.jpg" type="Texture" id=2]
|
[ext_resource path="res://assets/escher_lizards.jpg" type="Texture" id=2]
|
||||||
|
@ -6,6 +6,16 @@
|
||||||
[sub_resource type="VisualShaderNodeVec3Constant" id=1]
|
[sub_resource type="VisualShaderNodeVec3Constant" id=1]
|
||||||
constant = Vector3( 0.3, 0.3, 0 )
|
constant = Vector3( 0.3, 0.3, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="VisualShaderNodeExpression" id=12]
|
||||||
|
output_port_for_preview = 0
|
||||||
|
size = Vector2( 620, 395 )
|
||||||
|
expression = "// https://iquilezles.org/www/articles/distfunctions2d/distfunctions2d.htm
|
||||||
|
vec2 rel_p = input.xy - vec2(0.5, 0.5);
|
||||||
|
float box = 0.4;
|
||||||
|
vec2 d = abs(rel_p) - vec2(box, box); // mirroring
|
||||||
|
float dist = length(max(d, 0.0)) + min(max(d.x,d.y), 0.0);
|
||||||
|
alpha_mask = dist < (0.5 - box);"
|
||||||
|
|
||||||
[sub_resource type="VisualShaderNodeTexture" id=2]
|
[sub_resource type="VisualShaderNodeTexture" id=2]
|
||||||
output_port_for_preview = 0
|
output_port_for_preview = 0
|
||||||
texture = ExtResource( 2 )
|
texture = ExtResource( 2 )
|
||||||
|
@ -38,6 +48,7 @@ uniform vec3 offset;
|
||||||
uniform sampler2D tex_frg_3;
|
uniform sampler2D tex_frg_3;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void vertex() {
|
void vertex() {
|
||||||
// Output:0
|
// Output:0
|
||||||
|
|
||||||
|
@ -45,34 +56,40 @@ void vertex() {
|
||||||
|
|
||||||
void fragment() {
|
void fragment() {
|
||||||
// Input:4
|
// Input:4
|
||||||
vec3 n_out4p0;
|
vec3 n_out4p0 = vec3(UV, 0.0);
|
||||||
n_out4p0 = vec3(UV,0.0);
|
|
||||||
|
|
||||||
// VectorUniform:7
|
// VectorUniform:7
|
||||||
vec3 n_out7p0;
|
vec3 n_out7p0 = scale;
|
||||||
n_out7p0 = scale;
|
|
||||||
|
|
||||||
// VectorOp:5
|
// VectorOp:5
|
||||||
vec3 n_out5p0;
|
vec3 n_out5p0 = n_out4p0 * n_out7p0;
|
||||||
n_out5p0 = n_out4p0 * n_out7p0;
|
|
||||||
|
|
||||||
// VectorUniform:8
|
// VectorUniform:8
|
||||||
vec3 n_out8p0;
|
vec3 n_out8p0 = offset;
|
||||||
n_out8p0 = offset;
|
|
||||||
|
|
||||||
// VectorOp:6
|
// VectorOp:6
|
||||||
vec3 n_out6p0;
|
vec3 n_out6p0 = n_out5p0 + n_out8p0;
|
||||||
n_out6p0 = n_out5p0 + n_out8p0;
|
|
||||||
|
|
||||||
// Texture:3
|
// Texture:3
|
||||||
vec3 n_out3p0;
|
vec4 tex_frg_3_read = texture(tex_frg_3, n_out6p0.xy);
|
||||||
float n_out3p1;
|
vec3 n_out3p0 = tex_frg_3_read.rgb;
|
||||||
vec4 tex_frg_3_read = texture( tex_frg_3 , n_out6p0.xy );
|
float n_out3p1 = tex_frg_3_read.a;
|
||||||
n_out3p0 = tex_frg_3_read.rgb;
|
|
||||||
n_out3p1 = tex_frg_3_read.a;
|
// Expression:13
|
||||||
|
bool n_out13p0;
|
||||||
|
n_out13p0 = false;
|
||||||
|
{
|
||||||
|
// https://iquilezles.org/www/articles/distfunctions2d/distfunctions2d.htm
|
||||||
|
vec2 rel_p = n_out4p0.xy - vec2(0.5, 0.5);
|
||||||
|
float box = 0.4;
|
||||||
|
vec2 d = abs(rel_p) - vec2(box, box); // mirroring
|
||||||
|
float dist = length(max(d, 0.0)) + min(max(d.x,d.y), 0.0);
|
||||||
|
n_out13p0 = dist < (0.5 - box);
|
||||||
|
}
|
||||||
|
|
||||||
// Output:0
|
// Output:0
|
||||||
COLOR.rgb = n_out3p0;
|
COLOR.rgb = n_out3p0;
|
||||||
|
COLOR.a = n_out13p0 ? 1.0 : 0.0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,27 +98,38 @@ void light() {
|
||||||
|
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
graph_offset = Vector2( 0, 75 )
|
graph_offset = Vector2( -213.196, 77.3248 )
|
||||||
mode = 1
|
mode = 1
|
||||||
flags/light_only = false
|
flags/light_only = false
|
||||||
nodes/fragment/0/position = Vector2( 1080, 160 )
|
nodes/fragment/0/position = Vector2( 1120, 360 )
|
||||||
nodes/fragment/3/node = SubResource( 2 )
|
nodes/fragment/3/node = SubResource( 2 )
|
||||||
nodes/fragment/3/position = Vector2( 820, 120 )
|
nodes/fragment/3/position = Vector2( 820, 120 )
|
||||||
nodes/fragment/4/node = SubResource( 3 )
|
nodes/fragment/4/node = SubResource( 3 )
|
||||||
nodes/fragment/4/position = Vector2( 40, 60 )
|
nodes/fragment/4/position = Vector2( -120, 360 )
|
||||||
nodes/fragment/5/node = SubResource( 4 )
|
nodes/fragment/5/node = SubResource( 4 )
|
||||||
nodes/fragment/5/position = Vector2( 360, 80 )
|
nodes/fragment/5/position = Vector2( 360, 80 )
|
||||||
nodes/fragment/6/node = SubResource( 5 )
|
nodes/fragment/6/node = SubResource( 5 )
|
||||||
nodes/fragment/6/position = Vector2( 620, 240 )
|
nodes/fragment/6/position = Vector2( 620, 240 )
|
||||||
nodes/fragment/7/node = SubResource( 6 )
|
nodes/fragment/7/node = SubResource( 6 )
|
||||||
nodes/fragment/7/position = Vector2( 40, 240 )
|
nodes/fragment/7/position = Vector2( 80, 60 )
|
||||||
nodes/fragment/8/node = SubResource( 7 )
|
nodes/fragment/8/node = SubResource( 7 )
|
||||||
nodes/fragment/8/position = Vector2( 360, 380 )
|
nodes/fragment/8/position = Vector2( 380, 340 )
|
||||||
nodes/fragment/9/node = SubResource( 8 )
|
nodes/fragment/9/node = SubResource( 8 )
|
||||||
nodes/fragment/9/position = Vector2( 40, 300 )
|
nodes/fragment/9/position = Vector2( -80, 120 )
|
||||||
nodes/fragment/11/node = SubResource( 1 )
|
nodes/fragment/11/node = SubResource( 1 )
|
||||||
nodes/fragment/11/position = Vector2( 360, 440 )
|
nodes/fragment/11/position = Vector2( 220, 400 )
|
||||||
nodes/fragment/connections = PoolIntArray( 3, 0, 0, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 3, 0, 7, 0, 5, 1, 8, 0, 6, 1 )
|
nodes/fragment/13/node = SubResource( 12 )
|
||||||
|
nodes/fragment/13/position = Vector2( 260, 540 )
|
||||||
|
nodes/fragment/13/size = Vector2( 620, 395 )
|
||||||
|
nodes/fragment/13/input_ports = "0,1,input;"
|
||||||
|
nodes/fragment/13/output_ports = "0,2,alpha_mask;"
|
||||||
|
nodes/fragment/13/expression = "// https://iquilezles.org/www/articles/distfunctions2d/distfunctions2d.htm
|
||||||
|
vec2 rel_p = input.xy - vec2(0.5, 0.5);
|
||||||
|
float box = 0.4;
|
||||||
|
vec2 d = abs(rel_p) - vec2(box, box); // mirroring
|
||||||
|
float dist = length(max(d, 0.0)) + min(max(d.x,d.y), 0.0);
|
||||||
|
alpha_mask = dist < (0.5 - box);"
|
||||||
|
nodes/fragment/connections = PoolIntArray( 3, 0, 0, 0, 5, 0, 6, 0, 6, 0, 3, 0, 13, 0, 0, 1, 4, 0, 5, 0, 4, 0, 13, 0, 8, 0, 6, 1, 7, 0, 5, 1 )
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id=10]
|
[sub_resource type="ShaderMaterial" id=10]
|
||||||
shader = SubResource( 9 )
|
shader = SubResource( 9 )
|
||||||
|
@ -123,6 +151,7 @@ __meta__ = {
|
||||||
}
|
}
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="ColorRect"]
|
[node name="Label" type="Label" parent="ColorRect"]
|
||||||
|
visible = false
|
||||||
margin_left = 10.0
|
margin_left = 10.0
|
||||||
margin_top = 10.0
|
margin_top = 10.0
|
||||||
margin_right = 50.0
|
margin_right = 50.0
|
||||||
|
|
Loading…
Reference in a new issue