Данная тема натолкнула меня на некоторое небольшое иследование. Прошу прощения что создал новую, но не хочется вести дискуссию на английском, и вообще мешаться автору.
Всё дело в том, как я возможно полагаю в сорсе используется немного иное "смешивание" лайтмап с текстурой.
Внизу приведен пример на GoldSrc и Source без HDR, почти одна и таже карта с одинаковыми текстурами (кроме потолка) и размерами лайтмапы. На них присутствует по одному источнику света light. Как видно по скриншоту в Source лайтмапа может засветить текстуру так, что её не будет видно, в то время как GoldSrc никогда нам не даст этого сделать, текстура всегда будет хорошо разборчиво видна (эти места обведены красным кругом), что даёт не очень хороший эффект при больших значениях.
К сожалению мне не удалось сделать на обеих картах одинакового значения освещенности. Всё что вы видете под скрином в Source под хл1 выглядило как norad даже при 1/2 значения освещенности по сравнению с хл2 (-gamma тоже не помог).
Если взглянуть на обычные халфовские лайтмапы без текстур, впринципе они выглядят совсем не так уж плохо, так что не думаю что тут дело в компиляторе.
Так что прошу наших уважаемых знатоков объяснить мне, в чем же там всё таки дело, и почему ГолдСорсовские лайтмапы никогда нельзя засветить так, чтоб не было видно самой текстуры.
В голдсрц используется простое умножение текстуры на лайтмапу, что в силу математических причин не может дать эффекта "засвечивания" - пиксель никак не может стать ярче чем был. Это стандартная операция для fixed pipeline. А в хл2 используется хитрый шейдер "lightmappedgeneric" с самопальным алгоритмом смешивания.
Government-Man
А можно подробнее про overbrightFactor/2 ?
З.Ы. с помощью Попошопа удалось получить схожий с сорсом результат, умножив яркость и контраст на 2, как в принципе написал ксерокс (правда там похоже только яркость). Так же спасибо CrazyRussianу за конкретное объяснение и реализацию на практике, XaeroX и Government-Man за примеры.