It's OpenMW's shadows, which (among other things, such as implemented in the first place) I'm switching from Parallel-Split Shadow Maps to Cascaded Shadow Maps. This means there needs to be logic to work out which shadow map to use (unlike PSSM which can just use all of them as a bad one never overlaps a good one), and that requires looking at the texture coordinates in cartesian form. (There's another potential implementation which doesn't require all of that and is slightly faster, but it goes for 'good enough' instead of 'best'.)
It's not even pure GLSL any more, either. OpenMW is forced to stick to GLSL 1.2, which doesn't support texture arrays, so to simulate it, there's a foreach macro so you can index things with a number in their name as if they were one thing which was an array.
It's not even pure GLSL any more, either. OpenMW is forced to stick to GLSL 1.2, which doesn't support texture arrays, so to simulate it, there's a foreach macro so you can index things with a number in their name as if they were one thing which was an array.
OS: Windows 10 64 bit Professional
CPU: AMD Ryzen 5900X
RAM: 16GB
GPU: Radeon Vega 56
CPU: AMD Ryzen 5900X
RAM: 16GB
GPU: Radeon Vega 56
