我正在研究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);
}
的Lumia 640僅根據該鏈路(https://www.microsoft.com/en-gb/mobile/phone/lumia640/specifications/)支持DirectX 11。所以它只是不支持DirectX 9.你確定你的問題是與着色器字節碼(它通常向後兼容,很少有功能在HLSL中被棄用),而不是你正在引用的SharpDX庫? – PhillipH