Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.11.2007, 17:45
LinuxVideo вне форума Посмотреть профиль Найти все сообщения от LinuxVideo
  № 1  
Ответить с цитированием
LinuxVideo
Banned
[+4 11.12.07]
[+4 18.03.08]

Регистрация: Oct 2007
Сообщений: 269
По умолчанию Нарисовать 4-угольник с градиентами от углов

Есть BitmapData, на нем надо нарисовать 4-угольник. У каждой вершины есть свой цвет, градиентами которых надо залить всю площадь фигуры. Пример во вложении. Только при его создании использовался обычный линейный градиент, поэтому цвета снизу несовсем такие как надо, а поскольку стороны у нас не параллельны, то линейный градиент тут непригоден.

Причем рисовать желательно быстро, таких полигонов несколько тысяч, выставленных рядом. Но это не главное - гланое точная заливка, надо как можно точнее передать цвет.
Изображения
 

Старый 29.11.2007, 17:53
__i вне форума Посмотреть профиль Отправить личное сообщение для __i Найти все сообщения от __i
  № 2  
Ответить с цитированием
__i
 
Аватар для __i

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
Линейный, в направлении биссектрисы угла с цветом угла, от с альфой [1,0], какого размера незнаю. х 4 угла (4 раза заливаем )
__________________
33 коровы

Старый 29.11.2007, 18:13
F_Flash вне форума Посмотреть профиль Отправить личное сообщение для F_Flash Найти все сообщения от F_Flash
  № 3  
Ответить с цитированием
F_Flash
 
Аватар для F_Flash

Регистрация: Feb 2002
Сообщений: 358
Отправить сообщение для F_Flash с помощью ICQ
Ты хочешь сделать градиент меш. быстрым он не будет в любом случае...
Но например как вриант решения.
1й шаг.Залить все полигоны цветами - средним арифметическим от цветов четырех вершин каждого полигона по RGB.
2й шаг 2 варианта.
ваиант а) Исолзовать радиальную заливку со мещенным фокал центром в каждой вершине. радиус и положение заливки должен быть равен радиусу окружности описанной вокруг многоугольника образованного из точек смежных к данной вершине а фокал центр сместить в положение вершины, б) нарисовать туже окружность без градинета с половинным радусом а потом после отрисовки всех окружностей на все изображдение применить блур фильтр.

Старый 30.11.2007, 00:04
LinuxVideo вне форума Посмотреть профиль Найти все сообщения от LinuxVideo
  № 4  
Ответить с цитированием
LinuxVideo
Banned
[+4 11.12.07]
[+4 18.03.08]

Регистрация: Oct 2007
Сообщений: 269
Цитата:
Линейный, в направлении биссектрисы угла с цветом угла, от с альфой [1,0], какого размера незнаю
В том то и проблема, что размер зависит от длинны стороны. Вот биссектриса угла и примерное направление градиента. Между ними должен быть прямой угол, а его как-то не видно...

Цитата:
Исолзовать радиальную заливку со мещенным фокал центром в каждой вершине
Нет, нужно как можно точнее передать значения пикселей, в дальнейшем это будет использована как битовая карта (вообще, битмап тут используется для визуального контроля и ускорения прорисовки), поэтому допуски "чуть краснее" делать бы не хотелось.
Изображения
 

Старый 30.11.2007, 00:52
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 5  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
всё там видно. просто площадь занимаемоя конкретным цветом разная. жотого само сабой сабой меньше всего, так как у него угол имеет самое большое отклоение от прямого. у угла в 90 градусов будет самая большая активность.

Старый 30.11.2007, 13:39
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 6  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
можно рисовать как это делают вот эти товарищи. Создается битмапдата 2x2 с параметром smooth, точки красятся цветами вершин, далее считаются нужные трансформации для битмапа и рисуется на экране через beginBitmapFill. В твоем случае, т.к. полигон четырехугольный, надо разбить его на 2 треугольника и для каждого посчитать свой matrix.
Делаешь 3д движок, да?


Последний раз редактировалось undefined; 30.11.2007 в 13:47.
Старый 30.11.2007, 16:14
aQuestion вне форума Посмотреть профиль Найти все сообщения от aQuestion
  № 7  
Ответить с цитированием
aQuestion
Banned
[+5 08.09.07]
[+4 17.01.08]
 
Аватар для aQuestion

Регистрация: Dec 2005
Сообщений: 556
можно попробовать залить дважды линейными градиентами цветов от 1 к 3 и от 2 к 4 с 50% прозрачности во второй раз.

Старый 30.11.2007, 16:21
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 8  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
тама полигонов несколько тысяч, флэш мувики с альфой очень медленно отрисовывает, у fp сердечный приступ случится =)
на самом деле тот вариант что я описал такое тоже не потянет, на моей тачке рисуется 100-120 полигонов при fps ~ 25, это так для прикидки.

Старый 30.11.2007, 16:23
aQuestion вне форума Посмотреть профиль Найти все сообщения от aQuestion
  № 9  
Ответить с цитированием
aQuestion
Banned
[+5 08.09.07]
[+4 17.01.08]
 
Аватар для aQuestion

Регистрация: Dec 2005
Сообщений: 556
Цитата:
Сообщение от LinuxVideo
В том то и проблема, что размер зависит от длинны стороны. Вот биссектриса угла и примерное направление градиента. Между ними должен быть прямой угол, а его как-то не видно...
почему, собственно, бисектрисса? берите высоту на диагональ, соединяющую две соседние вершины... но целых это 4 заливки (+ ещё 1 на средний средний цвет, чтобы не было дырки в центре)

Цитата:
Сообщение от undefined
тама полигонов несколько тысяч, флэш мувики с альфой очень медленно отрисовывает, у fp сердечный приступ случится =)
загоняйте альфу непосредственно в градиент.


Последний раз редактировалось etc; 30.11.2007 в 18:00.
Старый 30.11.2007, 16:25
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 10  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
а какая разница?

Создать новую тему Ответ Часовой пояс GMT +4, время: 04:32.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 04:32.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.