Orphus system

Cheb's Home Page

Главная
Cheb's Game Engine Косметическая подтяжка Quake II
Штошник на ушах
 

 

Симуляция темноты

Скачать: 7-Zip (1080K) ZIP (1300K) (исходники прилагаются, но внутрь лучше не смотреть: там всё на таких соплях...)

Демонстрирует метод, создающий ощущение темноты, не требующий сверхмощного монитора или зашторенной комнаты. Симулирует особенности человеческого глаза, в темноте практически перестающего различать цвета. Кроме того, в темноте чёткость восприятия падает - это изображается заблюриванием.

Данные скрины сняты на GeForce2 MX400 (специально с пыльной полки достал, и в компьютер вставил, чтобы показать, что и на вторых жефорсинах есть жизнь).

Реализация, конечно, отвратная, но сляпал я эту дему за полдня на коленке - зато она позволяет пощупать идею в действии. Для реального применения, конечно, нужно писать на шейдерах, а не как я - на одних glBlend и голимом glCopyTexSubImage2d(). Практически на 100% эффект достигается фильтром постобработки. При рендеринге тёмной сцены яркость устанавливается вплоть до 0.1, и только у пламени всегда равна 1.0. При повышенной яркости пламя, наоборот, слегка приглушается. Чёрно-белое преобразование - всё тем же glCopyTexSubImage2d(), в текстуру формата LUMINANCE. Для заблюривания используется смещение текстурных координат в пол-текселя (отсюда и артефакты по краям экрана).

При яркости, равной 1.0, фильтр отключается: так выглядит сцена в чистом виде, без постобработки.

Та же процедура, только коэффициенты другие: и чем вам не bloom?..