title: What is the difference between normalized, scaled and integer VkFormats?
body: <p>Let's take the following 6 <code>VkFormats</code> for example:</p>
  
  <pre><code>VK_FORMAT_R8_UNORM
  VK_FORMAT_R8_SNORM
  VK_FORMAT_R8_USCALED
  VK_FORMAT_R8_SSCALED
  VK_FORMAT_R8_UINT
  VK_FORMAT_R8_SINT
  </code></pre>
  
  <p>All of these specify a one-component 8-bit format that has a single 8-bit R component.</p>
  
  <p>The formats differ in whether they are (a) <em>normalized</em>, (b) <em>scaled</em>; or (c) <em>integer</em>.  What does that mean?  What are the differences between those three things?  Where is that specified?</p>
  
  <p>Are all 256 possible values of 8-bits meaningful and valid in all six formats?</p>
  
  <p>(They also differ in whether they are <em>signed</em> or <em>unsigned</em>.  I assume this means whether their underlying types are like the C types <code>int8_t</code> or <code>uint8_t</code> ?)</p>