Лето - пора релизов.
Третий год подряд выпускаю на свет велосипеды. :) В 2008-м это был "оранжевый" HL2DM, в 2009-м - Advanced Stacker.
На сей раз это будет крупная, по моим меркам, рыбёшка: просмотрщик изображений. И для лисапеда такой сложности написал я его (опять же, по своим меркам) невероятно быстро: примерно месяц ушёл на основные работы, и ещё столько же на всякую фигню, которую можно было и отложить до следующей версии.
Поначалу хотелось просто иметь аскетичный вьюер для личного пользования. Быстрый и с интуитивным для меня же управлением. Потому что:
- Стандартный виндовый просмотрщик медлителен как беременная черепаха-инвалид и неудобен в обращении как
VHEтопор, обклеенный канцелярскими кнопками. Порой думает по несколько секунд после мановения скроллбара, прежде чем обновить экран. >_< Нет, я понимаю, в 2001-м году самое большое изображение которое юзер мог бы открыть в этом недоразумении было, наверное, обоиной для рабочего стола 1024х768, так что можно было без угрызений совести написать простыню быдлокода.. да хоть десять простыней - и никто бы не заметил. Но не удосужиться за все эти годы и три сервис-пака пересмотреть данную политику - это так мелко-мягко! - Хотелось свой, с черничным джемом и шлюзами, так что в сторону других программ я даже не glядел.
- А чуть ранее мне под руку попался фреймворк под названием GLUT - OpenGL Utility Toolkit, позволяющий без ОС-специфичного кода возыметь окошко с огл-вьюпортом, написав несколько строчек.
- Наконец, хотелось сильнее углубиться в многопоточное программирование.
Всё это и определило сущность Glance как вьюера шустрого, удобного и использующего огл.
Собственно, первое обеспечивается последним, хотя не обошлось и без компромисса: за скорость отрисовки приходится платить временем загрузки изображения в видеопамять. Впрочем, я готов потерпеть небольшой фриз, чтобы потом вертеть (в буквальном и переносном) картинкой как мне вздумается и в реальном времени.
Так вот. Начал я, значится, писать это дело. Организовав с грехом пополам загрузку и отображение жыпегов - понёс показывать этот зародыш друзьям. Один из них попросил знакомую нарисовать иконку. Я весь насквозь обрадовался, только вот стормозил и вовремя не успел объяснить, чего бы мне хотелось. :( Скетч был уже нарисован, к сожалению отвергнут, и всё забылось..
Опуская остальные подробности, итогом показа стало решение релизить прогу публично. :D А это потянуло за собой такую ниточку, что до сих пор её ещё не вытянул полностью.
Во-первых захардкоденные шорткаты были вынесены в конфиг (впрочем, оно и мне самому пригодилось бы). Во-вторых конфиг был обильно прокомментирован, ибо туда вскоре выползли всевозможные твики. И в-третьих - нужен был хотя бы намёк на графический интерфейс. Решено было сделать появляющийся при наведении тулбар, с кнопками в лучших традициях programmer art.
Внезапно! нашлось применение, как казалось тогда, бесполезной фигне по имени CGUI. Переквалификация консольного гуя в огльный оказалась на удивление несложной операцией: переписано было меньше 90% кода.. Шучу :D, проценты я не прикидывал, но большая часть базового кода осталась нетронутой. По ходу дела я даже сделал попытку отделить рендеринг и ввод от всей остальной логики гуя, но вылилось это в ужасающую мешанину, в коей по самые помидоры утоп код, собственно, интерфейса Glance. >_< Зато cgui, который я теперь даже не знаю как называть, прошёл обкатку и закалку в боевых условиях, что однозначно пошло ему на пользу. :)
А теперь, собственно, о том, что вас - юзеров - в сабже может вообще привлечь. Пиарщик из меня как из пастилы наковальня, но я попробую. :)
- Glance не нужно устанавливать, регистрировать итд, итп.. Вынул из архива - и запустил из любого удобного места.
- Glance ничего не пишет на диск, в реестр и вообще куда бы то ни было, поэтому должен работать даже при жёстко ограниченных пользовательских правах. Соответственно и не требует никаких чисток после использования - удалил папку, и программы в системе как не бывало.
- Glance весит приблизительно в стопицот раз меньше монстров вроде acdsee.
- Glance, как упоминалось выше, быстр.
- Glance поддерживает форматы JPEG, PNG, TGA и GIF (aнимированные, wheee!).
- Glance имеет полностью кастомизируемые шорткаты.
- Glance, сцуко, бесплатный. :D
Не обошлось, конечно же, и без свистоперделок, напрочь сметающих с программы ярлык аскетичности. Как то:
- "Мышиные жесты" - возможность листать картинки, шмякаясь курсором в края экрана.
- Включабельная подсветка по краям изображения, призванная создавать эффект присутствия в комнате, одна стена которой и является изображением. Хотя на самом деле я просто хотел пощупать шейдеры в OpenGL. :Р
- "Логическая" сортировка файлов по имени - цифры, встречающиеся в именах, формируют числа, которые затем и сравниваются. Такой метод сравнения используется в виндовых эксплорерах начиная с XP.
В планах:
- Удобный просмотр "косоглазых" стереоизображений, конвертация цвето-кодированных в косоглазый формат и наоборот (налету).
- Просмотр изображений внутри архивов.
- Расширение интерфейса до более юзабельного вида. В частности: справка, настройки, возможность выбора метода фильтрации изображения.
- Поддержка формата BMP.
- Вероятно: поддержка контейнеров VTF и DDS с возможностью разглядывать кубмапы на сферах, чайниках и других прелестях.
- Поддержка HDRI.
Требования к системе простые: операционка Windows 2000 или выше (хотя конкретно на 2k тесты не проводились..) и видеокарта с поддержкой OpenGL 1.3.
Скачать? Скачать!
Обращаюсь ко всем скачавшим (к тем полутора человекам):
Это первая публичная версия (считайте бета), так что не ждите чудес стабильности и безглючности. Если что-то не так, там есть такой файлик, ридми зовётся. :)) И только после его прочтения можно идти на меня с несвежими помидорами. :) В остальном любая отдача только приветствуется. ("Ага, Маньяк, разбежался, щас на тебя прямо посыпятся отзывы со всех сторон, как же!" - "Ну так ведь Сибо умирает последней!")
Это первая публичная версия (считайте бета), так что не ждите чудес стабильности и безглючности. Если что-то не так, там есть такой файлик, ридми зовётся. :)) И только после его прочтения можно идти на меня с несвежими помидорами. :) В остальном любая отдача только приветствуется. ("Ага, Маньяк, разбежался, щас на тебя прямо посыпятся отзывы со всех сторон, как же!" - "Ну так ведь Сибо умирает последней!")
Ну Маньяк, ты маньяк! Молоток, забираю, пока бесплатно.
ОтветитьУдалитьХехех, шустро ты )
ОтветитьУдалитьСпасибо.
Ага, портфолио Флага! Кое-чего не видел ещё, впечатляет. :)
Ооо, ништяки ))
ОтветитьУдалитьДействительно шустро работает )
Понравился зум в область курсора. Полезная вещь.. А то скроллбарами пока нацелишься.. )
Есть пожелание добавить кнопку "открыть" в верхней панельке.. Хоткеи это конечно круто, но кнопка не помешала бы )
И еще хотелось бы, при нажатии на кнопку, или при движение мыши в низ, чтобы снизу по горизонтали выстраивались превьюшки изображений, которые присутствуют в каталоге, по типу такого:
http://img293.imageshack.us/img293/3058/47204555.jpg
Это удобная штука например для моделлера )) Когда есть много рефов, удобней перемещаться по превьюшкам, чем перелистывать )
И еще по ворчу не много ) Хотелось бы увидеть, если такое возможно, фотошоповский контейнер .PSD ))
В общем спасибо за прогу, будем пользоваться )
> Есть пожелание добавить кнопку "открыть" в верхней панельке..
ОтветитьУдалитьБудет)
> превьюшки изображений
Поступало уже такое предложение.. И раз их теперь два, видимо придётся сделать. :D Хотя быстроту загрузки этих превьюшек не обещаю..
Насчёт PSD - думаю, получится сделать, но не лучше, чем в максе: если psd-файл не содержит превью, то и отображать будет нечего. Потому что во-первых формат закрытый, и нет ни одного парсера, 100-процентно покрывающего все его фичи; а во-вторых все слои пришлось бы рендерить вручную, а эта задача по сложности тянет на десять таких программ)))
> спасибо за прогу, будем пользоваться
Пожалуйста) Рад, что кто-то реально будет ей пользоваться. :)
>Пожалуйста) Рад, что кто-то реально будет ей пользоваться. :)
ОтветитьУдалитьЯ уже пользуюсь :D Присоединяюсь к пожеланиям насчет превью и psd. И вот еще что, у меня почему-то tga отображаются флипнутыми по вертикали, а в режиме фулскрин подсветка работает не на всем экране, внизу остается полоска неразмытого изображения. Вообще, эффект очень понравился, можно его по дефалту поставить.
> у меня почему-то tga отображаются флипнутыми по вертикали
ОтветитьУдалитьЫгы, это даже упомянуто в ридми) Пока не знаю, как лечить, к сожалению, потому что переворачиваются некоторые тгахи, и закономерность я не выявил. о_О Скорее всего просто под чистую сменю код загрузки tga - это проще, чем в нём разбираться))
> в режиме фулскрин подсветка работает не на всем экране
Ыгы, об этом тоже знаю, но в ридми написать забыл) И тоже не удалось пока нащупать причину. =\
> можно его по дефалту поставить
Эффект довольно прожорлив до видяхи, поэтому изначально выключен. Но желающие могут у себя в конфиге выставить AmbientLight 1. :) Вернее, смогут в будущем, потому что Ведроид вчера обнаружил, что если так сделать, то при запуске вываливается ошибка, которой точно быть не должно (про неподдержку огл 2.0). :D Пофикшу.
О! Вот это тема, а то виндузятный просмотрщик достал уже, ACDSee тяжеловат, да и хоткеи там некошерно по дефолту стоят :). Нравится минималитичность, зум по сроллу в место где курсор, перелистывание жмяканием мышки и конечно же подсветка, love it! Поддреживаю идею с превьюшками, хочу поддержки vtf и dds. Будем юзать!
ОтветитьУдалить> Будем юзать!
ОтветитьУдалитьРад слышать) Енжой))
зы: Эвакуируюсь из Мск, и на комменты (если ещё будут) отвечу не раньше сентября. Ну и новых версий, соответственно, пока не будет. :)
Будешь допиливать просмотрщик? Потому что за время юзания выявил пару очень мне необходимых возможностей которых пока нету, ихотелось бы чтобы они были, а именно:
ОтветитьУдалить-Ну предыдущие пожелания это само собой =)
-Просмотр png
-Просмотр картинок в локальной сети. Почему то не открывает.
-Ну и не помешала бы хоть какая-то иконка экзешнику ;).
Допиливать буду, но ближайший минимум месяц хотелось посвятить broken arrow. А то что-то совсем я от него отвлёкся. =\ Так что рассчётное время возвращения к glance - ноябрь, а выход новой версии - декабрь.
ОтветитьУдалитьНо, конечно же, все эти планы как всегда пойдут под откос. :D Ладно, не будем о грустном.
Просмотр png есть. о_О Я мог не все нюансы предусмотреть, так что если у тебя какой-то пнг-файл отказывается открываться, было бы замечательно его себе заиметь, дабы отловить баг. :)
Иконка - да, будет. Думаю к следующему релизу изобразить что-нибудь)
Хмм.. локальная сеть.. Ха, а вот о сетевых путях-то я даже не подумал. Об относительных - подумал, но не учёл по лени (они щас тоже не поддерживаются), а про сетевые вообще напрочь забыл. В общем, фикс будет, спасибо за находку. :)
Блин, ну нравится мне Ambient Light вокруг картинок! Тащусь.
ОтветитьУдалитьРадует скорость работы.
Глюков пока что не нашел.
Спасибо, Маньяк.
Пожалста )
ОтветитьУдалитьпрежде всего скажу что много лет юзаю
ОтветитьУдалитьACDSee 2.44 32 classic от безысходности и
отсутствия подходящей альтернативы
(и потому что искать что то лень)
далее идет мое мнение
==========================
========= Плюсы! =========
==========================
+ скорость безусловно самое главное круто
+ Ambient Light ахуенет! хочу подефолту [x]
+ MMB - для таскания картинки это ахуенно
+ конфиг сразу в программе это адскиАхуенно
+ поддержка win окна "открыть" это хОрОшО
на win 7 64bit осталась xот-панель слева
http://bit.ly/cDhESs
+ можно установить для быстрого открытия
вьюером картинок в виндовоз по умолчанию
это радует (бывает иначе)
============================
========= Минусы?? =========
============================
- флипает вертикально TGA
поскольку ходовной формат например в
Unreal Engine 3 - это очень критично!
- при закрытии конфига ambient light дропается
подозреваю что из за возврата к дефолту
[второй раз] хочу подефолту [x]
- по дефолку LMB открывает следующуюю картинку
а RMB почему то не открывает предыдущую :]
зато вместо этого повторяет функцию MMB..
я что то не так понял?
- не нашел в описании конфига бинда мыши (?)
Right.Mouse.B (RMB) так и не смог забиндить..
- хотел забиндить ESC на закрытие
но тоже не получилось
- тулбар не всегда видно
можно подобрать иное решение
http://bit.ly/dCmoDI
- я не понял.. где кнопка "об авторе"
страна должна знать героя в инфо и лого
===========================
========= ХОЧУ :] =========
===========================
- ОЧЕНЬ хочу хот кей и кнопку тулбара
для размножения картинки в квадрат 3х3
для просмотра Tiled функции
http://bit.ly/9cnuCl
- чоху бинд 4-ой и 5-ой кнопки мыши
- хочу подефолту (или биндить)
пробел на "вернуть 1:1 скале"
- хочу убирать Smoof режим и
по возможности включать поверх сеточку
http://bit.ly/9BTdND
- хочу Scale info внутри всплыв. тулбара
http://bit.ly/b42edT
- хочу хот кей и кнопку тулбара для
отображения информации файла картинки
http://bit.ly/bT87Fr
- идеи по трумблинкам и функциям
этого режима опущу
и так жирно кажеся хD
- хочу следить обновлением программы
в любом месте любым способом
====== Post.Scriptum ======
===========================
- профинансировать?
- готов быть тестером по юзабилити
для этой и других программ
- могу подкидывать кучу идей
по эргономике и интерфейсу
поставил Glance вьюером по умолчанию и
буду очень долго пользовать
хранить и распространять
пока все..
icq - 333879808
прежде всего скажу что много лет юзаю
ОтветитьУдалитьACDSee 2.44 32 classic от безысходности и
отсутствия подходящей альтернативы
(и потому что искать что то лень)
далее идет мое мнение
==========================
========= Плюсы! =========
==========================
+ скорость безусловно самое главное круто
+ Ambient Light ахуенет! хочу подефолту [x]
+ MMB - для таскания картинки это ахуенно
+ конфиг сразу в программе это адскиАхуенно
+ поддержка win окна "открыть" это хОрОшО
на win 7 64bit осталась xот-панель слева
http://bit.ly/cDhESs
+ можно установить для быстрого открытия
вьюером картинок в виндовоз по умолчанию
это радует (бывает иначе)
============================
========= Минусы?? =========
============================
- флипает вертикально TGA
поскольку ходовной формат например в
Unreal Engine 3 - это очень критично!
- при закрытии конфига ambient light дропается
подозреваю что из за возврата к дефолту
[второй раз] хочу подефолту [x]
- по дефолку LMB открывает следующуюю картинку
а RMB почему то не открывает предыдущую :]
зато вместо этого повторяет функцию MMB..
я что то не так понял?
- не нашел в описании конфига бинда мыши (?)
Right.Mouse.B (RMB) так и не смог забиндить..
- хотел забиндить ESC на закрытие
но тоже не получилось
- тулбар не всегда видно
можно подобрать иное решение
http://bit.ly/dCmoDI
- я не понял.. где кнопка "об авторе"
страна должна знать героя в инфо и лого
===========================
ОтветитьУдалить========= ХОЧУ :] =========
===========================
- ОЧЕНЬ хочу хот кей и кнопку тулбара
для размножения картинки в квадрат 3х3
для просмотра Tiled функции
http://bit.ly/9cnuCl
- чоху бинд 4-ой и 5-ой кнопки мыши
- хочу подефолту (или биндить)
пробел на "вернуть 1:1 скале"
- хочу убирать Smoof режим и
по возможности включать поверх сеточку
http://bit.ly/9BTdND
- хочу Scale info внутри всплыв. тулбара
http://bit.ly/b42edT
- хочу хот кей и кнопку тулбара для
отображения информации файла картинки
http://bit.ly/bT87Fr
- идеи по трумблинкам и функциям
этого режима опущу
и так жирно кажеся хD
- хочу следить обновлением программы
в любом месте любым способом
====== Post.Scriptum ======
===========================
- профинансировать?
- готов быть тестером по юзабилити
для этой и других программ
- могу подкидывать кучу идей
по эргономике и интерфейсу
поставил Glance вьюером по умолчанию и
буду очень долго пользовать
хранить и распространять
пока все..
icq - 333879808
для полного изврата можно
ОтветитьУдалитьдобавить режим "сравнить"
например уже открыта картинка 1
нажимаем хот-кей\тулбар
появляется окно "открыть"
выбираем и открываем картинку 2
теперь на экране видны
две половинки двух картинок
хватаем мышкой вертикальный разделитель и
двигаем влево вправо для рассмотрения разницы
как тут http://bit.ly/9BWfZo
снова нажимаем хот-кей\тулбар "сравнить"
2-я картинка исчезает и остается первая
О__О
ОтветитьУдалить> флипает вертикально TGA
Думаю, к следующему разу исправлю.
> при закрытии конфига ambient light дропается
> подозреваю что из за возврата к дефолту
Ыгы.
> хочу подефолту [x]
Будет, будет)
> по дефолку LMB открывает следующуюю картинку
> а RMB почему то не открывает предыдущую :]
Кто-то опять не прочёл ридми. %) Левый щелчок перелистывает вперёд/назад в зависимости от половины окна, в которой был сделан) Согласен, не очень очевидно, но пока ничего лучше не выдумал..
В конце концов действительно надо как-то предусмотреть настройку функций мыши.. Ибо сейчас они захардкодены.
> хотел забиндить ESC на закрытие
> но тоже не получилось
ESCAPE надо биндить. :)
> тулбар не всегда видно
Да, идея с инверсией цвета была фейловатой.. Оставлю это как опцию, а по дефолту сделаю на фоне кнопок {не-|полу-}прозрачную панельку со скруглёнными уголками. :)
> я не понял.. где кнопка "об авторе"
Хммм, как-то не задумывался над этим) Наверное имеет смысл сделать, да.
> ОЧЕНЬ хочу хот кей и кнопку тулбара
> для размножения картинки в квадрат 3х3
Читаешь мои мысли. =)
> чоху бинд 4-ой и 5-ой кнопки мыши
Постараюсь, но не гарантирую.
> хочу подефолту (или биндить)
> пробел на "вернуть 1:1 скале"
Сейчас пробел захардкоден для таскания картинки с зажатой левой мышой, так что вынесу-ка я его в конфиг.. Тогда можно будет его освободить и забиндить на него любую команду.
Мысли вслух. :D
> хочу убирать Smoof режим и
> по возможности включать поверх сеточку
Первое уже точно будет (выбор метода фильтрации nearest).
Второе наверное тоже (если не будет сильно тормозить))), мелькала у меня такая мысля. Вкупе с возможностью видеть и копипастить цвет пикселя под курсором.
> хочу Scale info внутри всплыв. тулбара
> хочу хот кей и кнопку тулбара для
> отображения информации файла картинки
Stone тоже хочет. :) Будет.
Возможно даже exif и xmp воткну.
> хочу следить обновлением программы
> в любом месте любым способом
Это, к сожалению, упирается в необходимость иметь маломальский сервер с информацией о текущей версии, чтобы программа к нему обращалась и сравнивала эту самую версию со своей) Хотя.. может тот же dropbox запользовать? оО
Ещё думал об автообновлении, но пока не вижу необходимости - обновления слишком редкие)
> профинансировать?
Не отказался бы. :D Денежки мне нужны, но речь, как я понимаю, о символическом пожертвовании для подержания моего интереса к разработке? ) Или что-то более серьёзное?
> готов быть тестером по юзабилити
> могу подкидывать кучу идей
Буду обращаться. :)
> поставил Glance вьюером по умолчанию и
> буду очень долго пользовать
> хранить и распространять
^__^
> для полного изврата можно
> добавить режим "сравнить"
Уже запланировал несколько режимов просмотра, теперь вот будет на один запланированный режим больше))
===== Кто-то опять не прочёл ридми
ОтветитьУдалитьда нет же \ я прочел все что было
и функция толкания края экрана понравилась и кликать половинку экрана как в веб галлереях ОЧЕНЬ удобно
просто сказалась привычка от брузера "опера"
там функция назад\вперед чисто кнопками мыши и
главное хочется биндить кнопки мыши)
[у людей разные привычки]
вообще возможно бинда наверное самая великая
вплане удобства любой раскладки
===== ESCAPE надо биндить. :)
спасибо =D (промахнулся бывает х] )
===== {не-|полу-}прозрачную панельку
если да то можно сразу 0-100 в конфиг хD
===== Ещё думал об автообновлении..
не обязательно так круто \ просто хочется
заметить момент когда появится новая версия)
впринципе могу и за этим блогом следить
этого вполне достаточно
===== речь, как я понимаю, о симв. пожертвовании
конечно \ на пиво там с блэкджеком и шлюхами :]
программа хорошая \ в чем то перспективная
хочется прокаченной версии х]
(естественное такое житейское желание)
===== Буду обращаться. :)
в любое время \ в аську
при потребности через что то более специфичное
===== Glance вьюером по умолчанию ^__^
нарвался на то что иногда нужно
ковертировать кучку картинок в другой формат..
значит ася2.44 будет дополнительной чисто для этого)
===== Уже запланировал (много чего)
главное не перекачивать лишним)
а так же я один и тех кто надеется что
тот самый мод все таки выйдет =]
pS. удачи
Этот комментарий был удален автором.
ОтветитьУдалитьа можно отдельную команду центровки изображения а то
ОтветитьУдалитьпри zoom100 центром остается точка форусировки
(что очень удобно) но иногда хочется zoom100 + center
для житейских вещей
> просто сказалась привычка от брузера "опера"
ОтветитьУдалить> там функция назад\вперед чисто кнопками мыши и
> главное хочется биндить кнопки мыши)
Понятно) Ну я придумаю что-нибудь на этот счёт.
> можно сразу 0-100 в конфиг
"r g b a" 0-255. =)
> на пиво там с блэкджеком и шлюхами :]
:)))
Ок, ближе к следующей версии заведу себе кошелёчег)
Может ещё доброжелатели будут)
> нарвался на то что иногда нужно
> ковертировать кучку картинок в другой формат..
> значит ася2.44 будет дополнительной чисто для этого)
Кстати фотошоп можно тоже. Хотя сомневаюсь, что выйдет быстрее..
> главное не перекачивать лишним)
Постоянно держу это в голове, чтобы не страдала скорость и простота интерфейса. :)
Но свои собственные пожелания тоже учитывать надо, так что функционал как ни крути стремится раздуться) Его надо только изящно оформить.
> удачи
Спасибо!
> иногда хочется zoom100 + center
ОтветитьУдалитьХех, хотел сделать возможность биндить несколько команд на одну кнопку.. Видимо, это таки имеет смысл. =)
Хм.. А мне нравиццо)
ОтветитьУдалитьРазвивай програмулину, епта! Толковая штука..
где же ты *позывной* MANJAK
ОтветитьУдалитьсделай какое нибудь забавное заявление о программе :]
ну скажем компания ManJak industris переносит дальнейшую разработку на 2212 год..
или что то более оптимистичное
Да, надо бы. :)
ОтветитьУдалитьСейчас что-нибудь накатаем..