Главная   Форумы   Ответить   Статистика   Регистрация   Поиск   Правила
Трехмерная графика / тень
 
Автор Сообщение
kernel16
Участник
     16 Окт 2011 14:11   #1
хай... подскажите алгоритм создания тени от точечного источника света, как на картинке:

<img src="http://s2.ipicture.ru/uploads/20111016/EG3M7FFi.jpg" border="0">
kernel16
Участник
     16 Окт 2011 14:13   #2
sashasan
Шейдер ниндзюцу
    Поправил: sashasan    16 Окт 2011 14:57   #3
Насколько можно судить тень от кубика вовсе и не тень, а несколько полигонов и заранее подготовленная черная текстура в альфа канале которой значения для мягкого осветления краев, а точнее коэффициент прозрачности в черной текстуре. Шейдеры не нужны для такой тени, а нужно просто флаги Дх покрутить и все.
kernel16
Участник
    Поправил: kernel16    16 Окт 2011 15:07   #4
а на шейдерах? просто, если у нас будет неровный пол или ещё ящик, то наклеить полигоны будет очень тяжело....
kernel16
Участник
     16 Окт 2011 15:17   #5
sashasan
Шейдер ниндзюцу
    Поправил: sashasan    16 Окт 2011 22:30   #6
Трудно по скриншоту определить насколько точная тень, но в принципе можно сделать модель комнаты или точнее модель стен и перемещать текстуру текстурными координатами (весьма напряжная в реализации) .

В данном примере скорей всего тень реализована черным источником света с черным бликом диаметр которого можно настроить.
kernel16
Участник
     16 Окт 2011 22:34   #7
ну мне, скорее, интересен алгоритм работы с точечным светом....
sashasan
Шейдер ниндзюцу
    Поправил: sashasan    16 Окт 2011 22:45   #8
Shadow Map & Light В этом примере реализован блик белый на помещении.
В сриншоте:
Суть такая вокруг колонн летает источник света а с другой стороны следом за ним летит другой но черный с обратным затенением
kernel16
Участник
     16 Окт 2011 22:54   #9
>>>Суть такая вокруг колонный летает источник света а здругой стороны следом за ним летит другой но черный с обратным затинением

а если будет один мощный источник света в небе, а на земле тысяча дохленьких объекта, под каждый ставить дарк лайт проблематично.... и с тёмной стороны колонны градиента на примере нет...

мда... в интернете по с++ или дэлфи материалов куча, а hlsl мало.... и те, что есть какие-то для начинающих... толковое разъяснение реализаций теней ни разу не видел...
sashasan
Шейдер ниндзюцу
    Поправил: sashasan    16 Окт 2011 22:55   #10
Опс извиняюсь здесь - Shadow Map & Light не было реализовано бликов от источника света а вот в этом были Реалистичная вода на шейдерах 3.0 на пример в последнем 7 примере на плитке
sashasan
Шейдер ниндзюцу
     16 Окт 2011 22:57   #11
Ну вопрос был как в данном примере на скриншоте, а для кучи объектов лучше всего шадовмап
kernel16
Участник
     16 Окт 2011 23:01   #12
шадовмап он, если не ошибаюсь, реализован на снятии в текстуру со стороны источника света картинки глубин... а источников может быть немало....

название алгоритма какое у теней от точечного света?
sashasan
Шейдер ниндзюцу
     16 Окт 2011 23:06   #13
Ну кто спорит источников может и не мало быть зато под каждый объект не придется пихать текстуру с полигонами. А для точечного источника можно кубическую текстуру глубины снять так что все нормуль ляжет вовсе стороны тень без артефактов.
sashasan
Шейдер ниндзюцу
    Поправил: sashasan    16 Окт 2011 23:10   #14
Можно вообще пост обработка тени сделать прям с объектов на экране они конечно не совсем правильные, но зато реалистичности прибавляют. Как раз таки в кразисе сделали и назвали алгоритм SSAO.
kernel16
Участник
     16 Окт 2011 23:11   #15
я извиняюсь, а на сайтах институтов для заочного обучения лекции нигде не лежат?=) не инвидишные мануэли же студентики читают...
sashasan
Шейдер ниндзюцу
     16 Окт 2011 23:15   #16
Для точечного источника если он солнце не обязательно делать кубическую текстуру глубины достаточна как для направленного источника т. е. как в примере Shadow Map & Light
kernel16
Участник
     16 Окт 2011 23:18   #17
меня интересует движковый подход.... есть поинт лайт, он должен работать как поинт лайт.... независимо от того, где он
sashasan
Шейдер ниндзюцу
     16 Окт 2011 23:22   #18
К сожалению прям щас пример не могу выдать т. к. шейдеры давно не программировал.
Тот пример что Shadow Map & Light он сделан на основе примера шейдеров из рендер монки и весьма извращенный. В рендер монке богатый набор шейдеров по каждому алгоритму в этой программе можно и покрутить шейдер и выбрать какой более подходит к требуемой задачи
sashasan
Шейдер ниндзюцу
    Поправил: sashasan    16 Окт 2011 23:23   #19
меня интересует движковый подход.... есть поинт лайт, он должен работать как поинт лайт.... независимо от того, где он
Не бывает алгоритмов без недостатков приходится всегда идти на компромиссы и для каждого конкретного случая в объекте может меняться алгоритм реализации.
sashasan
Шейдер ниндзюцу
     16 Окт 2011 23:27   #20
Либо это будет не реалтайм ведь программист пытается реализовать подобие настоящего алгоритма. (а настоящий можно реализовывать, только если он известен и если есть достаточные вычислительные мощности :) )
Отправлять сообщения могут только зарегистрированные пользователи. Введите свой ник и пароль, чтобы войти в форумы или зарегистрируйтесь.
 » Логин  » Пароль 
Ваш ответ
Жирный  Курсив  Подчеркнуто  Картинка  Ссылка  Форматированный текст 

 
Powered by miniBB™ © 2006
Design by keYMax