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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.06.2014, 15:50
FlasherEgor вне форума Посмотреть профиль Отправить личное сообщение для FlasherEgor Найти все сообщения от FlasherEgor
  № 1  
Ответить с цитированием
FlasherEgor

Регистрация: Nov 2013
Сообщений: 86
По умолчанию Несколько источников света.

Здравствуйте.

Последнее время решил разобраться с Stage3D и AGAL, потому что, хоть и можно использовать готовые движки, интересно знать, как что работает.
Нагуглил и прочитал несколько интересных статей и более менее разобрался с основами: зачем нужны матрицы, как шейдеры написать и так далее.

Читал еще вот эту статью и этот блог - так вот там вполне понятно описывается, как создать один источник света, и написать шейдеры с освещением по Ламберту или Фонгу - но только для одного источника.

А как сделать, чтобы их было несколько? Ведь в Alternativa и Away это можно.
Кроме того, они ведь еще и разные бывают, точечные или направленные.
Мне хотя бы теоретически объяснить или в какие-нибудь статьи тыкнуть.
Спасибо.

Добавлено через 2 часа 5 минут
Продолжаю гуглить на эту тему, нашел Deferred Shading, читаю.
Возможно ли и будет ли нормальным подходом использовать его в Stage3D?


Последний раз редактировалось FlasherEgor; 02.06.2014 в 11:36.
Старый 02.06.2014, 02:05
flastar вне форума Посмотреть профиль Отправить личное сообщение для flastar Посетить домашнюю страницу flastar Найти все сообщения от flastar
  № 2  
Ответить с цитированием
flastar
 
Аватар для flastar

Регистрация: May 2006
Адрес: Гродно
Сообщений: 249
Отправить сообщение для flastar с помощью ICQ Отправить сообщение для flastar с помощью Skype™
Привет! Сейчас пилим deferred lighting в Away3D. Deferred shading будет смысл делать в Flash Player 15. Они уберут обязательное требование очистки всех буферов при смене рендер таргетов, что мешает реализовать идеологию в один проход непрозрачной геометрии.

Про источники света.
Если forward renderer. Динамически формируешь шейдер который рассчитывает каждый источник света, все параметры источников света передаешь в шейдер через константы. Если количество строк в шейдере вылезло за пределы, формируешь второй и последующие дроуколы в которые пихаешь оставшиеся источники света и рисуешь их с ADD бленд модом. Стоит отметить что блендмоды очень дорогие особенно на мобильных устройствах. Подробнее можно почитать в Apple документации по использованию OpenGL ES 2.0.

Если deferred shading или deferred lighting подход. Первым проходом непрозрачной геометрии заполняешь world normal и world position(или depth) буферы. Потом создаешь аккумуляционный буфер для диффузного света и спекуляра(обычно используют монохромный и хранят в альфа канале диффузного). Рисуешь Lightbuffer, у тебя уже есть все данные чтобы рассчитать как влияет свет на объекты(позиция и нормаль). И далее уже по сценарию deferred shading или deferred lighting. Непрозрачная геометрия рисуется через forward подход с forward светом.
__________________
Realaxy Team My Blog, @UnknownFlasher, Facebook

Старый 02.06.2014, 11:37
FlasherEgor вне форума Посмотреть профиль Отправить личное сообщение для FlasherEgor Найти все сообщения от FlasherEgor
  № 3  
Ответить с цитированием
FlasherEgor

Регистрация: Nov 2013
Сообщений: 86
Большое спасибо! Буду дальше разбираться и экспериментировать, но теперь хотя бы знаю в общих чертах, что делать.

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

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

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


 


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


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