![]() |
Ответ: [TrueHorror] - разработка
А как сделать, чтобы лучи света видно было? Ну типа в конусе спота чтобы как-бы была подсвеченная пыль, или в сфере поинта то же? Или это уже только системой частиц?
|
Ответ: [TrueHorror] - разработка
Спрайты?
Спрайты с анимацией пыли и маской. |
Ответ: [TrueHorror] - разработка
Та нет, мне нужно объемное распределение подсвеченой пылищи. Все таки походу системой частиц ваять придется.
|
Ответ: [TrueHorror] - разработка
Спрайты с анимацией пыли и картой освещения? Которые обрезаются по маске из освещения.
Разве идея плоха? Мне кажется частицы здесь совсем необязательны. Видишь звёзды внизу между планет, они сделаны спрайтами: В движение хорошо смотрится. |
Ответ: [TrueHorror] - разработка
конусы спотов в сорс играх делали 1 билбордом с видом сбоку (крутящимся только вокруг одной оси) и одним с видом спереди, в L4D сделали покруче: многослойный фрустум из квада аля спереди + полностью боковой. но это +овердро.
ещё можно отрендерить в отдельную текстуру глубину конуса и в ещё одну - глубину флипанутого конуса, а потом в постэффекте на основе расстояния между этими двумя глубинами сделать эффект аля объёмный туман + мягко пересечь его с геометрией сцены, юзая её глубину. вообще вариантов куча. |
Ответ: [TrueHorror] - разработка
Цитата:
Цитата:
|
Ответ: [TrueHorror] - разработка
с частицами тоже вариант, но может тормозно выйти из-за овердро, если я правильно понял идею (понаставить кучу частиц и на каждой вычислять свет спота?)
|
Ответ: [TrueHorror] - разработка
будет ли прирост производительности если все шейдерные константы замапить напрямую в регистры и потом устанавливать их через вызовы setvertexshaderconstant/setpixelshaderconstant? и как быть например с таким:
Код:
float4x4 worldViewProjection; Код:
float4x4 worldViewProjection : register( c0 ); кароч расскажите че да как. |
Ответ: [TrueHorror] - разработка
и еще вопрос вдогонку: как мне отрисовывать фонарик перед камерой, так чтобы он не загораживался другими объектами - кароч поверх всех? вроде бы ответ прост: нарисуй все объекты, затри буфер глубины, и нарисуй фонарик. но нифига! буфер глубины у меня используется в дефереде для оптимизаций буфером трафарета. поэтому это не вариант. форвард рендер у меня в зачаточном состоянии - рисует только полупрозрачные объекты и без освещения. я уже перепробовал рисовать фонарик после всех с отключенной записью в буфер глубины, с отключенным буфером вообще. получается шлак - полигоны перемешиваются в кашу - один на другой накладываются. че делать?
в коде дума3 нашел интересный код Код:
/* update. перевел его на dx. и он работает, это классно. вот мой вариант: Код:
void Camera::EnterDepthHack( float depth ) |
Ответ: [TrueHorror] - разработка
взялся за тени. пока что делаю только для спота - ибо проще. что делаю:
1) создал текстуру шадоумапы - R32F 2) отрисовал туда глубину сцены из положения и направления спота с fov равным углу при вершине конуса спота. как дальше быть при выборке из шадоумапы при учете освещения? как спроецировать текстурные координаты? |
Ответ: [TrueHorror] - разработка
проецируешь так же, как с картинкой фонарика.
дальше сравниваешь глубину (Z полученный при проекции): ближе текстуры? на свету. дальше? в тени. нужно ещё маленький оффсет прибавлять туда-сюда перед сравнением, а то точность не идеальна. |
Ответ: [TrueHorror] - разработка
чет фигня получается если проецировать как для картинки фонарика, тень вращается вместе с камерой. че делать?
|
Ответ: [TrueHorror] - разработка
не понял как вращается.
короче рендеришь тени с камеры, привязанной к персу (то бишь локальная ворлд матрица камеры должна домножаться на ворлд матрицу перса), и проецируешь матрицей той же самой камеры. |
Ответ: [TrueHorror] - разработка
wat? а где тогда используется матрица спота?
|
Ответ: [TrueHorror] - разработка
ну и пятно спота той же камерой проецируешь, что и тени, нафига тебе 2 разные матрицы, если это всё проецируется с одного лайта?
|
Часовой пояс GMT +4, время: 19:16. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot