我已经将我的C#游戏从OpenTK(OpenGL)转换为SharpDX(DirectX)并从Visual Studio 2010开始运行.我还在Windows 8开发人员预览版中使用Metro中的Visual Studio 11运行它.然而,Metro构建仍然缺乏纹理,因此我的多边形现在只是着色.问题是Metro DLL中没有用于加载图像的方法.Windows Store App中的Texture2D类(继承自Resource类)中缺少这些方法:
SharpDX.Direct3D11.Resource.FromStream
SharpDX.Direct3D11.Resource.FromFile
SharpDX.Direct3D11.Resource.FromMemory
Run Code Online (Sandbox Code Playgroud)
有谁知道这些最终是否会在Metro中实施?或者我可以使用另一种方法吗?请记住,在此之前我从来不知道关于DirectX或SharpDX的事情,所以我仍然非常湿透.
为SharpDX寻找任何类型的帮助或信息并不容易,这是一种耻辱,因为它似乎是使用C#在Metro中使用3D的一个很好的解决方案.
在Swift中(使用Xcode)使用#if,#endif(如果使用Xcode)会切入操作流程,则会产生错误。该屏幕截图说明了一切:
有谁知道一种解决方案,可以使此示例正常工作,而无需重复整个代码块两次?很容易出现整个块可能很大的情况。
编辑:我的示例有点太简单了。这是一个新示例,其中“ else if”取决于相同的定义(DEBUG)。“ else if”也必须在#if和#endif之内。其他样本可能比这复杂得多。