uwp directx和c#开发
问题描述:
我正在研究UWP
C#蓝牙应用程序与3D表示视图。 (手和手指将接收传感器ST微电子WESU)uwp directx和c#开发
目前,我用蓝牙的windows phone 8应用程序(台式机和Windows手机)与ti传感器标签和DirectX
示例。
现在我到了从stmicro wesu传感器读取具有自定义UWP BLE示例(最初存在于Windows SDK中)的计算四元数。
但现在它可以正常工作ble/sharpdx/uwp和Windows 10。但是当我现在尝试在Lumia 640上执行应用程序时,我有一个例外。
问题是它使用DirectX
9,并且它不被UWP
锐xx支持。
锋锐的dx团队向我证实,UWP
不适用于DirectX
9(core.net,如果我没有记错的话)。
我试着降级用于像素着色器和vertax着色器的版本如下,但它没有完成这项工作。
所以我的问题是我怎样才能到达运行上Lumia 640?
//
using (var vertexShaderByteCode = ShaderBytecode.CompileFromFile("vertexShader.hlsl", "main", "vs_4_0_level_9_1", ShaderFlags.None))
{
vertexShader = new D3D11.VertexShader(this.device,vertexShaderByteCode);
inputSignature = new ShaderSignature(vertexShaderByteCode);
}
//
using (var pixelShaderByteCode = ShaderBytecode.CompileFromFile("pixelShader.hlsl", "main", "ps_4_0_level_9_1", ShaderFlags.None))
{
pixelShader = new D3D11.PixelShader(this.device , pixelShaderByteCode);
}
答
好,我跟你agreee,它只是去渲染
vs_4_0_level_9_1 ps_4_0_level_9_1 和
使用(D3D11.Device defaultDevice =新的D3D11。设备(D3D.DriverType.Hardware,D3D11.DeviceCreationFlags。无))
的Lumia 640仅根据该链路(https://www.microsoft.com/en-gb/mobile/phone/lumia640/specifications/)支持DirectX 11。所以它只是不支持DirectX 9.你确定你的问题是与着色器字节码(它通常向后兼容,很少有功能在HLSL中被弃用),而不是你正在引用的SharpDX库? – PhillipH