"Hello world" - 2017

Вот значит написал программу, которая ничего (почти) не делает:

$ cat *.cpp *.h *.pro *.frag *.vert *.qrc | wc -l

3584

Нельзя сказать, что совсем уж ничего:

  • Окошко есть
    • в окошко выводит OpenGL (или OpenGL ES 3 поверх DX11). Разноцветный треугольник, что еще можно выводить.
    • и конечно с шейдерами, их компиляцией, сохранением/загрузкой бинарного представления и т.п.
    • и сolor management есть (и сохранение/чтение device link LUT, чтобы каждый раз не пересчитывать таблицу)
    • настройки есть, их чтение, сохранение, редактирование (втч. настроек color management) и применение на ходу.
    • last-used состояния (геометрия, фулскрин) - сохраняются, читаются  и применяются
    • всякие (известные по прошлому опыту) приколы с OpenGL/ES обрабатываем (вроде все, но мог забыть чего)
    • и, везде где возможно - data driven: таблицы того, сего, этого.
    • отладочный лог конечно тоже.
    • и конечно Windows/OS X (хотя на маке еще не пробовал собирать)
  • А так, ничего не делаем, рисуем треуогольник разноцветный, квадратик сверху, можно покрутить, можно color management на ходу переключить.

И смотрю я туда внимательным глазом - особо не убавить ничего ж, вот просто чтобы начать работать над собственно мясом - скелет получается не такой и маленький.

Решил пока сохранить скелет в отдельном репозитории, пригодится ведь еще не раз....

P.S. Пока писал, вспомнил что drag-n-drop не подперт. Точнее, для маковского drop-на-иконку все сделано, а для дропа в окошко придется доделать еще полчасика.

P.P.S. +drag-n-drop, +правильный лукап в device link LUT => 3708 строчек. Посидел утречком, между кофе и завтраком.

Comments

Алексей, а можно где-нибудь с исходным кодом ознакомиться, в образовательных, так сказать, целях?

Увы, но нет. Там, в частности, из названий объектов вытекает назначение программы (когда она начнет что-то делать), а это пока рано.

Неужели raw конвертор?-)

Настанет момент - и мы сообщим.

> Настанет момент - и мы сообщим.

на всякий случай (а то может быть поздно, если уже не... GUI это геморрой) новогодние пожелания - чтобы ББ & замер (для индикации Lab, Lch, RGB в любых пр-вах, whatever ) был возможен как в RPP - т.е. можно область (прямоугольник) для оных самому в кадре начертать мышкой...

Z / V

да на пока не сообщили можно ж надеяться (на конвертер) - чтобы "ББ" можно было задавать /опционально/ вот прямо замерянным спектром (из файлика в каком-нибудь формате) - а то трудовые вложенные в C700U недоиспользуются как следует и "профиль камеры" /опционально/ - SSF-ами (из файлика в каком-нибудь формате, с обвязкой рядом типа - пусть будет матричный или LUT, итд.)...

Z / V

В смысле пересчета спектральных профилей на лету?

Надеяться можно на все, но узок их круг, далеки они от народа, спрос на такую фичу уж больно невелик....

ну какой-там лет-то ... выбрал файл с профилем в UI и ПО посмотрело что это за контейнер ("готовые" данные в icc/dcp или там спектр, если спектр ну поумножало немного до готовности - это же не полноценный редактор профилей) и сохранило во соотв. внутреннее представление...

Z / V

Если так просто - может проще умножить где-то в сторонке, а в приложение подать уже готовый профиль?

>>> Если так просто - может проще умножить где-то в сторонке, а в приложение подать уже готовый профиль?

чем же проще если это вкупе прямо вот со спектром для ББ ... которые замеры в наличии ? вместо один раз выбранного в настройках профиля (SSF) в одном случае я просто батчем "по времени" задаю ББ для кучи файлов, a в другом случае я должен идти куда-то и генерить кучу профилей ? нелогично ... и потом такой фичи ни у кого нет, а тут будет ... реклама !

Z / V

Ну не говоря о том, что мы обсуждаем нечто несуществующее пока (какой-то неизвестно какой конвертер, какой, чей???), речь идет еще о функции, которая не востребована 99.9% потенциальных пользователей (просто по причине отсутствия у них спектральных данных).
Вот я и предполагаю оставшемуся 0.1% позаботиться о себе самостоятельно - глядишь полученный результат можно будет применить в каком-то более существующем софте.

http://forum.ixbt.com/topic.cgi?id=20:31838
"статья на самом деле выверена у хороших специалистов по печати и работе с цветом, которые создали равдигер и фастраввьювер."

Ну да, Дима давал посмотреть, чего-то такого, от чего меня бы воротило - не нашел.

И да, у хороших бумаг и чернил (имеется в виду фотопринтер) охват вылезает за sRGB/Adobe, что в этом не так?

А почему при включении в фотошопе proof colors (working CMYK) цвета "увядают"?
Или существуют какие-то RGB принтеры?

Это смотря какой у вас working cmyk же.
Если умолчание (типографский), то увядают.

Да и то не все, кстати. Чистая cyan-краска из srgb конечно будет выпадать.

Вот прямо первый же запрос в гугл принес это: https://robertrodriguezjr.com/wp-content/uploads/2013/10/pro-1-gamut-cha...

Существуют 8-ми цветные плюс пара разных чёрных. Плюс там пигментные чернила. В общем, штука отличная. Если на цену отпечатка не смотреть.

RGB принтеры существуют. Не в том смысле, что у них профиль sRGB, а в смысле технологии. Durst Lambda, Theta кажется еще. Печатают светодиодами или лазером по натурально цветному фотоматериалу.
Процесс хорош тем, что не дает никакого "бронзинга". Даже на самых сильных перепадах светлых-темных участков нет разницы в глянце. Впрочем, струйники тоже научились как-то с этим справляться.

Только цветовой охват цветного фотоматериала сам по себе на столько печален, что беря профил Дурст Теты от Foto-One, плакать хочется.

Печатай на прозрачке - охват и подрастет.

цвет лазеров не меняет того факта, что красители образуются CMY.

А RGB-интерфейс - так и у CMYK (и прочих 12-цветных) фотопринтеров, драйвер принимает в таком виде и цветоделит там (как и у Durst, впрочем)

> цвет лазеров не меняет того факта, что красители образуются CMY.

В вышеупомянутых Durst Lambda и Theta - косвенно за счет фоточувстительных слоев фотобумаги. Вывод же на эти принтеры RGB напрямую для контроля интенсивности лазеров (или я что-то не так понимаю?).

Ну сложно найти в наше время принтер, куда вывод бы был не "rgb напрямую".

А каким образом там на бумаге образуется CMY (или какая еще дополнительная, но CMY в любом случае будет основой - по очевидным причинам) - ну какая разница. Один из чернильницы плюнул, другой твердые чернила возогнал, третий лазером по барабану поводил (и порошок прилип), четвертый - зародил там зерно скрытого изображения, кое потом, при цветном проявлении, стало глобулой красителя прямо в толще бумаги....

Да, тупанул.

А... строчек... я думал файлов :)