HDR: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(→‎HDR display output: considering removing the note, as its contents are irrelevant)
No edit summary
Line 5: Line 5:
[[File:Source_HDR_comparison.jpg|thumb|right|Comparison between LDR, LDR with Bloom and [[HDR]] ({{code|mat_hdr_level 0/1/2}} respectively).]]
[[File:Source_HDR_comparison.jpg|thumb|right|Comparison between LDR, LDR with Bloom and [[HDR]] ({{code|mat_hdr_level 0/1/2}} respectively).]]


'''High Dynamic Range''' ('''HDR'''), in {{src|4}} and {{src2|4}} (and most games in 2000s), refers to '''High Dynamic Range rendering''' ('''HDR Rendering''' for short, or '''HDR lighting'''), which simulates brightness above that which a computer monitor is capable of displaying, before downconverting to {{w|Standard dynamic range|Standard Dynamic Range}} (SDR, internally referred to in {{src|1}} and {{src2|1}} as '''LDR''', for '''Low Dynamic Range''') video. This mainly involves "blooming" colors above 100% brightness into neighboring areas and adjusting a virtual camera [[W:aperture|aperture]] to compensate for any over-exposure that results.
'''High Dynamic Range''' ('''HDR''') in {{src|4}} and {{src2|4}} refers to '''{{w|High Dynamic Range rendering}}''' ('''HDR Rendering''' for short, or '''HDR lighting'''), which simulates brightness above that which a computer monitor is capable of displaying, before downconverting to {{w|Standard dynamic range|Standard Dynamic Range}} (SDR, internally referred to in {{src|1}} and {{src2|1}} as '''LDR''', for '''Low Dynamic Range''') video. This mainly involves "blooming" colors above 100% brightness into neighboring areas and adjusting a virtual camera [[W:aperture|aperture]] to compensate for any over-exposure that results.


Besides the obvious effects of this (see right), HDR gives richer colors, better contrast and finer gradients: since bright and dark areas are pushed into white and black, correctly exposed areas are drawn with a far wider range of values.
Besides the obvious effects of this (see right), HDR gives richer colors, better contrast and finer gradients: since bright and dark areas are pushed into white and black, correctly exposed areas are drawn with a far wider range of values.


== Predecessor to HDR ==
== Predecessor to HDR ==
{{csxbox|3.1}}, a {{gldsrc|1}} game, had a feature called "'''Dynamic iris simulation'''". This adjusts the screen brightness depending on where you look.
The {{gldsrc|1}} game {{csxbox|3.1}} has a feature called "'''Dynamic iris simulation'''". This adjusts the screen brightness depending on where you look.


== HDR in Source ==
== HDR in Source ==

Revision as of 17:19, 27 April 2025

English (en)Deutsch (de)Español (es)한국어 (ko)Русский (ru)中文 (zh)Translate (Translate)
An overexposed image from Half-Life 2: Lost Coast Half-Life 2: Lost Coast
Comparison between LDR, LDR with Bloom and HDR (mat_hdr_level 0/1/2 respectively).

High Dynamic Range (HDR) in Source Source and Source 2 Source 2 refers to Wikipedia icon High Dynamic Range rendering (HDR Rendering for short, or HDR lighting), which simulates brightness above that which a computer monitor is capable of displaying, before downconverting to Wikipedia icon Standard Dynamic Range (SDR, internally referred to in Source and Source 2 as LDR, for Low Dynamic Range) video. This mainly involves "blooming" colors above 100% brightness into neighboring areas and adjusting a virtual camera aperture to compensate for any over-exposure that results.

Besides the obvious effects of this (see right), HDR gives richer colors, better contrast and finer gradients: since bright and dark areas are pushed into white and black, correctly exposed areas are drawn with a far wider range of values.

Predecessor to HDR

The GoldSrc game Counter-Strike (Xbox) has a feature called "Dynamic iris simulation". This adjusts the screen brightness depending on where you look.

HDR in Source

HDR rendering was first demonstrated in Half-Life 2 during it's development (2003), but it was later eventually cut before Half-Life 2 was released.

Later, HDR rendering is reintroduced with Half-Life 2: Lost Coast, a tech demo, along with Day of Defeat: Source, released in Sep 2005 (both runs on updated version of Source 2004).

Source 2006 Source 2006 and subsequent Source branches later ships with HDR support out of the box. HDR requires DirectX 9 (dxlevel 90 or higher) level GPU for Windows (or OpenGL 1.4 and later for macOS/Linux), and maps must be compiled with HDR lighting data. It is optional but recommended that the map's skybox textures are HDR-capable.

While HDR was introduced in both Source 2004 (since Lost Coast engine update) and Source 2006, initially in certain games such as Counter-Strike: Source Counter-Strike: Source, Half-Life 2 Half-Life 2 (both at the time having been upgraded to Lost Coast engine and later Source 2006), Counter-Strike: Source only had some maps were compiled with HDR rendering, while Half-Life 2 had none until the engine (and Mac) update in 2010, upgrading it to Source 2009 Source 2009 along with changes to the maps and skybox textures to support HDR. Half-Life 2 on console (The Orange Box for Xbox 360 and PlayStation 3, runs on Source 2007), did have HDR rendering in all maps, however.

However, as of today (with both CSS and HL2 are running on Source 2013), Valve forgot to compile all the maps with both LDR and HDR support in Half-Life 2, leaving some of the maps LDR only, and others HDR only, requiring users to enable HDR, otherwise the HDR-only map will be rendered in fullbright.

Additionally, Source 2007 improves HDR through remade HDR tonemapping in order to better fits outdoor scenes. This may results in brighter or darker image, if tonemapping was not adjusted.

Limitations

Source Source does not have a physically accurate HDR simulation. Its camera has a far wider range than the human eye (let alone real cameras), and it also adjusts to changes in brightness far faster (this can be adjusted through env_tonemap_controller's SetTonemapRate keyvalue however). Both of these are expedient to gameplay of course, especially in multiplayer.

Source does not create "proper" HDR images, and does not support native HDR output for HDR-capable TV/monitors. Instead, it collapses the image down to SDR early. The average user would be hard-pressed to tell the difference, however, and the benefits include support for all DX9+ GPUs, MSAA compatibility, and excellent performance.

Note.pngNote:The only Source engine game to currently support native HDR output is Apex Legends on consoles, and it requires an HDR-capable TV/monitor.

On systems with Windows 11, you can use Auto HDR, RTX HDR (Nvidia Nvidia GPUs only) or other methods here as a workaround. Note that Auto HDR only works with Source games running on Direct3D 11. Most Source games (which usually run on Direct3D 9) requires Pcgw icon.png dgVoodoo2 to translate D3D9 to D3D11/D3D12, allowing the use of Auto HDR. Keep in mind that using dgVoodoo2 is not recommended on Source 2006 games or earlier, as it will break the gray fog/dense fog bug fix on NVIDIA GPUs. Alternatively, you can use RTX HDR, which works with Direct3D 9, 11 and 12.

LDR deprecation in newer games

Since the Left 4 Dead engine branch Left 4 Dead engine branch and later games (with some exceptions), HDR rendering is now required and LDR/SDR rendering has been deprecated, with the option to disable HDR removed.

Note.pngNote:Third-party games like Team Fortress 2 Classic Team Fortress 2 Classic also require HDR

Despite LDR being deprecated since Left 4 Dead Left 4 Dead, some games like Portal 2 Portal 2 as well as the original release of Dota 2 Dota 2 allow users to disable HDR through console commands, however:

  • In Portal 2, while you can disable HDR using console commands (mat_hdr_level 0), no Portal 2 maps have LDR lighting compiled by default, which will cause "mat_fullbright" ('full bright' lighting) to be enabled.
  • In the original release of Dota 2, the game only uses LDR lighting, and none of the maps appear to have HDR lighting data. Additionally the game does not have an option to enable HDR aside from using console commands.
  • In Left 4 Dead Left 4 Dead and Left 4 Dead 2 Left 4 Dead 2, HDR can be only disabled via the launch command (mat_hdr_level 0) as the command is hidden ingame, but you can use SourceMod (for Left 4 Dead) or VScript (for Left 4 Dead 2) to disable it while the game is already running.
    • Left 4 Dead sm_cvar mat_hdr_level 0/1/2 command (with SourceMod installed) or
      Left 4 Dead 2 script Convars.SetValue("mat_hdr_level", "0/1/2") (using VScript).

HDR in Source 2

Todo: How does Source 2 improve HDR?

Counter-Strike 2 Counter-Strike 2 adds a option for switching between Performance and Quality HDR.

See also

External links