Skip to content

Commit

Permalink
Minor UI changes
Browse files Browse the repository at this point in the history
  • Loading branch information
RodZill4 committed Jan 15, 2023
1 parent cf881ad commit d7adbbe
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 52 deletions.
36 changes: 18 additions & 18 deletions material_maker/panels/preview_3d/preview_3d.gd
Expand Up @@ -29,8 +29,8 @@ const MENU = [
{ menu="Model/Rotate/Slow", command="set_rotate_model_speed", command_parameter=0.01 },
{ menu="Model/Rotate/Medium", command="set_rotate_model_speed", command_parameter=0.05 },
{ menu="Model/Rotate/Fast", command="set_rotate_model_speed", command_parameter=0.1 },
{ menu="Model/Generate map/Mesh normal", submenu="generate_mesh_normal_map" },
{ menu="Model/Generate map/Inverse UV", submenu="generate_inverse_uv_map" },
{ menu="Model/Generate map/Position", submenu="generate_position_map" },
{ menu="Model/Generate map/Normal", submenu="generate_normal_map" },
{ menu="Model/Generate map/Curvature", submenu="generate_curvature_map" },
{ menu="Model/Generate map/Ambient Occlusion", submenu="generate_ao_map" },
{ menu="Model/Generate map/Thickness", submenu="generate_thickness_map" },
Expand Down Expand Up @@ -262,14 +262,14 @@ func generate_map(generate_function : String, size : int) -> void:
call(generate_function, files[0], size)

func do_generate_map(file_name : String, map : String, size : int) -> void:
var mesh_normal_mapper = load("res://material_maker/tools/map_renderer/map_renderer.tscn").instance()
add_child(mesh_normal_mapper)
var map_renderer = load("res://material_maker/tools/map_renderer/map_renderer.tscn").instance()
add_child(map_renderer)
var id = objects.get_child_count()-1
var object : MeshInstance = objects.get_child(id)
var result = mesh_normal_mapper.gen(object.mesh, map, "save_to_file", [ file_name ], size)
var result = map_renderer.gen(object.mesh, map, "save_to_file", [ file_name ], size)
while result is GDScriptFunctionState:
result = yield(result, "completed")
mesh_normal_mapper.queue_free()
map_renderer.queue_free()
OS.clipboard = "{\"name\":\"image\",\"parameters\":{\"image\":\"%s\"},\"type\":\"image\"}" % file_name

func create_menu_map(menu : PopupMenu, function : String) -> void:
Expand All @@ -279,23 +279,23 @@ func create_menu_map(menu : PopupMenu, function : String) -> void:
if !menu.is_connected("id_pressed", self, function):
menu.connect("id_pressed", self, function)

func create_menu_generate_mesh_normal_map(menu) -> void:
create_menu_map(menu, "generate_mesh_normal_map")
func create_menu_generate_normal_map(menu) -> void:
create_menu_map(menu, "generate_normal_map")

func generate_mesh_normal_map(i : int) -> void:
generate_map("do_generate_mesh_normal_map", 256 << i)
func generate_normal_map(i : int) -> void:
generate_map("do_generate_normal_map", 256 << i)

func do_generate_mesh_normal_map(file_name : String, size : int) -> void:
do_generate_map(file_name, "mesh_normal", size)
func do_generate_normal_map(file_name : String, size : int) -> void:
do_generate_map(file_name, "normal", size)

func create_menu_generate_inverse_uv_map(menu) -> void:
create_menu_map(menu, "generate_inverse_uv_map")
func create_menu_generate_position_map(menu) -> void:
create_menu_map(menu, "generate_position_map")

func generate_inverse_uv_map(i : int) -> void:
generate_map("do_generate_inverse_uv_map", 256 << i)
func generate_position_map(i : int) -> void:
generate_map("do_generate_position_map", 256 << i)

func do_generate_inverse_uv_map(file_name : String, size : int) -> void:
do_generate_map(file_name, "inv_uv", size)
func do_generate_position_map(file_name : String, size : int) -> void:
do_generate_map(file_name, "position", size)

func create_menu_generate_curvature_map(menu) -> void:
create_menu_map(menu, "generate_curvature_map")
Expand Down
19 changes: 10 additions & 9 deletions material_maker/tools/map_renderer/map_renderer.gd
@@ -1,7 +1,8 @@
extends Viewport

export(ShaderMaterial) var mesh_normal_material
export(ShaderMaterial) var mesh_tangent_material
export(ShaderMaterial) var position_material
export(ShaderMaterial) var normal_material
export(ShaderMaterial) var tangent_material
export(ShaderMaterial) var inv_uv_material
export(ShaderMaterial) var white_material
export(ShaderMaterial) var curvature_material
Expand All @@ -18,13 +19,13 @@ func _ready():

func gen(mesh: Mesh, map : String, renderer_method : String, arguments : Array, map_size = 512) -> void:
var bake_passes = {
mesh_normal = { first=mesh_normal_material, second=dilate_pass1, third=dilate_pass2 },
mesh_tangent = { first=mesh_tangent_material, second=dilate_pass1, third=dilate_pass2 },
inv_uv = { first=inv_uv_material, second=dilate_pass1, third=dilate_pass2 },
curvature = { first=curvature_material, second=dilate_pass1, third=dilate_pass2 },
thickness = { first=thickness_material, second=dilate_pass1, third=dilate_pass2, map_name="Thickness" },
ao = { first=ao_material, second=dilate_pass1, third=dilate_pass2, map_name="Ambient Occlusion" },
seams = { first=white_material, second=seams_pass1, third=seams_pass2 }
position = { first=position_material, second=dilate_pass1, third=dilate_pass2 },
normal = { first=normal_material, second=dilate_pass1, third=dilate_pass2 },
tangent = { first=tangent_material, second=dilate_pass1, third=dilate_pass2 },
curvature = { first=curvature_material, second=dilate_pass1, third=dilate_pass2 },
thickness = { first=thickness_material, second=dilate_pass1, third=dilate_pass2, map_name="Thickness" },
ao = { first=ao_material, second=dilate_pass1, third=dilate_pass2, map_name="Ambient Occlusion" },
seams = { first=white_material, second=seams_pass1, third=seams_pass2 }
}
var passes = bake_passes[map]
size = Vector2(map_size, map_size)
Expand Down
45 changes: 23 additions & 22 deletions material_maker/tools/map_renderer/map_renderer.tscn
Expand Up @@ -6,33 +6,39 @@

[sub_resource type="World" id=1]

[sub_resource type="Shader" id=2]
[sub_resource type="Shader" id=4]
code = "shader_type spatial;
render_mode depth_test_disable,depth_draw_always,unshaded,cull_disabled,world_vertex_coords;

uniform vec3 position = vec3(0.0);
uniform vec3 size = vec3(1.0);

varying vec3 p;

void vertex() {
p = NORMAL;
p = (VERTEX-position)/size;
VERTEX=vec3(UV, 0.5);
}


void fragment() {
ALBEDO = 0.5*normalize(p)+vec3(0.5);
ALBEDO = p;
}
"

[sub_resource type="ShaderMaterial" id=3]
shader = SubResource( 2 )
[sub_resource type="ShaderMaterial" id=5]
shader = SubResource( 4 )
shader_param/position = Vector3( 0, 0, 0 )
shader_param/size = Vector3( 1, 1, 1 )

[sub_resource type="Shader" id=24]
[sub_resource type="Shader" id=2]
code = "shader_type spatial;
render_mode depth_test_disable,depth_draw_always,unshaded,cull_disabled,world_vertex_coords;

varying vec3 p;

void vertex() {
p = TANGENT;
p = NORMAL;
VERTEX=vec3(UV, 0.5);
}

Expand All @@ -41,33 +47,27 @@ void fragment() {
}
"

[sub_resource type="ShaderMaterial" id=25]
shader = SubResource( 24 )
[sub_resource type="ShaderMaterial" id=3]
shader = SubResource( 2 )

[sub_resource type="Shader" id=4]
[sub_resource type="Shader" id=24]
code = "shader_type spatial;
render_mode depth_test_disable,depth_draw_always,unshaded,cull_disabled,world_vertex_coords;

uniform vec3 position = vec3(0.0);
uniform vec3 size = vec3(1.0);

varying vec3 p;

void vertex() {
p = (VERTEX-position)/size;
p = TANGENT;
VERTEX=vec3(UV, 0.5);
}


void fragment() {
ALBEDO = p;
ALBEDO = 0.5*normalize(p)+vec3(0.5);
}
"

[sub_resource type="ShaderMaterial" id=5]
shader = SubResource( 4 )
shader_param/position = Vector3( 0, 0, 0 )
shader_param/size = Vector3( 1, 1, 1 )
[sub_resource type="ShaderMaterial" id=25]
shader = SubResource( 24 )

[sub_resource type="Shader" id=6]
code = "shader_type spatial;
Expand Down Expand Up @@ -896,8 +896,9 @@ transparent_bg = true
keep_3d_linear = true
render_target_update_mode = 0
script = ExtResource( 2 )
mesh_normal_material = SubResource( 3 )
mesh_tangent_material = SubResource( 25 )
position_material = SubResource( 5 )
normal_material = SubResource( 3 )
tangent_material = SubResource( 25 )
inv_uv_material = SubResource( 5 )
white_material = SubResource( 7 )
curvature_material = SubResource( 9 )
Expand Down
6 changes: 3 additions & 3 deletions material_maker/tools/painter/painter.gd
Expand Up @@ -92,17 +92,17 @@ func update_inv_uv_texture(m : Mesh) -> void:
add_child(map_renderer)
if mesh_inv_uv_tex == null:
mesh_inv_uv_tex = ImageTexture.new()
var result = map_renderer.gen(m, "inv_uv", "copy_to_texture", [ mesh_inv_uv_tex ], texture_size)
var result = map_renderer.gen(m, "position", "copy_to_texture", [ mesh_inv_uv_tex ], texture_size)
while result is GDScriptFunctionState:
result = yield(result, "completed")
if mesh_normal_tex == null:
mesh_normal_tex = ImageTexture.new()
result = map_renderer.gen(m, "mesh_normal", "copy_to_texture", [ mesh_normal_tex ], texture_size)
result = map_renderer.gen(m, "normal", "copy_to_texture", [ mesh_normal_tex ], texture_size)
while result is GDScriptFunctionState:
result = yield(result, "completed")
if mesh_tangent_tex == null:
mesh_tangent_tex = ImageTexture.new()
result = map_renderer.gen(m, "mesh_tangent", "copy_to_texture", [ mesh_tangent_tex ], texture_size)
result = map_renderer.gen(m, "tangent", "copy_to_texture", [ mesh_tangent_tex ], texture_size)
while result is GDScriptFunctionState:
result = yield(result, "completed")
map_renderer.queue_free()
Expand Down

0 comments on commit d7adbbe

Please sign in to comment.