summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/noise/noise_texture_3d.cpp4
-rw-r--r--modules/noise/noise_texture_3d.h2
2 files changed, 4 insertions, 2 deletions
diff --git a/modules/noise/noise_texture_3d.cpp b/modules/noise/noise_texture_3d.cpp
index ed242e7faa..33e257a5c2 100644
--- a/modules/noise/noise_texture_3d.cpp
+++ b/modules/noise/noise_texture_3d.cpp
@@ -110,6 +110,7 @@ void NoiseTexture3D::_set_texture_data(const TypedArray<Image> &p_data) {
} else {
texture = RS::get_singleton()->texture_3d_create(data[0]->get_format(), data[0]->get_width(), data[0]->get_height(), data.size(), false, data);
}
+ format = data[0]->get_format();
}
emit_changed();
}
@@ -346,6 +347,5 @@ Vector<Ref<Image>> NoiseTexture3D::get_data() const {
}
Image::Format NoiseTexture3D::get_format() const {
- ERR_FAIL_COND_V(!texture.is_valid(), Image::FORMAT_L8);
- return RS::get_singleton()->texture_3d_get(texture)[0]->get_format();
+ return format;
}
diff --git a/modules/noise/noise_texture_3d.h b/modules/noise/noise_texture_3d.h
index 397711ca98..13125efe7f 100644
--- a/modules/noise/noise_texture_3d.h
+++ b/modules/noise/noise_texture_3d.h
@@ -60,6 +60,8 @@ private:
Ref<Gradient> color_ramp;
Ref<Noise> noise;
+ Image::Format format = Image::FORMAT_L8;
+
void _thread_done(const TypedArray<Image> &p_data);
static void _thread_function(void *p_ud);