2013

Про NVidia и OpenCL

А вот в спеках у анонсированной сегодня Geforce 740M (и всех прочих анонсированных сегодня мобильных GPU написано

OpenCL: 1.2

Обновил драйвера до текущих, нет GPU Caps (да и вообще все) говорят что у моей GTX480 все еще OpenCL 1.1

Кто знает, что у NVidia будет с OpenCL 1.2, когда, как, почему, зачем и на каких картах что?

Про Fuji X-Trans

Цитата (это про Coolpix A):
....Возможно она по ИСО будет проигрывать Фуджи с её матрицей...

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

Мои поздравления пиарщикам Fuji: несмотря на то, что картинка с их камеры дает артефакты на демозаике (и на сегодняшний день, как я понимаю, и ACR 7.4 и LR 4.4, в которых это полечено, все еще в бете), а обещанного подавления муара не случилось - широкие массы фотографов продолжают быть уверенными, что X-Trans - это такой прорыв и так далее.

Q: Qt MousePressEvent

Я пока не очень опытный Qt хакер, поэтому спрошу.

Вот есть QGraphicsView, у которого есть стандартная функциональность - можно по нажатию левой кнопки мыши скроллить это самое View (setDragMode(QGraphicsView::ScrollHandDrag)).

А теперь, допустим, я хочу делать то же самое не по левой кнопке, а еще по какой-то, скажем по Shift+правая кнопка.

Могу ли я сделать так:

class myView: public QGraphicsView {
  void mousePressEvent(QMouseEvent *e) {
      if(e->button() == Qt::RightButton && (e->modifiers() & Qt::ShiftModifier)) {
        QMouseEvent simulatedDrag(e->type(),e->pos(),e->globalPos(),Qt::LeftButton,
                                 Qt::LeftButton,Qt::NoModifier);
        QGraphicsView::mousePressEvent(&simulatedDrag);
        e->accept();
       }      
   }
};
(ну и аналогично с mouseReleaseEvent - проверить что отпустили нужную кнопку и фигануть симулированный эвент в базовый класс.

Вопрос: я что-то при этом сломаю?

Нет, я попробовал и вроде все работает, но вдруг я чего-то не заметил?

Т-платформы забанили?

Вот Эксперт пишет, дескать Т-платформы внесли в черный список "организаций и лиц, действующих вопреки национальной безопасности и внешнеполитическим интересам США": Русскому хайтеку указали на место

А кто знает, где подробностей почитать?

Кратко про EOS 6D

Купил вчера EOS 6D

Имею сказать (в сравнении, в первую очередь, с 5D Mark II)

Управление и ощущения

  • Легкая, компактная
  • Добавилось много приятных интерфейсных плюшек. В частности (на что обратил внимание):
    • Колесо выбора режима - с фиксатором, в сумке само проворачиваться не будет.
    • Выбор режима фото(live view)/видео - явный, кнопкой, в 5D2 мне башню сносило с их настройками в меню.
    • Вместо трех сдвоенных кнопок настроек (ISO/Drive и т.п.) - четыре одинарных, не надо мучительно вспоминать каким колесом что меняется. В результате, да, из быстрой настройки пропали ББ и вспышечная экспокоррекция (они доступны через кнопку Q и дальше в такой графической менюшке, как в самых младших камерах).
    • Встроенный уровень, но увы, только по одной оси (вращение по оси объектива), хотелось бы конечно авиагоризонт.
  • Мультиконтроллер относительно отдельного джойстика - сосет. Джойстик на 5D2 был, конечно, не подарок, но он был отдельным.
  • То, что показ "горизонт завален" (уровень в видоискателе) можно вывести только на кнопку DOF, отключив при этом DOF - сосет втройне. Просто свинство. DOF нужен, а уровень в видоискателе - был бы приятен.
  • GPS в комнате не схватил (в отличие от GPS/ГЛОНАСС в телефоне), дальше пока не изучал.
  • Возможностей настройки (какая кнопка - что делает) больше, но мне все едино мало.
  • HDR-щикам: брекетинг до 7 кадров с размахом до +-8EV.
  • Автофокус, по первым ощущениям, примерно такой же, как в 5D2.

Картинка

Снимал пока мало, даже обязательного изучения экспонометра пока не сделал.

Из того что вижу: даже на низких ISO заметно меньше шум. Скажем, темновой кадр на ISO200/1sec на 5D2 имел сигму 6.0, а на этой камере - 4.5. На высоких ISO разница еще больше. Каких-то плохостей в картинке пока не заметил (заметил странности в шумовой картинке, заметил несущественные странности в светах - но об этом отдельно и это - технодрочерство). ISO выше 3200-6400 мне без надобности (во всяком случае, так было на 5D2), ничего про высокие чувствительности "в сравнении" сказать пока не могу.

Вердикт по результам половинки дня, когда я ея крутил: сдается мне, что это 5D2 у меня станет запасной, а эта - основной. Опять же, если кто-то раздумывает купить себе 5D2 (пока они дешевые, но в продаже еще есть новые) - рекомендую и про 6D подумать (да, понимаю, бардак с CF/SD, бардак с L-brackets/QR-plate).

Update выяснил, что экранчик Eg-S, который под ручную оптику, совместим с 6D, но несовместим с 5D3 (если верить Кену Роквеллу). Тоже плюс для 6D.

P.S. Готовил ноутбук к поездке в магазин, ставил кэноновский софт (EOS Utility), нашел коробку от 5D2 в которой был диск, а кроме диска - накладная на пятак. Однако за 3 года 4 года - в 2 раза подешевело. Я 5D2 покупал за 105к (да, это были первые дорогие партии, потом где-то до 90 спустилось, да он "белый"), а этот - 52800.

P.P.S. Спасибо читателю (он знает) за самплы с 6D и за рекомендацию "серого" магазина - я знал и чего ожидать в смысле шумов и магазин мне понравился.

P.P.P.S. Четыре года жизни для 2-го пятака - однако срок. И ведь поживет еще, и как запасная камера поживет и на ч-б потом переделаю.

О синтаксическом сахаре

Есть у меня некий варез и в этом варезе настраивается клавиатурная раскладка (т.е. каждому действию можно сопоставить произвольный клавиатурный аккорд).

В потрохах редактора раскладок содержится примерно такой вот код (по смыслу):

// Инициализация
QKeySequence key; // Текущий shortcut
QPushButton *keybutton = new QPushButton(key.toStrin());
keybutton->setProperty("shortcut",key.toString());
..
// Обработка нажатой кнопки в слоте, который зовется по нажатию:
QObject *sender = QObject::sender();
QString shortcut = sender->property("shortcut").toString(); // Какую кнопку на самом деле нажали
И все работало прекрасно, пока я не решил сделать в этом же месте еще и обработку кнопок мыши, чтобы действие можно было бы назначить и на, к примеру, Ctrl-Shift-RightClick.

Меняем код немножко:

My_KeyOrMouse key; // My_KeyOrMouse - generic-контейнер для QKeySequence или мышиных событий
QPushButton *keybutton = new QPushButton(key.toString()); // Строковое представление есть
keybutton->setProperty("shortcut",key.toString());
..
// Обработка нажатой кнопки в слоте, который зовется по нажатию:
QObject *sender = QObject::sender();
QString shortcut = sender->property("shortcut").toString();
И тут начинаются чудеса: для кнопок все продолжает работать, а для мышиных кнопок - нет, sender->property(..).toString(); возвращает пустую строку.

Разгадка оказалась проста:

Q: Canon EOS 6D

Готовлюсь к лету, понял что ехать в Гоби без второй хорошей камеры как-то неверно. В следующий раз туда если и попаду, то непонятно когда.

Отсюда вопросы:

1. Про EOS 6D кто-нибудь из читателей этого бложика знает что-то плохое? Все обзоры, что прочитал - какие-то подозрительно благоприятные. Где засада?

Upd для этого пункта: скорость и точность работы АФ меня вообще не парят в этой камере.

2. Ходят какие-то невнятные слухи, что вот дескать есть версия без WiFi и GPS. WiFi мне в поле не нужен, а вот GPS-tagging конечно очень удобен (я умею потегать потом по гарминовскому треку и времени, но встроенное конечно лучше). Вот на dpreview пишут что 6D-(N) (Naked) ошибочно какой-то из магазинов поставлял в UK. Кто-нибудь эту naked-версию видел вживую?
Вот в отзывах на Яндекс-Маркете вообще пишут, что есть WG-версия, G-версия (только GPS) и N-версия. При этом дешевые варианты (к примеру, в Плеере, не к ночи будь помянут) - с WiFi/GPS.

3. Совершенно не понял про цены. Классические "белые продавцы" продают "от 70 килорублей". Но есть куча е-магазинов, где "от 51". Я бы понял, если "от 50" была бы версия без GPS, но вроде нет. Это "серое без гарантии"? Казалось бы, кэноновский пустой гарантийник тоже невелика проблема, если надо.... Или 70к - это "первая поставка", а "50к" - вторая? Кто разбирался?

P.S. А, да, реклама. В Гоби есть еще три места. ПОСТ ПРОПЛАЧЕН ВОДКОЙ!

Tilt-Shift на Micro-4/3

А вот пишут, что Mirex делает T/S-адаптер для Micro-4/3. Что радует, ибо Kipon-овский тильт-адаптер весьма так себе, а тут сдвиг и наклон в одном флаконе, шкала с градусами и вообще их адаптер для EOS - настоящий.

В прайс-листе производителя, впрочем, еще такого нет.

Теперь бы им (Мирексу) научиться еще за PayPal торговать и вообще будет щастье.

Win32 и C++ library

А верно ли я понимаю, что если у меня есть функция с таким вот прототипом (примерно)

Someclass::somefunc(std::string *);
То если я ея вынесу в DLL, а у себя в коде напишу
std::string foo("blabla");
Someclass bar;
bar(&foo);
То в какой-то момент это меня обязательно поимеет? По той простой причине, что Someclass.dll живет с одним C++-рантаймом, а мой код - с другим?

P.S. Если че, это не я так пишу. Adobe XMP SDK, мать его за ногу, а в нем

SXMPMeta::SerializeToBuffer(string* buffer, some_enum flags);
Как я посмотрел, все разумные люди ему делают С-шный враппер, но мне надо то два раза по 6 строчек и делать враппер противно.

Oly EPL3, часть 3: это НЕ ослабление светового потока

В комментариях ко вчерашнему посту про постепенную "деградацию" пересвеченных областей на камере Olympus E-PL3 многократно высказывалась идея, что дело в ослаблении светового потока:
  • за счет захода солнца
  • за счет "помутнения органики" (микролинз и/или светофильтров)

Если бы это было так, то в изучаемой области мы имели бы значения в пикселах, распределенные по гауссиане (пуассониане), потому что поток фотонов имеет естественные вариации, распределенные по Пуассону (фотонный шум).

Как следствие, в районе 41-го снимка в серии (4-й пример в предыдущем посте), который с отдельными крапинками насыщенных пикселов, мы увидели бы эти крапинки распределенными случайно.

Посмотрим, так ли это.

Вот 40-й снимок в серии, увеличение 1000%, обведены крапинки, объединившиеся в столбик:

41-й снимок:

Pages