diff options
Diffstat (limited to 'addons/voxel-core/classes/readers/image.gd')
-rw-r--r-- | addons/voxel-core/classes/readers/image.gd | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/addons/voxel-core/classes/readers/image.gd b/addons/voxel-core/classes/readers/image.gd deleted file mode 100644 index 3c19d2f..0000000 --- a/addons/voxel-core/classes/readers/image.gd +++ /dev/null @@ -1,40 +0,0 @@ -class_name ImageReader, "res://addons/voxel-core/assets/logos/MagicaVoxel.png" -extends Reference -# Image file reader - - - -## Public Methods -# Reads images pixels, returns voxel content and voxel palette -static func read(image : Image) -> Dictionary: - var result := { - "error": OK, - "voxels": {}, - "palette": [], - } - - image.lock() - for x in range(image.get_width()): - for y in range(image.get_height()): - if image.get_pixel(x, y).a > 0: - var color := image.get_pixel(x, y) - color.a = 1.0 - var index = result["palette"].find(color) - if index == -1: - index = result["palette"].size() - result["palette"].append(color) - result["voxels"][Vector3(x, -y, 0).round()] = index - image.unlock() - - for index in range(result["palette"].size()): - result["palette"][index] = Voxel.colored(result["palette"][index]) - - return result - - -static func read_file(image_path : String) -> Dictionary: - var image := Image.new() - var err = image.load(image_path) - if err == OK: - return read(image) - return { "error": err } |