kernel16
Участник
|
хай... подскажите алгоритм создания тени от точечного источника света, как на картинке:
<img src="http://s2.ipicture.ru/uploads/20111016/EG3M7FFi.jpg" border="0">
|
kernel16
Участник
|
|
sashasan
Шейдер ниндзюцу
|
|
| Поправил: sashasan 16 Окт 2011 14:57 #3
|
Насколько можно судить тень от кубика вовсе и не тень, а несколько полигонов и заранее подготовленная черная текстура в альфа канале которой значения для мягкого осветления краев, а точнее коэффициент прозрачности в черной текстуре. Шейдеры не нужны для такой тени, а нужно просто флаги Дх покрутить и все.
|
kernel16
Участник
|
|
| Поправил: kernel16 16 Окт 2011 15:07 #4
|
а на шейдерах? просто, если у нас будет неровный пол или ещё ящик, то наклеить полигоны будет очень тяжело....
|
kernel16
Участник
|
|
sashasan
Шейдер ниндзюцу
|
|
| Поправил: sashasan 16 Окт 2011 22:30 #6
|
Трудно по скриншоту определить насколько точная тень, но в принципе можно сделать модель комнаты или точнее модель стен и перемещать текстуру текстурными координатами (весьма напряжная в реализации) .
В данном примере скорей всего тень реализована черным источником света с черным бликом диаметр которого можно настроить.
|
kernel16
Участник
|
ну мне, скорее, интересен алгоритм работы с точечным светом....
|
sashasan
Шейдер ниндзюцу
|
|
| Поправил: sashasan 16 Окт 2011 22:45 #8
|
Shadow Map & Light В этом примере реализован блик белый на помещении.
В сриншоте:
Суть такая вокруг колонн летает источник света а с другой стороны следом за ним летит другой но черный с обратным затенением
|
kernel16
Участник
|
>>>Суть такая вокруг колонный летает источник света а здругой стороны следом за ним летит другой но черный с обратным затинением
а если будет один мощный источник света в небе, а на земле тысяча дохленьких объекта, под каждый ставить дарк лайт проблематично.... и с тёмной стороны колонны градиента на примере нет...
мда... в интернете по с++ или дэлфи материалов куча, а hlsl мало.... и те, что есть какие-то для начинающих... толковое разъяснение реализаций теней ни разу не видел...
|
sashasan
Шейдер ниндзюцу
|
|
| Поправил: sashasan 16 Окт 2011 22:55 #10
|
Опс извиняюсь здесь - Shadow Map & Light не было реализовано бликов от источника света а вот в этом были Реалистичная вода на шейдерах 3.0 на пример в последнем 7 примере на плитке
|
sashasan
Шейдер ниндзюцу
|
Ну вопрос был как в данном примере на скриншоте, а для кучи объектов лучше всего шадовмап
|
kernel16
Участник
|
шадовмап он, если не ошибаюсь, реализован на снятии в текстуру со стороны источника света картинки глубин... а источников может быть немало....
название алгоритма какое у теней от точечного света?
|
sashasan
Шейдер ниндзюцу
|
Ну кто спорит источников может и не мало быть зато под каждый объект не придется пихать текстуру с полигонами. А для точечного источника можно кубическую текстуру глубины снять так что все нормуль ляжет вовсе стороны тень без артефактов.
|
sashasan
Шейдер ниндзюцу
|
|
| Поправил: sashasan 16 Окт 2011 23:10 #14
|
Можно вообще пост обработка тени сделать прям с объектов на экране они конечно не совсем правильные, но зато реалистичности прибавляют. Как раз таки в кразисе сделали и назвали алгоритм SSAO.
|
kernel16
Участник
|
я извиняюсь, а на сайтах институтов для заочного обучения лекции нигде не лежат?=) не инвидишные мануэли же студентики читают...
|
sashasan
Шейдер ниндзюцу
|
Для точечного источника если он солнце не обязательно делать кубическую текстуру глубины достаточна как для направленного источника т. е. как в примере Shadow Map & Light
|
kernel16
Участник
|
меня интересует движковый подход.... есть поинт лайт, он должен работать как поинт лайт.... независимо от того, где он
|
sashasan
Шейдер ниндзюцу
|
К сожалению прям щас пример не могу выдать т. к. шейдеры давно не программировал.
Тот пример что Shadow Map & Light он сделан на основе примера шейдеров из рендер монки и весьма извращенный. В рендер монке богатый набор шейдеров по каждому алгоритму в этой программе можно и покрутить шейдер и выбрать какой более подходит к требуемой задачи
|
sashasan
Шейдер ниндзюцу
|
|
| Поправил: sashasan 16 Окт 2011 23:23 #19
|
меня интересует движковый подход.... есть поинт лайт, он должен работать как поинт лайт.... независимо от того, где он
Не бывает алгоритмов без недостатков приходится всегда идти на компромиссы и для каждого конкретного случая в объекте может меняться алгоритм реализации.
|
sashasan
Шейдер ниндзюцу
|
Либо это будет не реалтайм ведь программист пытается реализовать подобие настоящего алгоритма. (а настоящий можно реализовывать, только если он известен и если есть достаточные вычислительные мощности :) )
|