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

Вернуться   Форум Flasher.ru > Обсуждение работ > Не сайты

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.04.2008, 23:12
MrPoma вне форума Посмотреть профиль Отправить личное сообщение для MrPoma Посетить домашнюю страницу MrPoma Найти все сообщения от MrPoma
  № 21  
Ответить с цитированием
MrPoma
 
Аватар для MrPoma

Регистрация: Jul 2006
Адрес: Питер
Сообщений: 2,083
Отправить сообщение для MrPoma с помощью Skype™
И мой

Старый 25.04.2008, 00:12
mikleb вне форума Посмотреть профиль Отправить личное сообщение для mikleb Найти все сообщения от mikleb
  № 22  
Ответить с цитированием
mikleb

Регистрация: Feb 2008
Сообщений: 111
Наверно глупый вопрос, может у вас обоих старый плеер стоит?

Старый 25.04.2008, 09:04
Ekzi вне форума Посмотреть профиль Отправить личное сообщение для Ekzi Посетить домашнюю страницу Ekzi Найти все сообщения от Ekzi
  № 23  
Ответить с цитированием
Ekzi
 
Аватар для Ekzi

Регистрация: Jan 2006
Адрес: ННовгород
Сообщений: 1,242
Отправить сообщение для Ekzi с помощью ICQ Отправить сообщение для Ekzi с помощью Skype™
У меня тоже танк не играет. FP9
__________________
Flash ещё не торт...

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

Регистрация: Feb 2008
Сообщений: 111
2Ekzi
В танке если ничего не делать должен быть белый экран, вы точно читали описание?

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

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Офигенно круто!!! Подскажи, где можно почитать, чтобы так же научиться делать. А то твой код не пойму без теории...

Старый 25.04.2008, 15:00
mikleb вне форума Посмотреть профиль Отправить личное сообщение для mikleb Найти все сообщения от mikleb
  № 26  
Ответить с цитированием
mikleb

Регистрация: Feb 2008
Сообщений: 111
2Волгоградец
Выше я написал как это делать. Вообще сперва это сделали альтернатива но они никому не хотят говорить как это делать. Потом я почитал в википедии про паралаксы и бамп мэппинги и сделал

Старый 25.04.2008, 15:04
mikleb вне форума Посмотреть профиль Отправить личное сообщение для mikleb Найти все сообщения от mikleb
  № 27  
Ответить с цитированием
mikleb

Регистрация: Feb 2008
Сообщений: 111
Могу рассказать и теорию если интересно

Старый 25.04.2008, 15:11
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 28  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Интересно ).

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

Регистрация: Feb 2008
Сообщений: 111
Бамп мэппинг:
(n, v) - скалярное произведение вектора n на v
Есть поверхность, и надо узнать степень освещенности каждой ее точки.

Степень освещенности точки поверхности = (n,v)
n - нормаль к поверхности в этой точке
v - анти-направляющий (т.е. направлен в противоположную сторону) вектор света который падает в эту точку.

Так как |n| =1 и |v|=1 и угол между n и v острый то 0 < (n,v)<=1 т.е степень освещенности это число от 0 до 1.

Теперь как хранить нормали:
Удобно хранить их в виде картинки, где цвет каждого пикселя будет кодировать нормаль к поверхности в данном пикселе (точке).
Каждая компонента вектора нормали это вещественное число от -1 до 1,
а каждая компонента вектора цвета (R,G,B) это целое число от 0 до 255.
Т.е нужно отрезок [-1,1] перевести в отрезок [0,255], это проще всего сделать линейным преобразованием. Поэтому если в данном пикселе нормаль к поверхности (x,y,z), то в карте нормалей цвет данного пикселя будет R=x*128+128, G=y*128+128, B=z*128+128. И обратно x=R/128-1, y=G/128-1, z=B/128-1.

Теперь нужно научится получать степень освещенности (обозначим ее S) произвольного пикселя по цвету данного пикселя в карте нормалей (обозначим его (R,G,B), а нормаль в этом пикселе (x,y,z)), и анти-направляющему вектору света в этом пикселе ( обозначим его (vx,vy,vz). S по определению = (n,v) = x*vx+y*vy+z*vz = (R/128-1)*vx+(G/128-1)*vy+(B/128-1)*vz = R*(vx/128)+G*(vy/128)+B*(vz/128)-(vx+vy+vz)

Карта освещенности это чернобелая картинка где цвет каждого пикселя = (R=S*256, G=S*256, B=S*256) (для каждого пикселя своё S)

Видно что вектор (S*256,S*256,S*256) ЛИНЕЙНО выражается через вектор цвета карты нормалей (R,G,B) , а именно:
(S*256,S*256,S*256) = ((2*vx) * R + (2*vy) * G + (2*vz) * B - 256*(vx+vy+vz), то же самое, то же самое)
Запишем матрицу этого линейного преобразования в массив a, только надо учти что alpha не меняется. Эта матрица будет одинаковой для каждого пикселя потому что у нас - параллельное освещение и (vx,vy,vz) постоянный для каждого пикселя. И применим к карте нормалей фильтр ColorMatrixFilter с этой матрицей который как раз и делает линейные преобразования над цветом каждого пикселя картинки.

Старый 25.04.2008, 19:12
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 30  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Спасибо. Попробую разобраться.

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

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

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


 


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


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