Skip to content

ImageTextureLayered does not persist its state #66558

@Ithamar

Description

@Ithamar

Godot version

4.0b1dev (commit c2f6664)

System information

Windows 10, Vulkan

Issue description

ImageTextureLayered and its subclasses do not save their "content" when asked by using ResourceSaver.save. No persistable properties are defined, so none are stored.

Steps to reproduce

The following code:

var i := Image.create(1, 1, false, Image.FORMAT_RGB8)
i.set_pixel(0,0, Color(1,0,0))
ResourceSaver.save(i, "res://image.tres")
var l := Texture2DArray.new()
l.create_from_images([ i ])
ResourceSaver.save(l, "res://layered.tres")

Results in layered.tres looking empty like this:

[gd_resource type="Texture2DArray" format=3]

[resource]

while image.tres shows the proper image was created (and saved):

[gd_resource type="Image" format=3]

[resource]
data = {
  "data": PackedByteArray(255, 0, 0),
  "format": "RGB8",
  "height": 1,
  "mipmaps": false,
  "width": 1
}

Minimal reproduction project

See code above.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions