С начала года я стал регулярно заниматься в FPV-симуляторе.
Как вы помните, летом я купил новый дрон DJI FPV, который сочетает в себе два режима пилотирования: классический режим с автоматикой, как было на всех моих предыдущих дронах, и продвинутый режим (он называется Acro Mode). О нюансах такого управления я расскажу отдельно, сейчас же нужно знать только то, что Acro Mode — сложный режим, который, с одной стороны, позволяет выполнять пролёты по хитрым траекториям, но с другой стороны требует немало навыка.
Человек, который никогда не летал на дронах, в обычном режиме без проблем с первого раза взлетит и скорее всего не убьёт дрон. В Acro почти наверняка убьёт. И для этого придумали симуляторы: к ним подключается настоящий пульт управления от дрона, но картинка вся на компьютере, поэтому можно тренироваться, не рискуя своим оборудованием.
Я стал заниматься по полчаса каждый день. Сначала шло очень тяжело. Не получалось вообще. Ловил сильную демотивацию от этого. Но поставил себе цель к наступлению тёплых дней обязательно освоить навык, и поэтому через страдания продолжал. И это сработало: на текущий момент в симуляторе я могу на начальном и начально-среднем уровне пролетать разные трассы, делать петли, влетать в узкие места, тоннели, оконные проёмы и так далее.
Я ещё ни разу не пробовал на настоящем дроне. Хотя авторы симулятора (Liftoff) в какой-то момент добавили туда именно DJI FPV и пообещали, что его виртуальные характеристики и поведение в воздухе будут максимально приближены к реальности. Питер погодой не радует, но в конце майских обещают хотя бы минимальное тепло и солнце — я поеду пробовать.
Кстати, в симуляторе есть карта в виде антенного комплекса "Дуга", который под Чернобылем. Карта называлась Russian Woodpecker, а после начала событий авторы симулятора (бельгийцы) переименовали её в просто Woodpecker.
#drone#hobby
💡HDR. В чем преимущества и как использовать на Android
Чем отличается HDR (High Dynamic Range) видео или фото от обычного или SDR (Standard Dynamic Range)? Дисплей устройства становится ярче и насыщеннее. В этом и есть задача HDR - обеспечить больше информации о цвете и яркости картинки, чтобы передать максимально близко к задумке автора контента.
SDR формат с которым мы живем довольно давно и он разрабатывался из расчет на устройства того времени, которые просто не могли передать параметры выше:
- максимальная яркость ~100 нит
- ограниченная цветовая палитра (sRGB)
- светлое не такое уж светлое, а тёмное — просто чёрная клякса
Современные дисплее смартфонов имеют пиковую яркость в несколько тысяч нит, большие возможности по показу разных цветов и скорость отображения, поэтому SDR просто не может раскрыть их возможностей. Для этого сделали HDR и он позволяет раскрыть максимум от экрана устройства.
В Android 14 начали активную поддержку HDR контента и его его совместимость с устройствами без поддержки формата, а именно добавили возможности:
✅ показывать HDR-видео в SurfaceView и MediaCodec
✅ накладывать поверх яркий, живой интерфейс — тоже в HDR
✅ узнать через API, поддерживает ли устройство HDR
✅ использовать ImageDecoder для работы с HDR-изображениями
✅ автоматически конвертировать HDR в SDR контент
Google внедрила поддержку UltraHDR - формат изображений c HDR. В нем могут снимать современные Android устройства и получать больше эмоций от ваших фото. Каждый раз наслаждаюсь этим на Pixel.
В блоге Android Developers вышла статья с подробностями как устроен цвет на цифровых устройствах и какие преимущества даёт HDR
#android#hdr
🤖Важность HDR в приложениях для передачи естественных цветов
Почитал интересную статью от Google про важность использования HDR. Самое важное - HRD не только про яркость, а именно про правильность передачи цветов в приложениях, особенно когда дело касается фото.
В Android 15 появилось API для контроля того смешивания HDR и SDR контента:
// Требуется, чтобы Windows учитывало желаемый HDR headroom.
// Обратите внимание, что эквивалентный API в SurfaceView НЕ требует
// COLOR_MODE_HDR для ограничения headroom,
// если на SurfaceView отображается HDR-контент.
window.colorMode = ActivityInfo.COLOR_MODE_HDR
// разные значения headroom могут
// использоваться в зависимости от
// желаемого headroom контента
// И особенностей UI-дизайна приложения.
window.desiredHdrHeadroom = when {
/* только SDR */ -> 0f
/* Смешанный, в основном SDR */ -> 1.5f
/* Смешанный, в основном HDR */ -> 3f
/* только HDR */ -> 5f
else -> 0f
}
#android#hdr#android15