Ru/HDR Lighting Basics
Обзор
The Source Engine поддерживает два независимых набора карт освещения в .BSP, первый - HDR (High Dynamic Range), второй - LDR (Low Dynamic Range). LDR-освещение - по сути, освещение из Half Life 2. С таким освещение нам приходилось подсвечивать слишком темные области дополнительными источниками света и текстурами, чтобы их можно было заметить. Но с HDR можно просто использовать авто-экспозицию, осветляя чрезмерно затененные области без "фальшивого" света. Единственный недостаток поддержки и LDR, и HDR - слишком большой размер .BSP-файла.

Основы компилирования карт
Проще простого - перекомпилировать существующую карту в последней версии Vrad
Сделать это очень легко, при использовании встроенного в Hammer компилятора:
- Откройте файл .VMF в редакторе Hammer.
- Выберите Run Map в Меню файла.
- Установите BSP, VIS и RAD в Normal.
- В секции RAD поставьте галочку напротив HDR.
- Нажмите OK для компиляции.
Примечание:В логе работы VRAD Вы заметите, что процесс выполняется дважды, когда включен HDR. Все правильно. VRAD необходимо создать отдельное освещение для режимов LDR и HDR.
Аргументы командной строки VRAD для HDR
Если встроенный в Hammer компилятор Вы не используете, следующие команды командной строки (прошу прощения за тавтологию) VRAD помогут Вам: -both
, -ldr
, -hdr
и -final
. Теперь файл .BSP содержит два набора карт освещения - для LDR и HDR. Чтобы скомпилировать оба, добавьте команду -both
в VRAD. При компиляции только LDR добавьте -ldr
, но если только HDR - -hdr
. Следующая новая команда -final
повышает качество фонаря и отраженного света, используя больше времени CPU для расчета лучей.

-final
может значительно увеличить время просчета VRAD, поэтому-то команда предназначена для окончательного просчета карты. Эта опция значительно сокращает артефакты освещения, чаще всего проявляющихся внутри помещений от light_environment
.Запуск HDR в The Source Engine
Движок Source может быть запущен в обоих режимах: HDR и LDR. Если карта имеет скомпилированную карту освещения HDR, и соответствующий режим (HDR) включен в Настройках Видео игры, то HDR автоматически включится, когда карта загрузится. Из-за отдельных карт освещения, создающихся для HDR и LDR, cubemap должны быть как для HDR, так и для LDR режимов.
Еще HDR может быть включен или отключен через командную строку при запуске игры:
+mat_hdr_enabled 0/1
- 0 для включения LDR, 1 для включения HDR. Карты освещенности будут перезагружены, если значение изменится во время игры.
+mat_hdr_level 0/1/2
- Установите 0 для отключения HDR, 1 для включения LDR и блюма на картах с HDR и 2 для полноценного HDR и блюма (там, где это поддерживается)
Запуск игры с включенным HDR
Для включения HDR и блюминга во время игры, добавьте +mat_hdr_enabled 1 +mat_hdr_level 2
одним из следующих методов:
- В диалоговом окне Run Map редактора Hammer добавьте команду в Additional game parameters.
- Нажать Правой Кнопкой Мыши на игре в Steam и выбрать Properties
- Right-clicking the game in the Steam Games window and choosing Properties, click Set launch options... and entering the command into the dialog.
- Creating a shortcut to the game on your desktop, then adding the command in the Windows Properties dialog.
- If you use a .BAT batch file to run the engine, add the command to your batch file.

Building HDR and LDR cubemaps
For an HDR map, you need to run buildcubemaps
in both HDR and LDR modes to build proper cubemaps:
- Compile your level with the Vrad HDR option enabled.
- Load the level in the game. The engine should default to the HDR version of the map. If you have HDR disabled, type
mat_hdr_enabled 1
at the console to enable HDR. - Type
buildcubemaps
in the console to build the HDR cubemaps. - Type
mat_hdr_enabled 0
to switch to LDR mode (it will take a moment to reload the lightmaps). - Type
buildcubemaps
to build the LDR cubemaps.
You must do this every time you compile the map or the cubemaps will not appear correctly.
Selecting an HDR skybox
Another thing you can do easily to improve the quality of the HDR effects is to select an HDR skybox.
To select an HDR skybox in Hammer:
- Select Map properties from the Map menu.
- Enter the name of an HDR skybox in the Skybox Texture Name field (e.g.
sky_example_hdr
). See Sky List for a list of available skyboxes. - Recompile the map with the new skybox.
The sample map sdk_hdr_example.vmf
in the SDK samples includes the entities for this demonstration.

For a description on how to create new HDR skyboxes, see HDR Skybox Creation.
See also
HDR Lighting Settings - for more information on how to customize HDR settings.