Фоновая подсветка на мониторе

Тема в разделе "Глядите, что я сделал", создана пользователем Витя, 7 апр 2013.

  1. Витя

    Витя Гик

    Делаю фоновую подсветку на компьютере себе из RGB ленты потипу как на телевизорах. Берется полоска с края экрана, делится по количеству ламп, считается средний цвет для каждой части и он посылается на лампу.

    Столкнулся с такими проблемами:
    1. Когда смотрю фильм цвета на ленте быстро мигают и получается вообше как-то не красиво и не приятно для глаз, даже больно. Никак не могу понять как на телевизоре сделано почему там такого эффекта нет и там все красиво типа, плавнее как то. Есть идеи как должен меняться цвет?
    2. Иногда получается так, что цвета смешиваются и вместо разных цветов получается просто белый. Например нужно чтобы загорелись зеленый, желтый, синий рядом, а в итоге получается какое-то белое пятно. Лампы на расстоянии примерно 15 см от стены, стена белая. С таким как-то можно бороться?
     
  2. Megakoteyka

    Megakoteyka Оракул Модератор

    1. Есть подозрение, что в телевизоре для расчета берутся не пиксели по краю экрана, а целые области пикселей. Попробуйте взять полоску пикселей пошире.
     
  3. Витя

    Витя Гик

    Ну это да я тоже области беру. Делю разрешение на количество ламп, а высоту в два раза больше. Прямоугольники такие получаются.
     
  4. Витя

    Витя Гик

    Тут проблема получается что вот горел синий цвет (небо например), а потом раз и зелень (деревья). И получается в один момент с синего цвет меняется на зеленый. А на телевизоре как то плавно это происходит но я вот как то не могу сообразить что же именно происходит :( плавно как то из синего получается зеленый. Что за идея такая.
     
  5. nailxx

    nailxx Официальный Нерд Администратор

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

    Иными словами, держите буфер истории из N последних замеров, производимых каждые M милисекунд. Текущий результат есть среднее арифметическое этого буфера. Каждый новый замер одно «прокисшее» значение вытесняется, а новое добавляется.

    В этом случае цвет эмби-лайт будет чуть-чуть отставать от номинального, но меняться будет плавно и предположительно комфортно для глаза.
     
    Витя нравится это.
  6. Витя

    Витя Гик

    О, большое спасибо, очень интересная идея! Попробую сделать.
     
  7. Tomasina

    Tomasina Сушитель лампочек Модератор

  8. Sand

    Sand Нерд

  9. Витя

    Витя Гик

    Сделал наконец-то нечто подобное. Правда без буферов. Чтобы быстрее считать, складываю текуший цвет с предыдущим в процентном соотношении, получилось все отлично и очень плавно. Получается что типа каждый предыдуший цвет постепенно забывается и исчезает. Спасибо за идею!

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

    Тут тоже самое. Да еще и просто берется средний цвет экрана до кучи.


    Правда так и осталась вторая проблема - смешивания цветов, мне так кажется что это наверное потому что у меня маленькие не особо мошные лампы (лента с smd 5050) и свет от них рассеянный? а нужны наверное которые умеют делать узконаправленный пучек света? Кто нибудь пробовал вот такие с линзами как они светят:
    [​IMG]