mirror of
https://github.com/Relintai/material-maker.git
synced 2024-11-13 06:27:18 +01:00
updated 2d view to show texture as square with margins
This commit is contained in:
parent
52e2af231d
commit
9a4800883f
@ -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/main_window.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://addons/material_maker/library.tscn" type="PackedScene" id=2]
|
[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/icons/icons.svg" type="Texture" id=7]
|
||||||
[ext_resource path="res://addons/material_maker/node_factory.gd" type="Script" id=8]
|
[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]
|
[sub_resource type="AtlasTexture" id=3]
|
||||||
flags = 4
|
flags = 4
|
||||||
atlas = ExtResource( 7 )
|
atlas = ExtResource( 7 )
|
||||||
@ -111,7 +99,10 @@ margin_bottom = 684.0
|
|||||||
tab_align = 0
|
tab_align = 0
|
||||||
|
|
||||||
[node name="Preview2D" parent="VBoxContainer/HBoxContainer/VBoxContainer/Preview" instance=ExtResource( 3 )]
|
[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 )
|
rect_min_size = Vector2( 250, 250 )
|
||||||
|
|
||||||
[node name="Preview3D" parent="VBoxContainer/HBoxContainer/VBoxContainer/Preview" instance=ExtResource( 4 )]
|
[node name="Preview3D" parent="VBoxContainer/HBoxContainer/VBoxContainer/Preview" instance=ExtResource( 4 )]
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
|
tool
|
||||||
extends ColorRect
|
extends ColorRect
|
||||||
|
|
||||||
func _ready() -> void:
|
|
||||||
material = material.duplicate(true)
|
|
||||||
|
|
||||||
func set_preview_texture(tex: Texture) -> void:
|
func set_preview_texture(tex: Texture) -> void:
|
||||||
material.set_shader_param("tex", tex)
|
material.set_shader_param("tex", tex)
|
||||||
|
|
||||||
|
func on_resized() -> void:
|
||||||
|
material.set_shader_param("size", rect_size)
|
||||||
|
@ -6,24 +6,30 @@
|
|||||||
code = "shader_type canvas_item;
|
code = "shader_type canvas_item;
|
||||||
|
|
||||||
uniform sampler2D tex;
|
uniform sampler2D tex;
|
||||||
|
uniform vec2 size;
|
||||||
|
|
||||||
void fragment() {
|
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]
|
[sub_resource type="ShaderMaterial" id=2]
|
||||||
shader = SubResource( 1 )
|
shader = SubResource( 1 )
|
||||||
|
shader_param/size = Vector2( 371, 198 )
|
||||||
|
|
||||||
[node name="Preview2D" type="ColorRect"]
|
[node name="Preview2D" type="ColorRect"]
|
||||||
material = SubResource( 2 )
|
material = SubResource( 2 )
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
margin_left = 4.0
|
margin_left = 17.0
|
||||||
margin_top = 32.0
|
margin_top = 17.0
|
||||||
margin_right = -4.0
|
margin_right = -892.0
|
||||||
margin_bottom = -4.0
|
margin_bottom = -505.0
|
||||||
rect_min_size = Vector2( 64, 64 )
|
rect_min_size = Vector2( 64, 64 )
|
||||||
mouse_filter = 1
|
mouse_filter = 1
|
||||||
size_flags_horizontal = 0
|
size_flags_horizontal = 0
|
||||||
size_flags_vertical = 8
|
size_flags_vertical = 8
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
|
[connection signal="resized" from="." to="." method="on_resized"]
|
||||||
|
Loading…
Reference in New Issue
Block a user