Apparently, lighting channels are working differently on XboxOne than Win64.
I’ve prepared a very simple project to showcase the issue:
There is an empty map with 3 cubes and 3 dynamic point lights.
From left to right:
Cube1: Only Channel 1 set. Cube2: Only Channel 2 set. Cube3: Only Channel 0 set.
Light1: Red. Only Channel 1 set. Light2: Blue. Only Channel 2 set. Light3: Green. Only Channel 0 set.
At Win64 you see (From Left to right): Red cube, blue cube, green cube
On XBoxOne you see: All cubes are green!
Which means Channel 0 lights are always affecting 1 & 2. And Channel 1 & 2 light are ignored
Has anyone come across this issue?
I suspect it is related to a bug in UE code here:
EngineTypes.h, line 382
inline uint8 GetLightingChannelMaskForStruct(FLightingChannels Value)
// Note: this is packed into 3 bits of a stencil channel
return (uint8)((Value.bChannel0 ? 1 : 0) | (Value.bChannel1 << 1) | (Value.bChannel2 << 2)); //? Different results on different compilers?
Thanks in advance,