Вопрос Создание градиента c++

how to доказать всем что не еблан
Пользователь
Статус
Оффлайн
Регистрация
14 Авг 2019
Сообщения
386
Реакции[?]
108
Поинты[?]
17K
Думаю что можно создать неограниченный массив и уже в нем указывать кол-во линий со смещением цвета , но не могу реализовать.
Знающие люди , помогите =)
(И не лезте люди по типу "иди учися , нафик тебе эта нада" т.п)
 
how to доказать всем что не еблан
Пользователь
Статус
Оффлайн
Регистрация
14 Авг 2019
Сообщения
386
Реакции[?]
108
Поинты[?]
17K
Олдфаг
Статус
Оффлайн
Регистрация
5 Июл 2017
Сообщения
2,108
Реакции[?]
1,189
Поинты[?]
0
Очень простая реализация (хотя, и не из самых красивых). Причем в гайде она еще и динамическая.
Реализация под imgui, но можно хоть на ISurface перевести, ничего сверхъестественного там нет.

Вообще, как вариант, для статик градиента из 2-ух цветов. Берем 2 цвета, в начале смотрим на разницу 2-ух RGB цветов, их чисел, и постепенно отнимаем/прибавляем от/к R, G и B, пока не дойдем до 2-го цвета, всё это в цикле, и сразу же рендерим линию/прямоугольник (это в гайде есть).

К примеру, у нас градиент (255, 0, 0) и (0, 255, 0) и X размер объекта 122.
Находим разницу у R, G и B, вычисляем силу смещения цвета относительно X размера для R, G и B (для R разница 255 (было 255, стало 0), X = 122, значит 255 / 122 ~= 2, получаем "силу" смещения за 1 тик). И в цикле, со 122 тиками, просто постепенно смещаем и сразу рендерим, каждый раз линия/прямоугольник смещается просто вправо на 1 пиксель
 
Последнее редактирование:
Сверху Снизу