uwp directx 和 c# 开发

uwp directx and c# development

我正在开发具有 3d 表示视图的 UWP C# 蓝牙应用程序。 (手和手指将接收传感器 ST 微电子 WESU)

目前,我使用 windows phone 8 应用程序(桌面和 Windows phone)用于带有 ti 传感器标签和 DirectX 的蓝牙例如。

现在我开始使用自定义 UWP BLE 示例(最初出现在 Windows SDK 中)从 stmicro wesu 传感器读取计算的四元数。

但现在它可以与 ble /sharpdx /uwpWindows 10 一起正常工作。但是当我现在尝试在 Lumia 640 上执行应用程序时,出现异常。

问题是它使用 DirectX 9 并且在 UWP 中不受 sharp dx 的支持。

sharp dx 团队确认 UWP 不适用于 DirectX 9(core.net 如果我没记错的话)。

我尝试如下降级用于像素着色器和顶点着色器的版本,但没有成功。

所以我的问题是我怎样才能到达 运行 DirectX 9 在 Lumia 640UWP 下?

//
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);
}

好的,我同意你的看法,这只是关于 de shader

vs_4_0_level_9_1 ps_4_0_level_9_1

使用 (D3D11.Device defaultDevice = new D3D11.Device(D3D.DriverType.Hardware, D3D11.DeviceCreationFlags.None) )

enter image description here