Тема: Тени
Показать сообщение отдельно
Старый 16.02.2009, 13:21   #1
Yalenz
Нуждающийся
 
Аватар для Yalenz
 
Регистрация: 14.08.2008
Адрес: Москва, Раша Федераша
Сообщений: 94
Написано 15 полезных сообщений
(для 18 пользователей)
Вопрос Тени

Вот, народ, я думаю над тем как тени можно сделать(уже месяца 4, этак ). У меня есть несколько идей, но чтобы проверять каждую надо много времени, а его у меня много не бывает Сейчас я попобую рассказать об одной из них, просьба сказать можно так или нет, просто меня бесит, когда я думаю не в том направление, впустую

ЗЫ Просьба не давать исходники, т.к. пока хочу сам попробывать

Ну так вот:
1) Есть объект(пусть сфера) и источник света.
2) Надо поставить камеру на источник света, повернуть на объект.
3) Приблизить или отодвинуть, если надо(проверка: типа сравнить размер объекта и расстояние до света), таким боком, чтобы объект не выходил за приделы видимости, но и не был маленьким.Типа того(1-объект, 0-пустота):

00000000
01111110
01111110
01111110
00000000

4) Пикаем в каждый пиксель или в каждый 10ый(взависимости от нужного качества), записываем в память(в массив) ноликами и единицами, для сферы графически это будет выглядеть где -то так:


0000000000
0000110000
0001111000
0011111100
0111111110
0111111110
0011111100
0001111000
0000110000
0000000000

5) Рисуем текстуру по этому массиву, кладем ее на плоский меш 5*5, меш поворачиваем от света к объекту вот так(1-объект, 2-меш, 3-свет):

2 11111
2 11111 3
2 11111 33
2 11111 3
2 11111


6) Теперь мы "кидаем" меш, т.е. опускаем его на землю с коллизиями, и он ляжет ихмо реалстично, потому что он из 50 треугольников.

Для двигающихсмя вещей нужно делать каждый раз заново, а вот для деревьев, домов, и т.д. можно раз в минуту, если свет движется, но медленно, а если нет - то вообще не надо...


Вроде все... надеюсь, объяснил понятно. Жду коментов
(Offline)
 
Ответить с цитированием