   RenderTarget Format - PS Output Format
  Hi,if I create a 2D texture for a rendertarget I have a lot of options for the format (for example DXGI_FORMAT_R32G32B32A32_FLOAT or DXGI_FORMAT_R16G16B16A16_SNORM).My question: Does the choice of the format influnce the allowed output format of my pixelshader?For example: if I use DXGI_FORMAT_R32G32_UINT do I then have to return an int2 in my pixelshader?Oh btw: What does the format Quote:DXGI_FORMAT_R16G16B16A16_SNORM A four-component, 64-bit signed-integer format with values normalized to be between -1 and 1. mean? Signed integers are -2, 5000 or 0, so between -1 and 1 fits only one integer??   
Quote:Original post by schupfOh btw: What does the format Quote:DXGI_FORMAT_R16G16B16A16_SNORM A four-component, 64-bit signed-integer format with values normalized to be between -1 and 1. mean? Signed integers are -2, 5000 or 0, so between -1 and 1 fits only one integer??It means that the entire valid range of integers are normalized to the range [-1, 1].  This means that if your pixel shader outputs a value of -1.0f it will be stored in the texture as the integer value -32767, and 1.0f will be +32767.  ;  All pixel shaders return a float4, regardless of format. If the destination format doesn't use some components, they are ignored (for example, DXGI_FORMAT_R32_FLOAT will only use the .r component of the float4).   ;  Hm, so my pixelshader return values always must be in the domain of the format?For example if I use DXGI_FORMAT_R16G16B16A16_UNORM I have to return values between 0.0f and 1.0f and the value will be remapped to a 16bit unsigned int.Does this mean by using DXGI_FORMAT_R32G32B32_UINT my float return values have to between 0 and 2^32-1 and will just be cast to an unit? (so for example 2.3f would be 2)?   ;  Correct.   