LUMINDEX: STUDIO — лаборатория композитинга
Дата подготовки: 10.11.2026

ПРОИСХОЖДЕНИЕ
Это собственные математические изображения, созданные формулами и масками.
Они НЕ являются рендерами Corona, скриншотами Photoshop или тестом шейдера.
Словами direct/reflect и т. п. названы учебные слагаемые, чтобы связать опыт
с обсуждением разложения изображения. Их формулы не моделируют физику света.
Сторонние изображения, сцены и текстуры не использованы.

СОСТАВ
01_direct_float32.tif
02_indirect_float32.tif
03_reflect_float32.tif
04_refract_float32.tif
05_translucency_float32.tif
06_emission_float32.tif
07_volumetrics_float32.tif
08_exact_sum_float32.tif — сумма файлов 01–07
09_source_color_float32.tif — первый множитель
10_raw_diffuse_float32.tif — второй множитель
11_diffuse_product_float32.tif — произведение 09 × 10
12_object_mask_float32.tif — маска коричневой панели, повторённая в RGB
13_local_exposure_float32.tif — 08 × [1 + 12 × (2^0.35 − 1)]
14_before_display16.tif — отображаемый результат 08
15_after_display16.tif — отображаемый результат 13
before.png / after.png — обычные браузерные preview
linear-srgb.icc — первичные sRGB, линейная передаточная функция gamma 1.0
srgb-display.icc — обычный профиль sRGB для отображаемых копий
sample_checks.csv — численные контрольные точки (x,y от левого верхнего угла)
metadata.json — формулы, размеры, SHA-256 и результаты проверок
generate_lab.py — исходный генератор

FLOAT TIFF
Файлы 01–13: RGB, 512 × 320, 32-bit IEEE float на канал, без сжатия,
со встроенным linear-srgb.icc. Часть значений выше 1.0 — это намеренно.
Это линейные исходные значения, а не готовый экранный контраст.
Чтение и запись файлов проверены побитовым сравнением массивов.

DISPLAY КОПИИ
К готовой сумме применена T(x) = max(x,0)/(1+max(x,0)), затем стандартное
sRGB-кодирование. 14–15 сохранены в 16-bit integer RGB; PNG — в 8-bit RGB.
Нельзя складывать эти display-копии как исходные линейные компоненты.
Это конкретный учебный оператор отображения, не Corona tone mapping preset.

ОПЫТ В PHOTOSHOP 2025
1. Откройте float32 входы и сохраните встроенный линейный профиль.
2. Проверьте 32 Bits/Channel и одинаковый профиль всех документов.
3. Соберите 01–07 без изменения размера. Основание Normal, следующие
   слагаемые Linear Dodge (Add), opacity 100%.
4. Сравните с 08 в режиме Difference и по числам из CSV.
5. Отдельно перемножьте 09 и 10; сравните с 11.
6. Примените к 08 +0.35 EV только по маске 12; сравните с 13.
7. Для просмотра используйте 14–15 и PNG, но не подменяйте ими входы опыта.

ВНИМАНИЕ К ИНТЕРПРЕТАЦИИ
Встроенный профиль уже описывает файлы. Назначение обычного sRGB через
Assign Profile изменит смысл линейных чисел. Не применяйте denoise, LUT,
кривые, resize, sharpening или автоматическое HDR toning до сравнения.
Разные импортёры могут иметь свои преобразования. Если Difference не ноль,
проверьте профиль, битность, opacity, crop и способ импорта.
Photoshop и Corona при создании этого набора не запускались.

ЧТО ПРОВЕРЕНО
После сохранения и повторного чтения всех float TIFF получено точное
совпадение массивов. Максимальная абсолютная ошибка суммы — 0.0;
максимальная абсолютная ошибка произведения — 0.0.
TIFF дополнительно распознаны ImageMagick как RGB 32-bit и 16-bit.
Это проверка файлов и арифметики, а не обещание автоматического совпадения
любых настроек стороннего редактора.

ВОСПРОИЗВЕДЕНИЕ ГЕНЕРАТОРА
Нужны Python 3, NumPy и Pillow. Команда: python generate_lab.py
Включённые ICC-файлы переиспользуются. Если удалить linear-srgb.icc,
для его создания потребуется системная библиотека LittleCMS 2.
Для размещения самого сайта Python и эти библиотеки не требуются.

ИСПОЛЬЗОВАНИЕ
Этот авторский учебный набор разрешено использовать и изменять вместе
со справочником, в личных и коммерческих учебных проектах. Не выдавайте
его за реальный Corona-render или доказательство параметров рендерера.
