Тени
Вот, народ, я думаю над тем как тени можно сделать(уже месяца 4, этак:4to: ). У меня есть несколько идей, но чтобы проверять каждую надо много времени, а его у меня много не бывает:) Сейчас я попобую рассказать об одной из них, просьба сказать можно так или нет, просто меня бесит, когда я думаю не в том направление, впустую:-) :wallbash:
ЗЫ Просьба не давать исходники, т.к. пока хочу сам попробывать;) Ну так вот: 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 треугольников. Для двигающихсмя вещей нужно делать каждый раз заново, а вот для деревьев, домов, и т.д. можно раз в минуту, если свет движется, но медленно, а если нет - то вообще не надо... Вроде все... надеюсь, объяснил понятно. Жду коментов;) |
Ответ: Тени
ужас то какой!!! а зачем тебе так?.. зачем такие извращения?..
|
Ответ: Тени
ну... ээ...
похоже чем то на shadowmap. тока надо будет записывать не 0 и 1, а расстояние от камеры до точки пика. и проводить ту же процедуру и для основного пасса и потом сравнивать значения. об фпс я вообще молу. хорошо если будет 10 в окне 120 на 80. |
Ответ: Тени
То что ты назвал называется рейтрейсингом. Аппаратно сиё дело не ускоряется, а пик в блитзе к тому же очень тормознутый. Так что... Можно попробовать только из академического интереса, практической пользы будет 0.
|
Ответ: Тени
Спасибо...
А какие есть еще варианты? |
Ответ: Тени
Для Террайноподобных вещей хорошо пойдёт: под объект подсунуть меш, повторяющий изгибы земли, покрасить объект в чёрный, отрендерить камерой, смотрящей на него сверху вниз на белом фоне, полученную текстуру наложить на тот мешь, что под ногами у перса, мешу дать флаг мультипли, а объект перекрасить обратно. Проверял - работает.
|
Ответ: Тени
Цитата:
|
Ответ: Тени
|
Ответ: Тени
Цитата:
Спасибо, узнал много нового :) |
Ответ: Тени
А ASadow уже не удовлетворяет?
|
Часовой пояс GMT +4, время: 14:51. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot