1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

Fix Reflection Mask not working on Mobile

This commit is contained in:
SpockBauru
2025-05-14 17:02:22 -03:00
parent 428a762e98
commit 23e6d7bfc7
2 changed files with 7 additions and 2 deletions

View File

@@ -212,6 +212,11 @@ void RendererSceneCull::_instance_pair(Instance *p_A, Instance *p_B) {
}
} else if (self->geometry_instance_pair_mask & (1 << RS::INSTANCE_REFLECTION_PROBE) && B->base_type == RS::INSTANCE_REFLECTION_PROBE && ((1 << A->base_type) & RS::INSTANCE_GEOMETRY_MASK)) {
if (!(A->layer_mask & RSG::light_storage->reflection_probe_get_reflection_mask(B->base))) {
// Early return if the object's layer mask doesn't match the reflection mask.
return;
}
InstanceReflectionProbeData *reflection_probe = static_cast<InstanceReflectionProbeData *>(B->base_data);
InstanceGeometryData *geom = static_cast<InstanceGeometryData *>(A->base_data);

View File

@@ -504,10 +504,10 @@ public:
case Dependency::DEPENDENCY_CHANGED_PARTICLES:
case Dependency::DEPENDENCY_CHANGED_MULTIMESH:
case Dependency::DEPENDENCY_CHANGED_DECAL:
case Dependency::DEPENDENCY_CHANGED_LIGHT:
case Dependency::DEPENDENCY_CHANGED_REFLECTION_PROBE: {
case Dependency::DEPENDENCY_CHANGED_LIGHT: {
singleton->_instance_queue_update(instance, true, true);
} break;
case Dependency::DEPENDENCY_CHANGED_REFLECTION_PROBE:
case Dependency::DEPENDENCY_CHANGED_LIGHT_SOFT_SHADOW_AND_PROJECTOR:
case Dependency::DEPENDENCY_CHANGED_CULL_MASK: {
//requires repairing