title: Directx11 Texture2D formats
body: <p>For some reason, I cannot specify <code>DXGI_FORMAT_R32G32B32_FLOAT</code> format when creating a texture 2d in directx11. I can do it just fine in OpenGL, however. It also works fine when using <code>DXGI_FORMAT_R32G32B32A32_FLOAT</code>. I am using these textures as rendertargets for the gbuffer.</p>
  
  <pre><code>    // create gbuffer textures/rendertargets
      D3D11_TEXTURE2D_DESC textureDesc;
      ZeroMemory(&amp;textureDesc, sizeof(D3D11_TEXTURE2D_DESC));
      textureDesc.Width = swapChainDesc.BufferDesc.Width;
      textureDesc.Height = swapChainDesc.BufferDesc.Height;
      textureDesc.ArraySize = 1;
      textureDesc.MipLevels = 1;
      textureDesc.Format = DXGI_FORMAT_R32G32B32_FLOAT;    &lt;----- dosn't like this; returns E_INVALIDARG
      textureDesc.SampleDesc.Count = 1;
      textureDesc.Usage = D3D11_USAGE_DEFAULT;
      textureDesc.BindFlags = D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_RENDER_TARGET;
  
      for (uint32_t index = 0; index &lt; GBuffer::GBUFFER_NUM_RENDERTARGETS; index++) 
      {
          DXCALL(device-&gt;CreateTexture2D(&amp;textureDesc, NULL, &amp;mGeometryTextures[index]));
          DXCALL(device-&gt;CreateRenderTargetView(mGeometryTextures[index], NULL, &amp;mRenderTargets[index]));
      }
  </code></pre>
  
  <p>Why cant I use <code>DXGI_FORMAT_R32G32B32_FLOAT</code> when creating a 2d texture in directx 11?</p>
  
  <p>I do not need the extra float in my texture, hence I'd rather have just three elements rather than four.</p>