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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.08.2012, 11:25
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 11  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Если это не какая-то курсовая или еще какой демо-продукт, зачем уходить от полигональной модели? Принцип работы drawTriangles при правильной подготовке треугольников (без дублирования вертексов) исключает появление таких стыков.
__________________
Поймай яблоко 2!

Старый 03.08.2012, 14:15
Gantenbain вне форума Посмотреть профиль Отправить личное сообщение для Gantenbain Найти все сообщения от Gantenbain
  № 12  
Ответить с цитированием
Gantenbain

Регистрация: Jul 2011
Сообщений: 32
Цитата:
Сообщение от Zebestov Посмотреть сообщение
Если это не какая-то курсовая или еще какой демо-продукт, зачем
Это такой деликатный способ сказать, что выбранный мной подход к построению этого изображения неудачен, и надо все переделать по "классике" (как она Вам видится), или еще один известный способ сказать on the subject "не знаю"? Последнюю свою курсовую я сдал,- как я подозреваю,- задолго до Вашего рождения (или около того), и хотя это мало относится к делу, как и Ваше недоумение по поводу странности моих предпочтений, но, для построения последующий версий относительно моих надобностей, этот факт отмечу. Я программирую от случая к случаю, главным образом в свое удовольствие, случается, что для своих практических нужд, на всем, "что под руку подвернется", и с недавнего времени, и на ActionScript. Прямо коммерциализовать ничего из написанного не пытался. На будущее, для объяснения моих "странностей" (если окажутся не последними) смело используйте мюллеровское - "трудно понять логику непрофессионала" (к-ф "17 мгновений весны").
Мне не показалась уместной полигональная модель в данном случае (не настаиваю на своей правоте): поверхности все имеют простое аналитическое представление, и не имеют текстуры. Чтобы восстановить 3-ю координату у плоской и даже искаженной перспективным преобразованием точки, и построить нормаль, для моделирования освещенности, требуется вычислить только один корень. Я не решаю проблему 3D триангуляции и не экспортирую из 3DMax'a сетку для грани куба, а имею смехотворно малое количество реперных точек, на которых отрисовываю грань. Скорость рендеринга меня более чем устраивает. Проблема, однако же, есть, но я не уверен, что она стоит того, чтобы все переделать!. Эти раздражающие меня линии видны лишь под определенным углом, хотя этого достаточно, чтобы раздражать перфекциониста. Уверен, что побороть этот дефект как-то можно (может добавив в шейдер, отвечающий за освещенность, механизм дизеринга, или "размазав" края, или что-то еще...), хотелось бы избежать при этом собственных "шишек", воспользовавшись, к примеру, Вашим опытом - если Вы убедительно скажете, что в подобной ситуации, Вы не нашли другого выхода, как применить полигональную модель, то я тотчас же брошу начатое и пущусь по Вашим стопам.
Если Вам фигуры моей речи показались несколько ехидными , то это напрасно, я искренне благодарен за все сделанные здесь советы, и Вами и другими. Один из любимых мною персонажей Рендл Макмерфи: "Я хотя бы попытался...".

Старый 03.08.2012, 14:38
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 13  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Цитата:
Сообщение от Gantenbain Посмотреть сообщение
Последнюю свою курсовую я сдал,- как я подозреваю,- задолго до Вашего рождения (или около того)
Отрадно видеть, человека, который в свои ~60 лет увлекается такими задачами!

Цитата:
Сообщение от Gantenbain Посмотреть сообщение
поверхности ... не имеют текстуры
Я вижу текстурированную кость.
__________________
Поймай яблоко 2!

Старый 03.08.2012, 15:09
Gantenbain вне форума Посмотреть профиль Отправить личное сообщение для Gantenbain Найти все сообщения от Gantenbain
  № 14  
Ответить с цитированием
Gantenbain

Регистрация: Jul 2011
Сообщений: 32
Кость? Вы имеете ввиду игральную кость, или, - боюсь предположить,- Вы вкладываете некое иное значение в слово "кость" ? "Текстурой " я полагал изображение, перенесенное на отображаемую поверхность или сгенерированное программно на этой поверхности, напр. камень, дерево и т.п.. Изменить цвет пиксела в соответствии с моделью освещения - это тоже текстура?
P.S. Как говорил кот Матроскин: "Я еще и вышивать могу.."

Старый 03.08.2012, 15:37
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 15  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Ок. Начнем сначала.

1. Отрисовали одноцветные сегменты с помощью drawPath
2. Пробежались по всем сегментам и вызвали для каждого соотв. шейдер, чтобы "нарисовать" свет

На этапе 1 все отл., на этапе 2 появились швы.

Вопрос: stage.quality = StageQuality.LOW делается перед первым этапом? Или между первым и вторым после того, как первый этап уже отрисован в BitmapData?
__________________
Поймай яблоко 2!

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

Регистрация: Jul 2011
Сообщений: 32
1. Отрисовали один одноцветный сегмент с помощью drawPath
2. Присвоили ему фильтр (соотв. шейдер, чтобы "нарисовать" свет)
3. Для "холста", в котором размещены (будут отрисованы) все сегменты, делаем stage.quality = StageQuality.LOW
4. "Рисуем" (.draw)
5. Возвращаем качество

Я могу передать в шейдер битмапдату рисунка, и внутри шейдера присвоить цвет сегмента пикселу с "неполной" альфой (в этом случае LOW не требуется, но антиалиасинг сохраняется, что кстати). Однако, "тень" полоса все равно заметна. Разница визуально трудноуловима.

Добавлено через 44 часа 24 минуты
Кстати, обращение к свойству stage объекта ведет к перерисовке всей сцены. т.е. без особой надобности лишний раз лучше не беспокоить.

Старый 11.08.2012, 11:32
Gantenbain вне форума Посмотреть профиль Отправить личное сообщение для Gantenbain Найти все сообщения от Gantenbain
  № 17  
Ответить с цитированием
Gantenbain

Регистрация: Jul 2011
Сообщений: 32
Все расстояния привязываем к topLeft основной BitmapData, В которой производим конечную отрисовку, т.е. пространственная координата любой точки расчитывается таким образом:
например х: float(основная BitmapData).topLeft.x + (int(обрабатываемая вставка).topLeft.x - int(основная BitmapData).topLeft.x + i-положение пиксела в обрабатываемой вставке). В случае моего расчета, когда я восстанавливал координату z по плоским ху, эти малости оказались существенными.

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

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

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


 


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


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