Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions demo/addons/sprite_mesh/icons/sprite_mesh.svg.import
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,19 @@ dest_files=["res://.godot/imported/sprite_mesh.svg-416bb6e3c28734a3b7a19d034cfeb
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
Expand Down
6 changes: 6 additions & 0 deletions demo/addons/sprite_mesh/icons/sprite_mesh_instance.svg.import
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,19 @@ dest_files=["res://.godot/imported/sprite_mesh_instance.svg-b563614ecfdbbd53b0ed
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
Expand Down
36 changes: 18 additions & 18 deletions demo/addons/sprite_mesh/scripts/greedy_algorithm.gd
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
extends RefCounted


const Quad = preload("./quad.gd")
const Quad := preload("./quad.gd")

var image: Image
var show_side_quads := true
Expand All @@ -22,13 +22,13 @@ func set_uv_correction(new_uv_correction: float) -> void:
uv_correction = new_uv_correction


func generate_quads() -> Array:
var quads = []
func generate_quads() -> Array[Quad]:
var quads: Array[Quad] = []

quads.append_array(_generate_front_quads())

if show_back_quads:
var back_quads = []
var back_quads: Array[Quad] = []
for quad in quads:
back_quads.append(quad.get_back_face().translate(Vector3.FORWARD))

Expand All @@ -40,8 +40,8 @@ func generate_quads() -> Array:
return quads


func _generate_front_quads() -> Array:
var quads: Array = []
func _generate_front_quads() -> Array[Quad]:
var quads: Array[Quad] = []

var pixels_to_render := _get_visible_pixels()

Expand Down Expand Up @@ -80,8 +80,8 @@ func _get_front_quad_rect_at(x0: int, y0: int, pixels_to_render: BitMap) -> Rect
return rect


func _generate_side_quads() -> Array:
var quads = []
func _generate_side_quads() -> Array[Quad]:
var quads: Array[Quad] = []
var visible_pixels := _get_visible_pixels()

quads.append_array(_generate_left_quads(visible_pixels))
Expand All @@ -92,7 +92,7 @@ func _generate_side_quads() -> Array:
return quads


func _generate_left_quads(visible_pixels: BitMap) -> Array:
func _generate_left_quads(visible_pixels: BitMap) -> Array[Quad]:
return _generate_vertical_quads(
visible_pixels,
func (x: int, y: int) -> bool:
Expand All @@ -104,7 +104,7 @@ func _generate_left_quads(visible_pixels: BitMap) -> Array:
)


func _generate_right_quads(visible_pixels: BitMap) -> Array:
func _generate_right_quads(visible_pixels: BitMap) -> Array[Quad]:
var width := visible_pixels.get_size().x

return _generate_vertical_quads(
Expand All @@ -118,7 +118,7 @@ func _generate_right_quads(visible_pixels: BitMap) -> Array:
)


func _generate_top_quads(visible_pixels: BitMap) -> Array:
func _generate_top_quads(visible_pixels: BitMap) -> Array[Quad]:
return _generate_horizontal_quads(
visible_pixels,
func (x: int, y: int) -> bool:
Expand All @@ -130,7 +130,7 @@ func _generate_top_quads(visible_pixels: BitMap) -> Array:
)


func _generate_bottom_quads(visible_pixels: BitMap) -> Array:
func _generate_bottom_quads(visible_pixels: BitMap) -> Array[Quad]:
var height := visible_pixels.get_size().y

return _generate_horizontal_quads(
Expand All @@ -148,9 +148,9 @@ func _generate_vertical_quads(
visible_pixels: BitMap,
side_visible: Callable,
create_quad: Callable
) -> Array:
) -> Array[Quad]:

var quads = []
var quads: Array[Quad] = []

var rendering_quad := false
var y0: float
Expand All @@ -176,9 +176,9 @@ func _generate_horizontal_quads(
visible_pixels: BitMap,
side_visible: Callable,
create_quad: Callable
) -> Array:
) -> Array[Quad]:

var quads = []
var quads: Array[Quad] = []

var rendering_quad := false
var x0: float
Expand All @@ -200,7 +200,7 @@ func _generate_horizontal_quads(
return quads


func _generate_front_quad(rect: Rect2i):
func _generate_front_quad(rect: Rect2i) -> Quad:
assert(_is_inside_image(rect))

return Quad.new([
Expand Down Expand Up @@ -235,6 +235,6 @@ func _is_inside_image(rect: Rect2i) -> bool:


func _get_visible_pixels() -> BitMap:
var visible_pixels = BitMap.new()
var visible_pixels := BitMap.new()
visible_pixels.create_from_image_alpha(image, alpha_threshold)
return visible_pixels
2 changes: 1 addition & 1 deletion demo/addons/sprite_mesh/scripts/quad.gd
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
extends RefCounted


const Quad = preload("./quad.gd")
const Quad := preload("./quad.gd")

var vertices: Array[Vector3] = [Vector3.ZERO, Vector3.ZERO, Vector3.ZERO, Vector3.ZERO]:
set = set_vertices
Expand Down
12 changes: 6 additions & 6 deletions demo/addons/sprite_mesh/sprite_mesh_instance.gd
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ extends MeshInstance3D
## the sprite. It is inspired by [Sprite3D], so many of its properties behave similarly.


const Quad = preload("./scripts/quad.gd")
const Frame = preload("./scripts/frame.gd")
const GreedyAlgorithm = preload("./scripts/greedy_algorithm.gd")
const Quad := preload("./scripts/quad.gd")
const Frame := preload("./scripts/frame.gd")
const GreedyAlgorithm := preload("./scripts/greedy_algorithm.gd")

## [Texture2D] object to draw.
@export var texture: Texture2D: set = set_texture
Expand Down Expand Up @@ -134,7 +134,7 @@ func _generate_meshes() -> Array[ArrayMesh]:
for frame in _get_frames():
algorithm.image = frame.image

var quads = algorithm.generate_quads()
var quads := algorithm.generate_quads()

st.begin(Mesh.PRIMITIVE_TRIANGLES)

Expand Down Expand Up @@ -216,7 +216,7 @@ func _clear_sprite_mesh() -> void:
mesh = null


func _get_frames() -> Array:
func _get_frames() -> Array[Frame]:
var image := texture.get_image()
image.decompress()
if region_enabled:
Expand All @@ -225,7 +225,7 @@ func _get_frames() -> Array:
var frame_offset := region_rect.position if region_enabled else Vector2i.ZERO
var frame_size := Vector2i(image.get_width() / hframes, image.get_height() / vframes)

var frames: Array = []
var frames: Array[Frame] = []

for i in range(vframes):
for j in range(hframes):
Expand Down