updated 2d view to show texture as square with margins

This commit is contained in:
RodZill4 2019-12-10 08:00:55 +01:00
parent 52e2af231d
commit 9a4800883f
3 changed files with 20 additions and 22 deletions

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=13 format=2]
[gd_scene load_steps=11 format=2]
[ext_resource path="res://addons/material_maker/main_window.gd" type="Script" id=1]
[ext_resource path="res://addons/material_maker/library.tscn" type="PackedScene" id=2]
@ -9,18 +9,6 @@
[ext_resource path="res://addons/material_maker/icons/icons.svg" type="Texture" id=7]
[ext_resource path="res://addons/material_maker/node_factory.gd" type="Script" id=8]
[sub_resource type="Shader" id=1]
code = "shader_type canvas_item;
uniform sampler2D tex;
void fragment() {
COLOR = texture(tex, UV);
}"
[sub_resource type="ShaderMaterial" id=2]
shader = SubResource( 1 )
[sub_resource type="AtlasTexture" id=3]
flags = 4
atlas = ExtResource( 7 )
@ -111,7 +99,10 @@ margin_bottom = 684.0
tab_align = 0
[node name="Preview2D" parent="VBoxContainer/HBoxContainer/VBoxContainer/Preview" instance=ExtResource( 3 )]
material = SubResource( 2 )
margin_left = 4.0
margin_top = 32.0
margin_right = -4.0
margin_bottom = -4.0
rect_min_size = Vector2( 250, 250 )
[node name="Preview3D" parent="VBoxContainer/HBoxContainer/VBoxContainer/Preview" instance=ExtResource( 4 )]

View File

@ -1,7 +1,8 @@
tool
extends ColorRect
func _ready() -> void:
material = material.duplicate(true)
func set_preview_texture(tex: Texture) -> void:
material.set_shader_param("tex", tex)
func on_resized() -> void:
material.set_shader_param("size", rect_size)

View File

@ -6,24 +6,30 @@
code = "shader_type canvas_item;
uniform sampler2D tex;
uniform vec2 size;
void fragment() {
COLOR = texture(tex, UV);
float ms = max(size.x, size.y);
vec2 uv = fract(0.5+1.2*(UV-vec2(0.5))*ms/size.yx);
vec2 m2 = min(fract(uv), 1.0-fract(uv));
COLOR = mix(texture(tex, uv), vec4(0.0, 1.0, 0.0, 1.0), step(min(m2.x, m2.y), 1.0/min(size.x, size.y)));
}"
[sub_resource type="ShaderMaterial" id=2]
shader = SubResource( 1 )
shader_param/size = Vector2( 371, 198 )
[node name="Preview2D" type="ColorRect"]
material = SubResource( 2 )
anchor_right = 1.0
anchor_bottom = 1.0
margin_left = 4.0
margin_top = 32.0
margin_right = -4.0
margin_bottom = -4.0
margin_left = 17.0
margin_top = 17.0
margin_right = -892.0
margin_bottom = -505.0
rect_min_size = Vector2( 64, 64 )
mouse_filter = 1
size_flags_horizontal = 0
size_flags_vertical = 8
script = ExtResource( 1 )
[connection signal="resized" from="." to="." method="on_resized"]