SiliconStudio / xenko

Old repo for Xenko Game Engine. Please use https://github.com/xenko3d/xenko instead.
http://xenko.com
1.54k stars 345 forks source link

No shadows for UWP desktop games. #416

Open jaladaGmbH opened 8 years ago

jaladaGmbH commented 8 years ago

A Windows UWP 10 Project is suitable for different devices, such as XBox, Desktop and Mobile Devices. So if my project supports Windows Phone devices I can only use feature level 9.3, because most Lumina devices implements only this level. The result is no shadow effects on phone devices and also no shadows on desktop devices with the Xenko engine.
I can switch the graphic profile via code but the effect library is compiled at build time for UWP projects, so there is no way to add shadows or is there a work around?

xen2 commented 8 years ago

It is not so trivial to have the same game support 9.3 and 10.0 at the same time.

Usually shadows is not the only difference, you might want better quality models, more of them, add lightprobes, etc...

So far we have two approaches in mind (not sure yet which one, or even if both of them will be implemented):

xen2 commented 8 years ago

Note that you can edit your GameSettings to have a different graphics level for a specific platform.

The only problem will be the .xkeffectlog. We could improve it so that it select only the effects that matches the current feature level. Would that help?

Also, in 1.7, .xkeffectlog will be used only as last fallback: we will already auto-precompile as much shaders as we can from the default scene.

jaladaGmbH commented 8 years ago

Hello xen2, your second comment is a must have, because it is the solution for my other bug #415.

The problem (#415) with the new game project is, that the default settings are for DirectX Feature Level 10 and OpenGL 3.0, downgrade to Level 9.3 without deleting the .xkeffectlog results in an exception on any Microsoft Lumina Phone device.

In an old forum thread from last year you wrote about PreferredGraphicsProfile, it would be nice when this example would work again because UWP mean one implementation for any windows platform.