| Программирование градиента внутри области? | 
|  | 
| 
| 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, а больше или меньше
 |  |  |  |  |