title: uwp directx and c# development
body: <p>I'm working on a <code>UWP</code> <strong>C#</strong> Bluetooth application with 3d representation view.
  (of the hand and fingers will receive sensors ST microelectronic WESU) </p>
  
  <p>For the moment, I used windows phone 8 application (desktop and Windows phone) for Bluetooth with the ti sensor tag and <code>DirectX</code> example.</p>
  
  <p>Now I arrived to read computed quaternion from the stmicro wesu sensor with a custom UWP BLE example (originally present in the Windows SDK).</p>
  
  <p>But now that it works fine with <strong>ble /sharpdx /uwp</strong> and <strong>Windows 10</strong>. But when I tried now to execute the application on <strong>Lumia 640</strong>, I have an exception.</p>
  
  <p>The issue is that it uses <code>DirectX</code> 9 and it is not supported in <code>UWP</code> by sharp dx.</p>
  
  <p>The sharp dx team confirmed me that <code>UWP</code> doesn't work with <code>DirectX</code> 9 (core.net if I remember correctly).</p>
  
  <p>I tried to downgrade the version used for the pixel shader and vertax shader as below but it doesn't do the job.</p>
  
  <p>so my question is how can I arrive to run <code>DirectX</code> 9 Under <code>UWP</code> on the <strong>Lumia 640</strong>?</p>
  
  <pre><code>//
  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);
  }
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/W7K6V.png" alt="triangle initialisation with pixel shader and vertex shader"></p>