<p>In general, using floating point textures will help preserve HDR values. They can be 16-bit or 32-bit floats for the color channels, usually. In OpenGL you could choose the type to be <code>GL_FLOAT</code> for 32-bits per channel or <code>GL_HALF_FLOAT</code> for 16-bits per channel. In my experience, for image processing, 16-bits is usually enough and is half as much data.</p>

CC BY-SA 4.0
2018-11-06T03:53:38.973Z
2018-11-06T03:53:38.973Z
user1118321
<p>Also consider these alternatives for reducing bandwidth in comparison to R16G16B16A16.</p>

<p>DXGI_FORMAT_BC6H_UF16 is block compressed fp16 (half) RGB.</p>

<blockquote>
  <p><a href="https://docs.microsoft.com/en-us/windows/desktop/direct3d11/bc6h-format" rel="nofollow noreferrer">https://docs.microsoft.com/en-us/windows/desktop/direct3d11/bc6h-format</a></p>
</blockquote>

<p>DXGI_FORMAT_R11G11B10 unsigned small float</p>

<blockquote>
  <p><a href="https://bartwronski.com/2017/04/02/small-float-formats-r11g11b10f-precision/" rel="nofollow noreferrer">https://bartwronski.com/2017/04/02/small-float-formats-r11g11b10f-precision/</a></p>
</blockquote>

<p>Common image file formats for HDR are exrs or dds. They're pretty trivially encoded as 32-bit or 16-bit per channel floats.</p>

CC BY-SA 4.0
2018-11-18T23:11:46.390Z
Thanks for the complementary info and for the link to an interesting blog post
wip
CC BY-SA 4.0
2018-11-18T08:50:41.157Z
2018-11-18T08:50:41.157Z
Calvin
<p>I understand that HDR files are images encoded with a higher precision in order to keep more details.<br>
When loading such images in real-time rendering applications using common Graphics APIs (DirectX, OpenGL, Vulkan), which are the "HDR texture formats" that ensure details will be preserved?</p>

CC BY-SA 4.0
2018-11-06T09:20:14.870Z
Are you talking about the texel formats the GPU understands, or are you talking about the file formats that images are stored in before texture upload?
Dan Hulme
CC BY-SA 4.0
2018-11-06T13:03:19.783Z
About the former
wip
CC BY-SA 4.0
2018-11-06T13:05:50.410Z
But connecting those with details about how the data is arranged in the image files would be interesting as well Dan.
wip
<texture><api>
Which graphics APIs texture formats are HDR texture formats?
wip
# Which graphics APIs texture formats are HDR texture formats?

(Asked by: username_0 on 2018-11-06)

I understand that HDR files are images encoded with a higher precision in order to keep more details.  
When loading such images in real-time rendering applications using common Graphics APIs (DirectX, OpenGL, Vulkan), which are the "HDR texture formats" that ensure details will be preserved?

**Tags:** texture, api

> **Comments:**
> **username_1**: Are you talking about the texel formats the GPU understands, or are you talking about the file formats that images are stored in before texture upload?  
> **username_0**: About the former  
> **username_0**: But connecting those with details about how the data is arranged in the image files would be interesting as well Dan.  

---

## 2 answers

### Answer by username_2 on 2018-11-06. Score: 3 | Accepted answer

In general, using floating point textures will help preserve HDR values. They can be 16-bit or 32-bit floats for the color channels, usually. In OpenGL you could choose the type to be `GL_FLOAT` for 32-bits per channel or `GL_HALF_FLOAT` for 16-bits per channel. In my experience, for image processing, 16-bits is usually enough and is half as much data.


---

### Answer by username_3 on 2018-11-18. Score: 4

Also consider these alternatives for reducing bandwidth in comparison to R16G16B16A16.

DXGI\_FORMAT\_BC6H\_UF16 is block compressed fp16 (half) RGB.

> <https://docs.microsoft.com/en-us/windows/desktop/direct3d11/bc6h-format>

DXGI\_FORMAT\_R11G11B10 unsigned small float

> <https://bartwronski.com/2017/04/02/small-float-formats-r11g11b10f-precision/>

Common image file formats for HDR are exrs or dds. They're pretty trivially encoded as 32-bit or 16-bit per channel floats.

> **Comments:**
> **username_0**: Thanks for the complementary info and for the link to an interesting blog post  

---

