Merge pull request #106411 from SpockBauru/fix-reflectionprobe-reflectionmask-mobile

Fix Reflection Mask not working on Mobile
This commit is contained in:
Thaddeus Crews
2025-05-28 09:47:37 -05:00
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