转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=3432

去年,KlayGE就已经有了Windows Store的版本Windows Phone的版本。随着Win10的推出,UWP成了统一两者的平台。CMake 3.4加入了UWP的支持之后,KlayGE也很顺利地增加了UWP的支持。

UWP Deferred Rendering

UWP的用法

在CMake 3.4中用UWP非常简单,和原先用Windows Store的完全一样,只是系统版本号改成10,仅此而已(-DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0)。所以代码其实都没改,只需要增加一个UWP的manifest。为了方便起见,在代码和CMake里定义了KLAYGE_PLATFORM_WINDOWS_UWP,用来表明是UWP的build。

另一个细节需要注意,在UWP应用里,小图标的大小是44×44,而不是30×30。

ARM的桌面

UWP讲究一份代码各种架构。但在编译ARM版本的时候,有可能会出现有些API没有定义的情况。如果遇到的话,可以预定义_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1,就能打开ARM桌面SDK的功能。