summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-08-08 17:01:10 +0200
committerRémi Verschelde <rverschelde@gmail.com>2023-08-08 17:01:10 +0200
commitff1f50f952c4eb9f7877ef6d4b6d79dc8c947810 (patch)
tree9cd16e30ef2710700544b9190034e1c11a8d392a
parent0ce1ca4677ad4d9b5952747f7940e712d561655e (diff)
parent60d5571d6cf31c6c6aec8afe71ef295a4b45c5f8 (diff)
downloadredot-engine-ff1f50f952c4eb9f7877ef6d4b6d79dc8c947810.tar.gz
Merge pull request #80407 from clayjohn/NoiseTexture3D-format
Remove GPU readback from NoiseTexture3D.get_format()
-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);