aboutsummaryrefslogtreecommitdiff
path: root/scene
diff options
context:
space:
mode:
authorJuan Linietsky2017-06-02 22:08:41 -0300
committerJuan Linietsky2017-06-02 22:08:41 -0300
commit8a1097a2243a9829d5d7e61ef10133f8096aa5e2 (patch)
tree2ec55a650b676975e6ef2ed60e25d68307381269 /scene
parente79d7149ea751e32312cb8625548085d4537c591 (diff)
downloadgodot-8a1097a2243a9829d5d7e61ef10133f8096aa5e2.tar.gz
godot-8a1097a2243a9829d5d7e61ef10133f8096aa5e2.tar.zst
godot-8a1097a2243a9829d5d7e61ef10133f8096aa5e2.zip
many fixes to image loader, voxel cone tracing, etc.
Diffstat (limited to 'scene')
-rw-r--r--scene/3d/gi_probe.cpp7
-rw-r--r--scene/resources/texture.cpp4
2 files changed, 6 insertions, 5 deletions
diff --git a/scene/3d/gi_probe.cpp b/scene/3d/gi_probe.cpp
index 3542b8b87..2acbed3b4 100644
--- a/scene/3d/gi_probe.cpp
+++ b/scene/3d/gi_probe.cpp
@@ -909,10 +909,11 @@ Vector<Color> GIProbe::_get_bake_texture(Ref<Image> p_image, const Color &p_colo
for (int i = 0; i < bake_texture_size * bake_texture_size; i++) {
Color c;
- c.r = r[i * 4 + 0] / 255.0;
- c.g = r[i * 4 + 1] / 255.0;
- c.b = r[i * 4 + 2] / 255.0;
+ c.r = (r[i * 4 + 0] / 255.0) * p_color.r;
+ c.g = (r[i * 4 + 1] / 255.0) * p_color.g;
+ c.b = (r[i * 4 + 2] / 255.0) * p_color.b;
c.a = r[i * 4 + 3] / 255.0;
+
ret[i] = c;
}
diff --git a/scene/resources/texture.cpp b/scene/resources/texture.cpp
index bc8deb501..68a11b821 100644
--- a/scene/resources/texture.cpp
+++ b/scene/resources/texture.cpp
@@ -494,9 +494,9 @@ Error StreamTexture::_load_data(const String &p_path, int &tw, int &th, int &fla
img = Image::lossy_unpacker(pv);
}
- if (img.is_null()) {
+ if (img.is_null() || img->empty()) {
memdelete(f);
- ERR_FAIL_COND_V(img->empty(), ERR_FILE_CORRUPT);
+ ERR_FAIL_COND_V(img.is_null() || img->empty(), ERR_FILE_CORRUPT);
}
total_size += img->get_data().size();