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

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

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

Регистрация: Mar 2004
Адрес: Kazan
Сообщений: 466
Отправить сообщение для neelts с помощью ICQ Отправить сообщение для neelts с помощью Skype™
mikleb, кстати, parallax mapping вроде и тени поддерживает, не пробовал делать?

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

Регистрация: Feb 2008
Сообщений: 111
2 neelts
Это смотря какой параллакс, тут совсем простенький - один вызов дисплесментмапфильтра. Я думал как реализовать параллакс с перекрываниями (со слоями), но понял что это не реально т.к. будет порядка 6*(число слоев) вызовов фильтров и наложений еще больше. Еще думал как сделать параллакс с более точной интерполяцией, но тут нужно делить цвет каждого пикселя на число которое соответсвует этому пикселю это тока через блендмод и палитру можно быстро сделать, но будут очень большие погрешности, поэтому решил не писать
Так что более крутой параллакс у меня не получается сделать, а тени и подавно

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

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

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

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Блин, а я не разобрался - слишком сложно... Вот объясни мне пожалуйста несколько вещей:
- что значит параллельное освещение (оно ж вроде и в обычной жизни параллельное - допустим от солнышка)???
- получается там не одна картинка, а несколько - с тенями и без; и перемещая мышь прозрачность одной картинки уменьшается, а другая наоборот усиливается (можно глянуть как выглядят исходные картинки)???
- почему там получается матрица, если освещенность выражается одним линейным уравнением, где по сути нет неизвестных???

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

Регистрация: Feb 2008
Сообщений: 111
2Волгоградец
>> что значит параллельное освещение (оно ж вроде и в обычной жизни параллельное - допустим от солнышка)???
Да так и есть, но например освещение от фонарика не параллельное там лучи выходят почти из одной точки. (параллельное значит, что направляющие вектора всех световых лучей одинаковые).

>> получается там не одна картинка, а несколько - с тенями и без; и перемещая мышь прозрачность одной картинки уменьшается, а другая наоборот >>усиливается (можно глянуть как выглядят исходные картинки)???
Первая картинка карта освещенности должна обновляться как тока юзер двинет мышкой (юзер двигает мышкой меняется направляющей вектор света ну и соответственно матрица). Вторая картинка это цветовая карта она не меняется - цвета пикселя в ней не учитывают освещения (то есть как если бы анти-направляющей вектор света = нормали в каждом пикселе). Потом просто рисуешь одну по верх другой с blendmode = BlendMode.MULTIPLY. (прозрачность нигде не используется)
пример карты нормалей: http://up.li.ru/?id=352348;1.PNG
пример карты высот: http://up.li.ru/files/2008/04/28/352350.PNG;2.PNG
пример цветовой карты: http://up.li.ru/files/2008/04/28/352353.PNG;3.PNG

>> почему там получается матрица, если освещенность выражается одним линейным уравнением, где по сути нет неизвестных???
Освещенность выражается 4-мя линейными уравнениями (т.к. вектор 4х мерный - RGBA) просто три из них одинаковые (за исключением переменной после знака = ) а одно выглядит как alpha = alpha


Последний раз редактировалось mikleb; 28.04.2008 в 15:21.
Старый 28.04.2008, 15:01
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 36  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Так... У тебя карта освещенности == карта нормалей, т.е. это одно и то же? (И почему тогда она меняется, если нормаль всегда одинаковая для данной поверхности - меняется только угол падения света...) Откуда ты ее взял, т.е. как узнал что такие цвета должны быть - от голубого до малинового?
С картой высот понятно - это черно-белая картинка с разной яркостью пикселов.
Цветовая карта тоже вродя понятно - это цвет объекта, как будно он одинаково освещен со всех сторон.
Что значит
Цитата:
Потом просто рисуешь одну по верх другой с blendmode = BlendMode.MULTIPLY.
И как ее рисовать, если она уже уже нарисована???

P.S.: меня, если честно, поразили твои эффекты - весь день читаю про bump mapping и parallax - но все не то... Не объясняет никто как сделать 2D bump mapping.

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

Регистрация: Feb 2008
Сообщений: 111
Карта освещенности != карте нормалей. Карта освещенности должна заново расчитываться при изменении вектора света.
Карту нормалей как и карту высот можно отрендерить в 3ds max например, а можно программно попиксельно расчитать по карте высот (но будет долго и будут небольшие погрешности, я пробовал так делать когда писал генератор ландшафта).
Рисуешь в смысле делаешь так : (карта освещенности ). draw ((цветовая карта), null, null, BlendMode.MULTIPLY);
И карта освещенности станет итоговой картинкой.

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

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

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

Регистрация: Feb 2008
Сообщений: 111
2Волгоградец
Карта освещенности - расчитывается 1 раз при изменении вектора света (это карта освещенности каждого пикселя)

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

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Я про это и говорю - если я передвигаю мышь, вектор света меняется, значит пересчитывается освещенность каждого пиксела. Следовательно для большой картинки расчет будет серьезный. Или я опять что-то не догнал?

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

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

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


 


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


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