Unreal Engine 4 is available for Win10 UWP app dev now

Just an update on the ARM branch: I’m still working on shaders, but it’s going slowly. Turns out D3D feature level 9.3 is a bit more restrictive than even OpenGL ES 2. My plan of using the SP_PCD3D_ES2 shader platform didn’t pan out because it was actually made to be compiled as feature level 4.0 (D3D 10) and does lots of things that aren’t supported in FL 9.3 (equivalent to D3D 9.0c). I ended up adding a new shader platform (SP_PCD3D_SM2) and I’m gradually getting more and more shaders to compile.

One big issue with FL 9.3 is that it specifies only 32 constant registers for pixel shaders (in OpenGL they’re called “uniforms”), while OpenGL ES 2 doesn’t specify any specific number. Pretty much every GL ES2 hardware has at least 64 uniforms (the Adreno 305 in the Lumia 520 has 224 uniforms). I am currently compiling the shaders for SM2 with validation disabled (which disables checking for too many const registers), but I’m not sure if they’ll work during runtime (whether the driver actually enforces the constraint). There there are issues with unsupported semantics, which mean I’ll have to modify a bunch of shaders to do things pass vertex position in a texture coordinate.

So, this will take a while. The good thing is that, when I’m done, the SM2 shaders will also be usable on normal PC builds and should be really fast on low-end hardware like older Intel GPUs, which can be great for simpler games or 2D games.