Browse Source

fix vertex indices in vertex shader

Kolja Strohm 1 year ago
parent
commit
ffb0758631
7 changed files with 370 additions and 369 deletions
  1. 2 1
      DX11GraphicsApi.cpp
  2. 1 1
      DX11VertexShader.hlsl
  3. 1 1
      DX12GraphicsApi.cpp
  4. 31 31
      DX12VertexShader.h
  5. 1 1
      DX12VertexShader.hlsl
  6. 1 1
      Model3D.h
  7. 333 333
      UIVertexShader.h

+ 2 - 1
DX11GraphicsApi.cpp

@@ -833,6 +833,7 @@ void DirectX11::presentFrame()
 	HRESULT result = d3d11SpawChain->Present(0, 0);
 	if (!SUCCEEDED(result))
 	{
+		HRESULT res = d3d11Device->GetDeviceRemovedReason();
 		update();
 		WMessageBox(fenster ? fenster->getFensterHandle() : 0, new Text("Fehler"), new Text("Es ist ein Fehler beim rendern aufgetreten."), MB_ICONERROR);
 	}
@@ -994,7 +995,7 @@ DX11VertexShader* DirectX11::initializeVertexShader(unsigned char* byteCode, int
 
 	polygonLayout[4].SemanticName = "VERTEX_ID";
 	polygonLayout[4].SemanticIndex = 0;
-	polygonLayout[4].Format = DXGI_FORMAT_R16_UINT;
+	polygonLayout[4].Format = DXGI_FORMAT_R32_UINT;
 	polygonLayout[4].InputSlot = 0;
 	polygonLayout[4].AlignedByteOffset = D3D11_APPEND_ALIGNED_ELEMENT;
 	polygonLayout[4].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;

+ 1 - 1
DX11VertexShader.hlsl

@@ -22,7 +22,7 @@ struct VertexInputType
 	float2 tex : TEXCOORD0;
 	float3 normal : NORMAL;
 	uint knochen : KNOCHEN_ID0;
-	half id : VERTEX_ID;
+	uint id : VERTEX_ID0;
 };
 
 struct PixelInputType

+ 1 - 1
DX12GraphicsApi.cpp

@@ -457,7 +457,7 @@ void DirectX12::initialize(WFenster* fenster, Vec2<int> backBufferSize, bool ful
 	{ "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, D3D12_APPEND_ALIGNED_ELEMENT, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },
 	{ "NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, D3D12_APPEND_ALIGNED_ELEMENT, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },
 	{ "KNOCHEN_ID", 0, DXGI_FORMAT_R32_UINT, 0, D3D12_APPEND_ALIGNED_ELEMENT, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },
-	{ "KNOCHEN_ID", 0, DXGI_FORMAT_R16_UINT, 0, D3D12_APPEND_ALIGNED_ELEMENT, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 }
+	{ "KNOCHEN_ID", 0, DXGI_FORMAT_R32_UINT, 0, D3D12_APPEND_ALIGNED_ELEMENT, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 }
 	};
 
 	vertexShader->erstelleInputLayout(inputLayout, 5);

+ 31 - 31
DX12VertexShader.h

@@ -48,7 +48,7 @@
 // TEXCOORD                 0   xy          1     NONE   float   xy  
 // NORMAL                   0   xyz         2     NONE   float   xyz 
 // KNOCHEN_ID               0   x           3     NONE    uint   x   
-// VERTEX_ID                0   x           4     NONE   float       
+// VERTEX_ID                0   x           4     NONE    uint       
 //
 //
 // Output signature:
@@ -131,10 +131,10 @@ ret
 
 const BYTE DX12VertexShaderBytes[] =
 {
-     68,  88,  66,  67, 143, 159, 
-     51, 206, 204, 188,  60, 216, 
-    255,  63,  38,  66,  48, 142, 
-      9,  17,   1,   0,   0,   0, 
+     68,  88,  66,  67,  37, 215, 
+    167,  54,  72, 163, 173, 154, 
+     98,  57, 116,  79,  49, 141, 
+     61, 122,   1,   0,   0,   0, 
     144,  78,   0,   0,   6,   0, 
       0,   0,  56,   0,   0,   0, 
     124,   2,   0,   0,  52,   3, 
@@ -257,7 +257,7 @@ const BYTE DX12VertexShaderBytes[] =
       0,   0,   3,   0,   0,   0, 
       1,   1,   0,   0, 164,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
+      0,   0,   0,   0,   1,   0, 
       0,   0,   4,   0,   0,   0, 
       1,   0,   0,   0,  80,  79, 
      83,  73,  84,  73,  79,  78, 
@@ -923,11 +923,11 @@ const BYTE DX12VertexShaderBytes[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-    148,  46,  49,   1, 150, 135, 
-    134,  98,   1,   0,   0,   0, 
-     43,  99,  30, 242, 214, 145, 
-    140,  68, 175, 159,  85, 170, 
-    134,  57, 241, 115,   0,   0, 
+    148,  46,  49,   1, 213,   4, 
+    136,  98,   1,   0,   0,   0, 
+    249, 146,  56, 135, 128,  21, 
+    126,  64, 190,  43,  81, 160, 
+    254, 174, 193, 178,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       1,   0,   0,   0,   1,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -1095,7 +1095,7 @@ const BYTE DX12VertexShaderBytes[] =
     101, 103, 105, 115, 116, 101, 
     114,  40,  98,  52,  76, 232, 
       3,   0, 117, 131,   1,   0, 
-    108, 145,   3,   0, 146, 183, 
+    102,  96,   2,   0, 146, 183, 
       2,   0,  38, 247,   2,   0, 
     198,  90,   0,   0,   4,  71, 
       2,   0,  43, 236,   3,   0, 
@@ -1103,7 +1103,7 @@ const BYTE DX12VertexShaderBytes[] =
       0,   0, 103, 159,   1,   0, 
     179, 120,   1,   0, 238,  97, 
       2,   0,  90,  28,   0,   0, 
-     90, 114,   1,   0,  53, 174, 
+     62, 125,   0,   0,  53, 174, 
       3,   0, 206,  21,   0,   0, 
     193, 205,   3,   0, 207, 193, 
       1,   0,  62,   3,   3,   0, 
@@ -1343,8 +1343,8 @@ const BYTE DX12VertexShaderBytes[] =
      99, 104, 101, 110,  32,  58, 
      32,  75,  78,  79,  67,  72, 
      69,  78,  95,  73,  68,  59, 
-     13,  10,   9, 104,  97, 108, 
-    102,  32, 105, 100,  32,  58, 
+     13,  10,   9, 117, 105, 110, 
+    116,  32, 105, 100,  32,  58, 
      32,  86,  69,  82,  84,  69, 
      88,  95,  73,  68,  59,  13, 
      10, 125,  59,  13,  10,  13, 
@@ -1607,7 +1607,7 @@ const BYTE DX12VertexShaderBytes[] =
      97, 109, 101, 114,  97,  13, 
      10, 115, 116, 114,  27, 226, 
      48,   1, 128,   0,   0,   0, 
-    178,  39, 107, 109, 171, 107, 
+    136,  46, 180, 170, 142, 108, 
     216,   1,   1,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -1621,8 +1621,8 @@ const BYTE DX12VertexShaderBytes[] =
       0,   0,   1,   0,   0,   0, 
       0,   0,   0,   0,  86,   0, 
       0,   0,  40,   0,   0,   0, 
-     27, 226,  48,   1,  16, 142, 
-     44, 141, 215,   7,   0,   0, 
+     27, 226,  48,   1, 152,  14, 
+     35,  73, 215,   7,   0,   0, 
       1,   0,   0,   0,  85,   0, 
       0,   0,  86,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -1932,10 +1932,10 @@ const BYTE DX12VertexShaderBytes[] =
      28,   0,   0,   0,   2,   0, 
       6,   0, 244,   0,   0,   0, 
      24,   0,   0,   0,   1,   0, 
-      0,   0,  16,   1, 102,  69, 
-    175,  92,  30, 209, 161, 171, 
-    118,  48,  78,  96, 181, 158, 
-    219, 137,   0,   0, 242,   0, 
+      0,   0,  16,   1, 246, 167, 
+     61,  99, 243, 244,  18,  82, 
+    183, 159, 174,  72, 213, 136, 
+    161, 192,   0,   0, 242,   0, 
       0,   0, 184,   2,   0,   0, 
       0,   0,   0,   0,   1,   0, 
       1,   0,  24,   4,   0,   0, 
@@ -2125,7 +2125,7 @@ const BYTE DX12VertexShaderBytes[] =
      24,  21,  12,  16,   0,   0, 
       1,   0,   1,   0,  14,   0, 
      23,  21,  13,  16,   0,   0, 
-     36,   2, 128, 110,   0,   0, 
+     36,   2,  64, 188,   0,   0, 
     242, 241,  10,   0,  24,  21, 
      14,  16,   0,   0,   1,   0, 
       0,   2,  18,   0,  22,  21, 
@@ -2234,7 +2234,7 @@ const BYTE DX12VertexShaderBytes[] =
     117,   0,   0,   0,  32,   0, 
     107, 110, 111,  99, 104, 101, 
     110,   0, 242, 241,  13,  21, 
-      3,   0,  69,   0,   0,   0, 
+      3,   0, 117,   0,   0,   0, 
      36,   0, 105, 100,   0, 243, 
     242, 241,  38,   0,   5,  21, 
       5,   0,   0,   0,   2,  16, 
@@ -2397,8 +2397,8 @@ const BYTE DX12VertexShaderBytes[] =
     111,  99, 104, 101, 110,  32, 
      58,  32,  75,  78,  79,  67, 
      72,  69,  78,  95,  73,  68, 
-     59,  13,  10,   9, 104,  97, 
-    108, 102,  32, 105, 100,  32, 
+     59,  13,  10,   9, 117, 105, 
+    110, 116,  32, 105, 100,  32, 
      58,  32,  86,  69,  82,  84, 
      69,  88,  95,  73,  68,  59, 
      13,  10, 125,  59,  13,  10, 
@@ -3057,10 +3057,10 @@ const BYTE DX12VertexShaderBytes[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0, 148,  46,  49,   1, 
-    150, 135, 134,  98,   1,   0, 
-      0,   0,  43,  99,  30, 242, 
-    214, 145, 140,  68, 175, 159, 
-     85, 170, 134,  57, 241, 115, 
+    213,   4, 136,  98,   1,   0, 
+      0,   0, 249, 146,  56, 135, 
+    128,  21, 126,  64, 190,  43, 
+     81, 160, 254, 174, 193, 178, 
     129,   0,   0,   0,  47,  76, 
     105, 110, 107,  73, 110, 102, 
     111,   0,  47, 110,  97, 109, 
@@ -3160,7 +3160,7 @@ const BYTE DX12VertexShaderBytes[] =
       0,   0,   0,   0,   2,   0, 
       9,   0, 156,   5,   0,   0, 
       0,   0,   0,   0, 236,   2, 
-      0,   0,   1,   0,  85, 110, 
+      0,   0,   1,   0,   4, 188, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
     109,  97, 105, 110,   0, 110, 

+ 1 - 1
DX12VertexShader.hlsl

@@ -47,7 +47,7 @@ struct VertexInputType
 	float2 tex : TEXCOORD;
 	float3 normal : NORMAL;
 	uint knochen : KNOCHEN_ID;
-	half id : VERTEX_ID;
+	uint id : VERTEX_ID;
 };
 
 struct PixelInputType

+ 1 - 1
Model3D.h

@@ -122,7 +122,7 @@ namespace Framework
 		Vec2< float > tPos; //! Die Textur Koordinaten der Ecke
 		Vec3< float > normal; //! Die Normale (zeigt nach außen und steht senkrecht auf der Oberfläche des models)
 		int knochenId; //! Die Id des Knochens, mit dem sich die Ecke bei einer Annimation mitbewegt
-		short id;//! Der index des vertexes im vertex buffer
+		int id;//! Der index des vertexes im vertex buffer
 	};
 
 	//! Eine Struktur, die alle Dreiecke eines 3D Polygons speichert

+ 333 - 333
UIVertexShader.h

@@ -38,7 +38,7 @@
 // TEXCOORD                 0   xy          1     NONE   float   xy  
 // NORMAL                   0   xyz         2     NONE   float   xyz 
 // KNOCHEN_ID               0   x           3     NONE    uint   x   
-// VERTEX_ID                0   x           4     NONE   float       
+// VERTEX_ID                0   x           4     NONE    uint       
 //
 //
 // Output signature:
@@ -121,10 +121,10 @@ ret
 
 const BYTE UIVertexShader[] =
 {
-     68,  88,  66,  67, 191, 147, 
-    153, 193,  42, 181,  58, 113, 
-    254, 145, 239,  15,  38, 200, 
-     31,  92,   1,   0,   0,   0, 
+     68,  88,  66,  67, 255, 190, 
+    118, 222,  88, 233, 237, 252, 
+     17,  84,   2,  52,  14,  91, 
+    246,  32,   1,   0,   0,   0, 
     204,  77,   0,   0,   6,   0, 
       0,   0,  56,   0,   0,   0, 
      20,   2,   0,   0, 204,   2, 
@@ -230,7 +230,7 @@ const BYTE UIVertexShader[] =
       3,   0,   0,   0,   1,   1, 
       0,   0, 164,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   3,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
       4,   0,   0,   0,   1,   0, 
       0,   0,  80,  79,  83,  73, 
      84,  73,  79,  78,   0,  84, 
@@ -881,10 +881,10 @@ const BYTE UIVertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0, 148,  46,  49,   1, 
-     16, 136, 134,  98,   1,   0, 
-      0,   0, 100, 237, 204,  20, 
-     18, 103,  42,  79, 183,  95, 
-     33,  23,  64, 184, 115,   3, 
+    213,   4, 136,  98,   1,   0, 
+      0,   0,  83,  65,  10, 195, 
+     95,  45,  53,  77, 160, 165, 
+    125,  11,  54, 244, 140, 141, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   1,   0,   0,   0, 
       1,   0,   0,   0,   0,   0, 
@@ -1017,43 +1017,43 @@ const BYTE UIVertexShader[] =
     101, 110,  32,  58,  32,  75, 
      78,  79,  67,  72,  69,  78, 
      95,  73,  68,  48,  59,  13, 
-     10,   9, 104,  97, 108, 102, 
+     10,   9, 117, 105, 110, 116, 
      32, 105, 100,  32,  58,  32, 
      86,  69,  82,  84,  69,  88, 
-     95,  73,  68,  59,  13,  10, 
-    125,  59,  13,  10,  13,  10, 
-    115, 116, 114, 117,  99, 116, 
-     32,  80, 105, 120, 101, 108, 
-     73, 110, 112, 117, 116,  84, 
-    121, 112, 101,  13,  10, 123, 
-     13,  10,   9, 102, 108, 111, 
-     97, 116,  52,  32, 119, 111, 
-    114, 108, 100,  80, 111, 115, 
-     32,  58,  32,  80,  79,  83, 
-     73,  84,  73,  79,  78,  59, 
+     95,  73,  68,  48,  59,  13, 
+     10, 125,  59,  13,  10,  13, 
+     10, 115, 116, 114, 117,  99, 
+    116,  32,  80, 105, 120, 101, 
+    108,  73, 110, 112, 117, 116, 
+     84, 121, 112, 101,  13,  10, 
+    123,  13,  10,   9, 102, 108, 
+    111,  97, 116,  52,  32, 119, 
+    111, 114, 108, 100,  80, 111, 
+    115,  32,  58,  32,  80,  79, 
+     83,  73,  84,  73,  79,  78, 
+     59,  13,  10,   9, 102, 108, 
+    111,  97, 116,  52,  32, 112, 
+    111, 115, 105, 116, 105, 111, 
+    110,  32,  58,  32,  83,  86, 
+     95,  80,  79,  83,  73,  84, 
+     73,  79,  78,  59,  13,  10, 
+      9, 102, 108, 111,  97, 116, 
+     50,  32, 116, 101, 120,  32, 
+     58,  32,  84,  69,  88,  67, 
+     79,  79,  82,  68,  48,  59, 
      13,  10,   9, 102, 108, 111, 
-     97, 116,  52,  32, 112, 111, 
-    115, 105, 116, 105, 111, 110, 
-     32,  58,  32,  83,  86,  95, 
-     80,  79,  83,  73,  84,  73, 
-     79,  78,  59,  13,  10,   9, 
-    102, 108, 111,  97, 116,  50, 
-     32, 116, 101, 120,  32,  58, 
+     97, 116,  51,  32, 110, 111, 
+    114, 109,  97, 108,  32,  58, 
      32,  84,  69,  88,  67,  79, 
-     79,  82,  68,  48,  59,  13, 
-     10,   9, 102, 108, 111,  97, 
-    116,  51,  32, 110, 111, 114, 
-    109,  97, 108,  32,  58,  32, 
-     84,  69,  88,  67,  79,  79, 
-     82,  68,  49,  59,  13,  10, 
-    125,  59,  13,  10,  13,  10, 
-     47,  47,  47,  47,  47,  47, 
+     79,  82,  68,  49,  59,  13, 
+     10, 125,  59,  13,  10,  13, 
+     10,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
     198,  90,   0,   0, 117, 131, 
       1,   0,  76, 232,   3,   0, 
-     75, 158,   0,   0, 146, 183, 
+     81, 207,   1,   0, 146, 183, 
       2,   0,  28,  19,   2,   0, 
     242,  56,   1,   0,  43, 236, 
       3,   0, 217,  42,   2,   0, 
@@ -1243,36 +1243,36 @@ const BYTE UIVertexShader[] =
      32,  58,  32,  75,  78,  79, 
      67,  72,  69,  78,  95,  73, 
      68,  48,  59,  13,  10,   9, 
-    104,  97, 108, 102,  32, 105, 
+    117, 105, 110, 116,  32, 105, 
     100,  32,  58,  32,  86,  69, 
      82,  84,  69,  88,  95,  73, 
-     68,  59,  13,  10, 125,  59, 
-     13,  10,  13,  10, 115, 116, 
-    114, 117,  99, 116,  32,  80, 
-    105, 120, 101, 108,  73, 110, 
-    112, 117, 116,  84, 121, 112, 
-    101,  13,  10, 123,  13,  10, 
-      9, 102, 108, 111,  97, 116, 
-     52,  32, 119, 111, 114, 108, 
-    100,  80, 111, 115,  32,  58, 
-     32,  80,  79,  83,  73,  84, 
-     73,  79,  78,  59,  13,  10, 
+     68,  48,  59,  13,  10, 125, 
+     59,  13,  10,  13,  10, 115, 
+    116, 114, 117,  99, 116,  32, 
+     80, 105, 120, 101, 108,  73, 
+    110, 112, 117, 116,  84, 121, 
+    112, 101,  13,  10, 123,  13, 
+     10,   9, 102, 108, 111,  97, 
+    116,  52,  32, 119, 111, 114, 
+    108, 100,  80, 111, 115,  32, 
+     58,  32,  80,  79,  83,  73, 
+     84,  73,  79,  78,  59,  13, 
+     10,   9, 102, 108, 111,  97, 
+    116,  52,  32, 112, 111, 115, 
+    105, 116, 105, 111, 110,  32, 
+     58,  32,  83,  86,  95,  80, 
+     79,  83,  73,  84,  73,  79, 
+     78,  59,  13,  10,   9, 102, 
+    108, 111,  97, 116,  50,  32, 
+    116, 101, 120,  32,  58,  32, 
+     84,  69,  88,  67,  79,  79, 
+     82,  68,  48,  59,  13,  10, 
       9, 102, 108, 111,  97, 116, 
-     52,  32, 112, 111, 115, 105, 
-    116, 105, 111, 110,  32,  58, 
-     32,  83,  86,  95,  80,  79, 
-     83,  73,  84,  73,  79,  78, 
-     59,  13,  10,   9, 102, 108, 
-    111,  97, 116,  50,  32, 116, 
-    101, 120,  32,  58,  32,  84, 
+     51,  32, 110, 111, 114, 109, 
+     97, 108,  32,  58,  32,  84, 
      69,  88,  67,  79,  79,  82, 
-     68,  48,  59,  13,  10,   9, 
-    102, 108, 111,  97, 116,  51, 
-     32, 110, 111, 114, 109,  97, 
-    108,  32,  58,  32,  84,  69, 
-     88,  67,  79,  79,  82,  68, 
-     49,  59,  13,  10, 125,  59, 
-     13,  10,  13,  10,  47,  47, 
+     68,  49,  59,  13,  10, 125, 
+     59,  13,  10,  13,  10,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
@@ -1286,10 +1286,10 @@ const BYTE UIVertexShader[] =
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
-     13,  10,  47,  47,  32,  86, 
-    101, 114, 116, 101, 120,  32, 
-     83, 104,  97, 100, 101, 114, 
-     32,  32,  32,  32,  32,  32, 
+     47,  13,  10,  47,  47,  32, 
+     86, 101, 114, 116, 101, 120, 
+     32,  83, 104,  97, 100, 101, 
+    114,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
@@ -1299,8 +1299,8 @@ const BYTE UIVertexShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  13,  10, 
-     47,  47,  47,  47,  47,  47, 
+     32,  32,  32,  32,  32,  13, 
+     10,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
@@ -1313,20 +1313,20 @@ const BYTE UIVertexShader[] =
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
-     47,  47,  13,  10,  80, 105, 
-    120, 101, 108,  73, 110, 112, 
-    117, 116,  84, 121, 112, 101, 
-     32,  84, 101, 120, 116, 117, 
-    114, 101,  86, 101, 114, 116, 
-    101, 120,  83, 104,  97, 100, 
-    101, 114,  40,  86, 101, 114, 
-    116, 101, 120,  73, 110, 112, 
-    117, 116,  84, 121, 112, 101, 
-     32, 105, 110, 112, 117, 116, 
-     41,  13,  10, 123,  13,  10, 
-      9,  47,  47, 114, 101, 116, 
-    117, 114, 110,  32, 105, 110, 
-    112, 117, 116,  59,  32,  32, 
+     47,  47,  47,  13,  10,  80, 
+    105, 120, 101, 108,  73, 110, 
+    112, 117, 116,  84, 121, 112, 
+    101,  32,  84, 101, 120, 116, 
+    117, 114, 101,  86, 101, 114, 
+    116, 101, 120,  83, 104,  97, 
+    100, 101, 114,  40,  86, 101, 
+    114, 116, 101, 120,  73, 110, 
+    112, 117, 116,  84, 121, 112, 
+    101,  32, 105, 110, 112, 117, 
+    116,  41,  13,  10, 123,  13, 
+     10,   9,  47,  47, 114, 101, 
+    116, 117, 114, 110,  32, 105, 
+    110, 112, 117, 116,  59,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
@@ -1338,112 +1338,112 @@ const BYTE UIVertexShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  13,  10,   9,  80, 105, 
-    120, 101, 108,  73, 110, 112, 
-    117, 116,  84, 121, 112, 101, 
-     32, 111, 117, 116, 112, 117, 
-    116,  59,  13,  10,   9, 111, 
-    117, 116, 112, 117, 116,  46, 
+     32,  32,  13,  10,   9,  80, 
+    105, 120, 101, 108,  73, 110, 
+    112, 117, 116,  84, 121, 112, 
+    101,  32, 111, 117, 116, 112, 
+    117, 116,  59,  13,  10,   9, 
+    111, 117, 116, 112, 117, 116, 
+     46, 110, 111, 114, 109,  97, 
+    108,  32,  61,  32, 110, 111, 
+    114, 109,  97, 108, 105, 122, 
+    101,  40, 109, 117, 108,  40, 
+    105, 110, 112, 117, 116,  46, 
     110, 111, 114, 109,  97, 108, 
-     32,  61,  32, 110, 111, 114, 
-    109,  97, 108, 105, 122, 101, 
-     40, 109, 117, 108,  40, 105, 
-    110, 112, 117, 116,  46, 110, 
-    111, 114, 109,  97, 108,  44, 
-     32,  40, 102, 108, 111,  97, 
-    116,  51, 120,  51,  41, 107, 
-    110, 111,  99, 104, 101, 110, 
-     77,  97, 116, 114, 105, 120, 
-     91, 105, 110, 112, 117, 116, 
-     46, 107, 110, 111,  99, 104, 
-    101, 110,  93,  41,  41,  59, 
-     13,  10,  13,  10,   9,  47, 
-     47,  32,  67, 104,  97, 110, 
-    103, 101,  32, 116, 104, 101, 
-     32, 112, 111, 115, 105, 116, 
-    105, 111, 110,  32, 118, 101, 
-     99, 116, 111, 114,  32, 116, 
-    111,  32,  98, 101,  32,  52, 
-     32, 117, 110, 105, 116, 115, 
-     32, 102, 111, 114,  32, 112, 
-    114, 111, 112, 101, 114,  32, 
-    109,  97, 116, 114, 105, 120, 
-     32,  99,  97, 108,  99, 117, 
-    108,  97, 116, 105, 111, 110, 
-    115,  46,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  13, 
-     10,   9, 105, 110, 112, 117, 
-    116,  46, 112, 111, 115, 105, 
-    116, 105, 111, 110,  46, 119, 
-     32,  61,  32,  49,  46,  48, 
-    102,  59,  13,  10,  13,  10, 
-      9,  47,  47,  32,  83, 116, 
-    111, 114, 101,  32, 116, 104, 
-    101,  32, 116, 101, 120, 116, 
-    117, 114, 101,  32,  99, 111, 
-    111, 114, 100, 105, 110,  97, 
-    116, 101, 115,  32, 102, 111, 
-    114,  32, 116, 104, 101,  32, 
-    112, 105, 120, 101, 108,  32, 
-    115, 104,  97, 100, 101, 114, 
-     46,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  13,  10,   9, 111, 117, 
-    116, 112, 117, 116,  46, 116, 
-    101, 120,  32,  61,  32, 105, 
-    110, 112, 117, 116,  46, 116, 
-    101, 120,  59,  13,  10,  13, 
-     10,   9,  47,  47,  32,  67, 
-     97, 108,  99, 117, 108,  97, 
-    116, 101,  32, 116, 104, 101, 
-     32, 112, 111, 115, 105, 116, 
-    105, 111, 110,  32, 111, 102, 
-     32, 116, 104, 101,  32, 118, 
-    101, 114, 116, 101, 120,  32, 
-     97, 103,  97, 105, 110, 115, 
-    116,  32, 116, 104, 101,  32, 
-    119, 111, 114, 108, 100,  44, 
-     32, 118, 105, 101, 119,  44, 
-     32,  97, 110, 100,  32, 112, 
-    114, 111, 106, 101,  99, 116, 
-    105, 111, 110,  32, 109,  97, 
-    116, 114, 105,  99, 101, 115, 
-     46,  32,  13,  10,   9, 111, 
-    117, 116, 112, 117, 116,  46, 
-    119, 111, 114, 108, 100,  80, 
-    111, 115,  32,  61,  32, 109, 
-    117, 108,  40, 105, 110, 112, 
-    117, 116,  46, 112, 111, 115, 
-    105, 116, 105, 111, 110,  44, 
-     32, 107, 110, 111,  99, 104, 
-    101, 110,  77,  97, 116, 114, 
-    105, 120,  91, 105, 110, 112, 
-    117, 116,  46, 107, 110, 111, 
-     99, 104, 101, 110,  93,  41, 
-     59,  13,  10,   9, 111, 117, 
-    116, 112, 117, 116,  46, 112, 
-    111, 115, 105, 116, 105, 111, 
-    110,  32,  61,  32, 109, 117, 
-    108,  40, 111, 117, 116, 112, 
-    117, 116,  46, 119, 111, 114, 
-    108, 100,  80, 111, 115,  44, 
-     32, 118, 105, 101, 119,  41, 
-     59,  13,  10,   9, 111, 117, 
-    116, 112, 117, 116,  46, 112, 
-    111, 115, 105, 116, 105, 111, 
-    110,  32,  61,  32, 109, 117, 
-    108,  40, 111, 117, 116, 112, 
-    117, 116,  46, 112, 111, 115, 
-    105, 116, 105, 111, 110,  44, 
-     32, 112, 114, 111, 106, 101, 
-     99, 116, 105, 111, 110,  41, 
+     44,  32,  40, 102, 108, 111, 
+     97, 116,  51, 120,  51,  41, 
+    107, 110, 111,  99, 104, 101, 
+    110,  77,  97, 116, 114, 105, 
+    120,  91, 105, 110, 112, 117, 
+    116,  46, 107, 110, 111,  99, 
+    104, 101, 110,  93,  41,  41, 
      59,  13,  10,  13,  10,   9, 
-    114, 101, 116, 117, 114, 110, 
-     32, 111, 117, 116, 112, 117, 
-    116,  59,  13,  10, 125,   0, 
+     47,  47,  32,  67, 104,  97, 
+    110, 103, 101,  32, 116, 104, 
+    101,  32, 112, 111, 115, 105, 
+    116, 105, 111, 110,  32, 118, 
+    101,  99, 116, 111, 114,  32, 
+    116, 111,  32,  98, 101,  32, 
+     52,  32, 117, 110, 105, 116, 
+    115,  32, 102, 111, 114,  32, 
+    112, 114, 111, 112, 101, 114, 
+     32, 109,  97, 116, 114, 105, 
+    120,  32,  99,  97, 108,  99, 
+    117, 108,  97, 116, 105, 111, 
+    110, 115,  46,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     13,  10,   9, 105, 110, 112, 
+    117, 116,  46, 112, 111, 115, 
+    105, 116, 105, 111, 110,  46, 
+    119,  32,  61,  32,  49,  46, 
+     48, 102,  59,  13,  10,  13, 
+     10,   9,  47,  47,  32,  83, 
+    116, 111, 114, 101,  32, 116, 
+    104, 101,  32, 116, 101, 120, 
+    116, 117, 114, 101,  32,  99, 
+    111, 111, 114, 100, 105, 110, 
+     97, 116, 101, 115,  32, 102, 
+    111, 114,  32, 116, 104, 101, 
+     32, 112, 105, 120, 101, 108, 
+     32, 115, 104,  97, 100, 101, 
+    114,  46,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  13,  10,   9, 111, 
+    117, 116, 112, 117, 116,  46, 
+    116, 101, 120,  32,  61,  32, 
+    105, 110, 112, 117, 116,  46, 
+    116, 101, 120,  59,  13,  10, 
+     13,  10,   9,  47,  47,  32, 
+     67,  97, 108,  99, 117, 108, 
+     97, 116, 101,  32, 116, 104, 
+    101,  32, 112, 111, 115, 105, 
+    116, 105, 111, 110,  32, 111, 
+    102,  32, 116, 104, 101,  32, 
+    118, 101, 114, 116, 101, 120, 
+     32,  97, 103,  97, 105, 110, 
+    115, 116,  32, 116, 104, 101, 
+     32, 119, 111, 114, 108, 100, 
+     44,  32, 118, 105, 101, 119, 
+     44,  32,  97, 110, 100,  32, 
+    112, 114, 111, 106, 101,  99, 
+    116, 105, 111, 110,  32, 109, 
+     97, 116, 114, 105,  99, 101, 
+    115,  46,  32,  13,  10,   9, 
+    111, 117, 116, 112, 117, 116, 
+     46, 119, 111, 114, 108, 100, 
+     80, 111, 115,  32,  61,  32, 
+    109, 117, 108,  40, 105, 110, 
+    112, 117, 116,  46, 112, 111, 
+    115, 105, 116, 105, 111, 110, 
+     44,  32, 107, 110, 111,  99, 
+    104, 101, 110,  77,  97, 116, 
+    114, 105, 120,  91, 105, 110, 
+    112, 117, 116,  46, 107, 110, 
+    111,  99, 104, 101, 110,  93, 
+     41,  59,  13,  10,   9, 111, 
+    117, 116, 112, 117, 116,  46, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,  32,  61,  32, 109, 
+    117, 108,  40, 111, 117, 116, 
+    112, 117, 116,  46, 119, 111, 
+    114, 108, 100,  80, 111, 115, 
+     44,  32, 118, 105, 101, 119, 
+     41,  59,  13,  10,   9, 111, 
+    117, 116, 112, 117, 116,  46, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,  32,  61,  32, 109, 
+    117, 108,  40, 111, 117, 116, 
+    112, 117, 116,  46, 112, 111, 
+    115, 105, 116, 105, 111, 110, 
+     44,  32, 112, 114, 111, 106, 
+    101,  99, 116, 105, 111, 110, 
+     41,  59,  13,  10,  13,  10, 
+      9, 114, 101, 116, 117, 114, 
+    110,  32, 111, 117, 116, 112, 
+    117, 116,  59,  13,  10, 125, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -1479,7 +1479,7 @@ const BYTE UIVertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0, 254, 239, 
     254, 239,   1,   0,   0,   0, 
-    224,   7,   0,   0,   0,  67, 
+    225,   7,   0,   0,   0,  67, 
      58,  92,  85, 115, 101, 114, 
     115,  92, 107, 111, 108, 106, 
      97,  92,  68, 101, 115, 107, 
@@ -1564,8 +1564,8 @@ const BYTE UIVertexShader[] =
      13,  10,  47,  47,  32,  84, 
      89,  80,  69,  68,  69,  70, 
      27, 226,  48,   1, 128,   0, 
-      0,   0, 198, 121, 217, 181, 
-    171, 107, 216,   1,   1,   0, 
+      0,   0,   1, 119, 239, 170, 
+    142, 108, 216,   1,   1,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -1579,7 +1579,7 @@ const BYTE UIVertexShader[] =
       0,   0,   0,   0,   0,   0, 
      86,   0,   0,   0,  40,   0, 
       0,   0,  27, 226,  48,   1, 
-     43, 114, 116,  65,  53,   7, 
+    230, 118, 208, 224,  54,   7, 
       0,   0,   1,   0,   0,   0, 
      85,   0,   0,   0,  86,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -1881,9 +1881,9 @@ const BYTE UIVertexShader[] =
       0,   0,   2,   0,   6,   0, 
     244,   0,   0,   0,  24,   0, 
       0,   0,   1,   0,   0,   0, 
-     16,   1, 157, 231,  29,  75, 
-    165, 229, 222, 233,  59, 165, 
-     98,  93,  19, 150, 219,  51, 
+     16,   1, 221, 122, 119,  80, 
+    199,  74, 233, 197,  53,  44, 
+    206, 105, 247, 167,   8, 234, 
       0,   0, 242,   0,   0,   0, 
     184,   2,   0,   0,   0,   0, 
       0,   0,   1,   0,   1,   0, 
@@ -2110,7 +2110,7 @@ const BYTE UIVertexShader[] =
     117,   0,   0,   0,  36,   0, 
     107, 110, 111,  99, 104, 101, 
     110,   0, 242, 241,  13,  21, 
-      3,   0,  69,   0,   0,   0, 
+      3,   0, 117,   0,   0,   0, 
      40,   0, 105, 100,   0, 243, 
     242, 241,  38,   0,   5,  21, 
       5,   0,   0,   0,   3,  16, 
@@ -2255,10 +2255,10 @@ const BYTE UIVertexShader[] =
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
-     13,  10,  47,  47,  32,  86, 
-    101, 114, 116, 101, 120,  32, 
-     83, 104,  97, 100, 101, 114, 
-     32,  32,  32,  32,  32,  32, 
+     47,  13,  10,  47,  47,  32, 
+     86, 101, 114, 116, 101, 120, 
+     32,  83, 104,  97, 100, 101, 
+    114,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
@@ -2268,8 +2268,8 @@ const BYTE UIVertexShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  13,  10, 
-     47,  47,  47,  47,  47,  47, 
+     32,  32,  32,  32,  32,  13, 
+     10,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
@@ -2282,20 +2282,20 @@ const BYTE UIVertexShader[] =
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
      47,  47,  47,  47,  47,  47, 
-     47,  47,  13,  10,  80, 105, 
-    120, 101, 108,  73, 110, 112, 
-    117, 116,  84, 121, 112, 101, 
-     32,  84, 101, 120, 116, 117, 
-    114, 101,  86, 101, 114, 116, 
-    101, 120,  83, 104,  97, 100, 
-    101, 114,  40,  86, 101, 114, 
-    116, 101, 120,  73, 110, 112, 
-    117, 116,  84, 121, 112, 101, 
-     32, 105, 110, 112, 117, 116, 
-     41,  13,  10, 123,  13,  10, 
-      9,  47,  47, 114, 101, 116, 
-    117, 114, 110,  32, 105, 110, 
-    112, 117, 116,  59,  32,  32, 
+     47,  47,  47,  13,  10,  80, 
+    105, 120, 101, 108,  73, 110, 
+    112, 117, 116,  84, 121, 112, 
+    101,  32,  84, 101, 120, 116, 
+    117, 114, 101,  86, 101, 114, 
+    116, 101, 120,  83, 104,  97, 
+    100, 101, 114,  40,  86, 101, 
+    114, 116, 101, 120,  73, 110, 
+    112, 117, 116,  84, 121, 112, 
+    101,  32, 105, 110, 112, 117, 
+    116,  41,  13,  10, 123,  13, 
+     10,   9,  47,  47, 114, 101, 
+    116, 117, 114, 110,  32, 105, 
+    110, 112, 117, 116,  59,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
@@ -2307,118 +2307,118 @@ const BYTE UIVertexShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
-     32,  13,  10,   9,  80, 105, 
-    120, 101, 108,  73, 110, 112, 
-    117, 116,  84, 121, 112, 101, 
-     32, 111, 117, 116, 112, 117, 
-    116,  59,  13,  10,   9, 111, 
-    117, 116, 112, 117, 116,  46, 
+     32,  32,  13,  10,   9,  80, 
+    105, 120, 101, 108,  73, 110, 
+    112, 117, 116,  84, 121, 112, 
+    101,  32, 111, 117, 116, 112, 
+    117, 116,  59,  13,  10,   9, 
+    111, 117, 116, 112, 117, 116, 
+     46, 110, 111, 114, 109,  97, 
+    108,  32,  61,  32, 110, 111, 
+    114, 109,  97, 108, 105, 122, 
+    101,  40, 109, 117, 108,  40, 
+    105, 110, 112, 117, 116,  46, 
     110, 111, 114, 109,  97, 108, 
-     32,  61,  32, 110, 111, 114, 
-    109,  97, 108, 105, 122, 101, 
-     40, 109, 117, 108,  40, 105, 
-    110, 112, 117, 116,  46, 110, 
-    111, 114, 109,  97, 108,  44, 
-     32,  40, 102, 108, 111,  97, 
-    116,  51, 120,  51,  41, 107, 
-    110, 111,  99, 104, 101, 110, 
-     77,  97, 116, 114, 105, 120, 
-     91, 105, 110, 112, 117, 116, 
-     46, 107, 110, 111,  99, 104, 
-    101, 110,  93,  41,  41,  59, 
-     13,  10,  13,  10,   9,  47, 
-     47,  32,  67, 104,  97, 110, 
-    103, 101,  32, 116, 104, 101, 
-     32, 112, 111, 115, 105, 116, 
-    105, 111, 110,  32, 118, 101, 
-     99, 116, 111, 114,  32, 116, 
-    111,  32,  98, 101,  32,  52, 
-     32, 117, 110, 105, 116, 115, 
-     32, 102, 111, 114,  32, 112, 
-    114, 111, 112, 101, 114,  32, 
-    109,  97, 116, 114, 105, 120, 
-     32,  99,  97, 108,  99, 117, 
-    108,  97, 116, 105, 111, 110, 
-    115,  46,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  13, 
-     10,   9, 105, 110, 112, 117, 
-    116,  46, 112, 111, 115, 105, 
-    116, 105, 111, 110,  46, 119, 
-     32,  61,  32,  49,  46,  48, 
-    102,  59,  13,  10,  13,  10, 
-      9,  47,  47,  32,  83, 116, 
-    111, 114, 101,  32, 116, 104, 
-    101,  32, 116, 101, 120, 116, 
-    117, 114, 101,  32,  99, 111, 
-    111, 114, 100, 105, 110,  97, 
-    116, 101, 115,  32, 102, 111, 
-    114,  32, 116, 104, 101,  32, 
-    112, 105, 120, 101, 108,  32, 
-    115, 104,  97, 100, 101, 114, 
-     46,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  32,  32,  32,  32,  32, 
-     32,  13,  10,   9, 111, 117, 
-    116, 112, 117, 116,  46, 116, 
-    101, 120,  32,  61,  32, 105, 
-    110, 112, 117, 116,  46, 116, 
-    101, 120,  59,  13,  10,  13, 
-     10,   9,  47,  47,  32,  67, 
-     97, 108,  99, 117, 108,  97, 
-    116, 101,  32, 116, 104, 101, 
-     32, 112, 111, 115, 105, 116, 
-    105, 111, 110,  32, 111, 102, 
-     32, 116, 104, 101,  32, 118, 
-    101, 114, 116, 101, 120,  32, 
-     97, 103,  97, 105, 110, 115, 
-    116,  32, 116, 104, 101,  32, 
-    119, 111, 114, 108, 100,  44, 
-     32, 118, 105, 101, 119,  44, 
-     32,  97, 110, 100,  32, 112, 
-    114, 111, 106, 101,  99, 116, 
-    105, 111, 110,  32, 109,  97, 
-    116, 114, 105,  99, 101, 115, 
-     46,  32,  13,  10,   9, 111, 
-    117, 116, 112, 117, 116,  46, 
-    119, 111, 114, 108, 100,  80, 
-    111, 115,  32,  61,  32, 109, 
-    117, 108,  40, 105, 110, 112, 
-    117, 116,  46, 112, 111, 115, 
-    105, 116, 105, 111, 110,  44, 
-     32, 107, 110, 111,  99, 104, 
-    101, 110,  77,  97, 116, 114, 
-    105, 120,  91, 105, 110, 112, 
-    117, 116,  46, 107, 110, 111, 
-     99, 104, 101, 110,  93,  41, 
-     59,  13,  10,   9, 111, 117, 
-    116, 112, 117, 116,  46, 112, 
-    111, 115, 105, 116, 105, 111, 
-    110,  32,  61,  32, 109, 117, 
-    108,  40, 111, 117, 116, 112, 
-    117, 116,  46, 119, 111, 114, 
-    108, 100,  80, 111, 115,  44, 
-     32, 118, 105, 101, 119,  41, 
-     59,  13,  10,   9, 111, 117, 
-    116, 112, 117, 116,  46, 112, 
-    111, 115, 105, 116, 105, 111, 
-    110,  32,  61,  32, 109, 117, 
-    108,  40, 111, 117, 116, 112, 
-    117, 116,  46, 112, 111, 115, 
-    105, 116, 105, 111, 110,  44, 
-     32, 112, 114, 111, 106, 101, 
-     99, 116, 105, 111, 110,  41, 
+     44,  32,  40, 102, 108, 111, 
+     97, 116,  51, 120,  51,  41, 
+    107, 110, 111,  99, 104, 101, 
+    110,  77,  97, 116, 114, 105, 
+    120,  91, 105, 110, 112, 117, 
+    116,  46, 107, 110, 111,  99, 
+    104, 101, 110,  93,  41,  41, 
      59,  13,  10,  13,  10,   9, 
-    114, 101, 116, 117, 114, 110, 
-     32, 111, 117, 116, 112, 117, 
-    116,  59,  13,  10, 125,   0, 
-      7,   0,   0,   0,   0,   0, 
-      0,   0,  85,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,  86,   0,   0,   0, 
-      0,   0,   0,   0, 170,   0, 
-      0,   0,   4,   0,   0,   0, 
+     47,  47,  32,  67, 104,  97, 
+    110, 103, 101,  32, 116, 104, 
+    101,  32, 112, 111, 115, 105, 
+    116, 105, 111, 110,  32, 118, 
+    101,  99, 116, 111, 114,  32, 
+    116, 111,  32,  98, 101,  32, 
+     52,  32, 117, 110, 105, 116, 
+    115,  32, 102, 111, 114,  32, 
+    112, 114, 111, 112, 101, 114, 
+     32, 109,  97, 116, 114, 105, 
+    120,  32,  99,  97, 108,  99, 
+    117, 108,  97, 116, 105, 111, 
+    110, 115,  46,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     13,  10,   9, 105, 110, 112, 
+    117, 116,  46, 112, 111, 115, 
+    105, 116, 105, 111, 110,  46, 
+    119,  32,  61,  32,  49,  46, 
+     48, 102,  59,  13,  10,  13, 
+     10,   9,  47,  47,  32,  83, 
+    116, 111, 114, 101,  32, 116, 
+    104, 101,  32, 116, 101, 120, 
+    116, 117, 114, 101,  32,  99, 
+    111, 111, 114, 100, 105, 110, 
+     97, 116, 101, 115,  32, 102, 
+    111, 114,  32, 116, 104, 101, 
+     32, 112, 105, 120, 101, 108, 
+     32, 115, 104,  97, 100, 101, 
+    114,  46,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  13,  10,   9, 111, 
+    117, 116, 112, 117, 116,  46, 
+    116, 101, 120,  32,  61,  32, 
+    105, 110, 112, 117, 116,  46, 
+    116, 101, 120,  59,  13,  10, 
+     13,  10,   9,  47,  47,  32, 
+     67,  97, 108,  99, 117, 108, 
+     97, 116, 101,  32, 116, 104, 
+    101,  32, 112, 111, 115, 105, 
+    116, 105, 111, 110,  32, 111, 
+    102,  32, 116, 104, 101,  32, 
+    118, 101, 114, 116, 101, 120, 
+     32,  97, 103,  97, 105, 110, 
+    115, 116,  32, 116, 104, 101, 
+     32, 119, 111, 114, 108, 100, 
+     44,  32, 118, 105, 101, 119, 
+     44,  32,  97, 110, 100,  32, 
+    112, 114, 111, 106, 101,  99, 
+    116, 105, 111, 110,  32, 109, 
+     97, 116, 114, 105,  99, 101, 
+    115,  46,  32,  13,  10,   9, 
+    111, 117, 116, 112, 117, 116, 
+     46, 119, 111, 114, 108, 100, 
+     80, 111, 115,  32,  61,  32, 
+    109, 117, 108,  40, 105, 110, 
+    112, 117, 116,  46, 112, 111, 
+    115, 105, 116, 105, 111, 110, 
+     44,  32, 107, 110, 111,  99, 
+    104, 101, 110,  77,  97, 116, 
+    114, 105, 120,  91, 105, 110, 
+    112, 117, 116,  46, 107, 110, 
+    111,  99, 104, 101, 110,  93, 
+     41,  59,  13,  10,   9, 111, 
+    117, 116, 112, 117, 116,  46, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,  32,  61,  32, 109, 
+    117, 108,  40, 111, 117, 116, 
+    112, 117, 116,  46, 119, 111, 
+    114, 108, 100,  80, 111, 115, 
+     44,  32, 118, 105, 101, 119, 
+     41,  59,  13,  10,   9, 111, 
+    117, 116, 112, 117, 116,  46, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,  32,  61,  32, 109, 
+    117, 108,  40, 111, 117, 116, 
+    112, 117, 116,  46, 112, 111, 
+    115, 105, 116, 105, 111, 110, 
+     44,  32, 112, 114, 111, 106, 
+    101,  99, 116, 105, 111, 110, 
+     41,  59,  13,  10,  13,  10, 
+      9, 114, 101, 116, 117, 114, 
+    110,  32, 111, 117, 116, 112, 
+    117, 116,  59,  13,  10, 125, 
+      0,   7,   0,   0,   0,   0, 
+      0,   0,   0,  85,   0,   0, 
+      0,   0,   0,   0,   0,   1, 
+      0,   0,   0,  86,   0,   0, 
+      0,   0,   0,   0,   0, 170, 
+      0,   0,   0,   4,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -2929,10 +2929,10 @@ const BYTE UIVertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0, 148,  46,  49,   1, 
-     16, 136, 134,  98,   1,   0, 
-      0,   0, 100, 237, 204,  20, 
-     18, 103,  42,  79, 183,  95, 
-     33,  23,  64, 184, 115,   3, 
+    213,   4, 136,  98,   1,   0, 
+      0,   0,  83,  65,  10, 195, 
+     95,  45,  53,  77, 160, 165, 
+    125,  11,  54, 244, 140, 141, 
     129,   0,   0,   0,  47,  76, 
     105, 110, 107,  73, 110, 102, 
     111,   0,  47, 110,  97, 109, 
@@ -3032,7 +3032,7 @@ const BYTE UIVertexShader[] =
       0,   0,   0,   0,   2,   0, 
       9,   0, 104,   5,   0,   0, 
       0,   0,   0,   0, 236,   2, 
-      0,   0,   1,   0, 153,  34, 
+      0,   0,   1,   0, 158, 170, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
      84, 101, 120, 116, 117, 114, 
@@ -3103,9 +3103,9 @@ const BYTE UIVertexShader[] =
       0,   0, 221,   0,   0,   0, 
       0,   2,   0,   0, 119,   1, 
       0,   0,  56,   0,   0,   0, 
-      0,   0,   0,   0,  16,   8, 
+      0,   0,   0,   0,  17,   8, 
       0,   0, 128,   0,   0,   0, 
-     53,   7,   0,   0, 104,   8, 
+     54,   7,   0,   0, 104,   8, 
       0,   0,  68,   0,   0,   0, 
       0,   0,   0,   0,  40,   0, 
       0,   0,  68,   2,   0,   0,