PDA

Просмотр полной версии : Как интерполировать градиент на треугольнике?


enepx
20.04.2007, 16:09
Грубо говоря, рисую треугольник с помощью beginGradientFill, moveTo, lineTo, и т.д.
Как сделать чтобы можно было задать цвет каждой вершины и флеш сам натянул градиент (интреполировал так сказать) как в openGL? Помогите пожалуйста! ;)
PS. Мне кажется тут линейно просто не пойдет. Может надо заюзать матрицы для градиентов? Я просто не совсем с ними разобрался, но то что я видел в примерах в хелпе ИМХО намного сложнее моей задачи :bye:
Помогите!

wvxvw
20.04.2007, 22:26
Матрица во флеше бывает только четырехугольная... А тут, от степени точности зависит. Можно создать 3 градиента и наложить друг на друга (просто, но за точность не поручусь), или пытаться сделать через bitmapData.setPixel(x, y, color);

Жень Шень
21.04.2007, 13:37
Привет!
Silin в своем блоге уже решил (http://silin.fatal.ru/misc/index.html) данную задачу. Правда для прямоугольника. Чуть изменил его код - в сторону треугольника. Надо только лучше подобрать коэффициенты для матрицы или все переписать по своему. Способ очень хорошо описан.

enepx
21.04.2007, 15:33
Спасибо!
Пока я читаю хотелось бы подробнее узнать о bitmapData.setPixel. Что это? Мне как раз нужна власть над пикселом (как в растре), а я думал такого нельзят тут! Круто!

Жень Шень
21.04.2007, 15:51
Посмотри у iNils-a (http://help.inils.ru/flash8/)

enepx
23.04.2007, 13:08
а что такое "задание градиента матрицей"? тут никак нельзя?
и еще... преподаватель мне посоветовал юзать градиент функции. может так пойдет?