Программирование градиента внутри области?
|
|
Gargolev43 | Дата: Суббота, 17 Августа 2013, 16:03 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| не могу найти теорию по данной теме. Вообще как логически происходит? Рисуется прямоугольная область, попиксельно заполняется цветом и обрезается до целевой области или треугольниками рисуется сразу нужная область и у каждой вершины каждого треугольника задается цвет?
Сообщение отредактировал Gargolev43 - Суббота, 17 Августа 2013, 16:07 |
|
| |
Нохчи | Дата: Суббота, 17 Августа 2013, 16:13 | Сообщение # 2 |
заслуженный участник
Сейчас нет на сайте
| Цитата (Википедия) Градиент — вид заливки в компьютерной графике, в которой необходимо задать цвет и прозрачность определённых (ключевых) точек, а цвет и прозрачность остальных точек рассчитываются относительно них по определённым математическим алгоритмам. Таким образом можно получать плавные переходы из одного цвета в другой, задав координаты и цвет начальной и конечной точек. То есть второй вариант, если я правильно понял вопрос.
Многие вопросы по Windows отпадут, если посмотреть тут
Сообщение отредактировал Нохчи - Суббота, 17 Августа 2013, 16:32 |
|
| |
-Mikle- | Дата: Суббота, 17 Августа 2013, 17:07 | Сообщение # 3 |
Изобретатель велосипедов
Сейчас нет на сайте
| Градиент (линейный) - это простая зависимость цвета от координаты: Код k=k1*x+k2*y Col=Col1*k+Col2*(1-k) k1, k2 - произвольные коэффициенты, Col1, Col2 - опорные цвета, от которых строится градиент. То есть рисовать можно как угодно, можно вообще без полигонов - с помощью стенсила, к примеру, цвет вычисляем прямо в пиксельном шейдере.
|
|
| |
Gargolev43 | Дата: Понедельник, 19 Августа 2013, 13:52 | Сообщение # 4 |
частый гость
Сейчас нет на сайте
| Цитата (-Mikle-) k1, k2 - произвольные коэффициенты, можно с этого момента поподробнее? У меня нет этих коэффициентов, а градиент задается координатами двух точек. Причем эти точки могут быть как в области градиента, так и вне ее
|
|
| |
Dmi7ry | Дата: Понедельник, 19 Августа 2013, 13:56 | Сообщение # 5 |
почетный гость
Сейчас нет на сайте
| поподробнее
|
|
| |
Gargolev43 | Дата: Четверг, 22 Августа 2013, 13:54 | Сообщение # 6 |
частый гость
Сейчас нет на сайте
| Нашел как рисовать градиент в моем случае, но не могу разобраться в параметрах, задаваемых матрицами: https://github.com/micahpearlman/MonkVG/blob/master/projects/MonkVG-Test-iOS-OpenGL/Classes/MonkVGExample.mm afLinearGradientPoints - вектор, который задает градиент относительно заполняемой области? stops - матрица, в которой левый столбец обозначает "ключевое место" (для которого задается конкретное значение цвета), остальное - без понятия как задается и как изменить размер матрицы если цветов задано не 3, а больше или меньше
|
|
| |