![]() |
Ответ: [TrueHorror] - разработка
Цитата:
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx Цитата:
Цитата:
пишешь в ту же текстуру, из которой читаешь, может? какие именно различия наблюдаются в R/A? |
Ответ: [TrueHorror] - разработка
Цитата:
Кстати в общем и без нормалей получается неплохой ssao, только нужно еще размывать его немного - там алиасинг сильный, завтра доделаю. Я еще в RenderMonkey не могу MRT найти как сделать - приходится лишний проход делать, и сложно оценить производительность. Нужно потом уже на d3d еще раз собрать. |
Ответ: [TrueHorror] - разработка
а, это ж: блендинг выключай и ZEnable = false
|
Ответ: [TrueHorror] - разработка
Вложений: 4
Кароч, ссао пока отложил и занялся более важными делами. Сделал нормальную настройку в меню. Все сохраняется в конфиг и без багов.
И да поправил чувствительность мыши - теперь норм настраивается. 2Mr_F_ как ты вытаскивал нормали из макса через максскрипт? а то в ручную вычисленные нормали кал - я уже понял :-D. |
Ответ: [TrueHorror] - разработка
Цитата:
|
Ответ: [TrueHorror] - разработка
эт я знаю, мне интересно конкретно как зная правильные нормали вершин фейса, прикрутить их к вершинам. Если smooth group разный у двух соседних фейсов( общие вершины есть ), то и нормаль в вершине будет для каждого фейса( где находится эта вершина ) другой. Как тут быть? Делать отдельный меш( чтобы заиметь вершины в одной и той же позиции, но с разными нормалями ) для этой ситуации как-то убого получается.
|
Ответ: [TrueHorror] - разработка
ну т.к. в максе раздельно живущие позиционные/нормалевские/текстурные вертексы, то я ничего лучше не придумал, чем собирать меш по фейсам, а там где все параметры совпадают, записывать как один.
|
Ответ: [TrueHorror] - разработка
хм. я так же делаю. ладно добавлю в проверку вершин на равенство , проверку совпадения нормалей.
|
Ответ: [TrueHorror] - разработка
А размер SSAO должен быть относительный? Вот если поверхность находится на расстоянии 10 метров и затемнение распространяется на 1 метр от угла, то если подойти ближе то затемнение тоже изменяется в меньшую сторону? По идее в реале распространение света не зависит от положения камеры, с другой стороны, если камера приближается то будут появляться мелкие объекты детализации и их тоже нужно затенять, а таким большим ssao уже не затенить - всё будет монотонным.
|
Ответ: [TrueHorror] - разработка
нужно стараться чтобы радиус выгдядел ворлдспейсным и не зависел от экрана.
к сожалению, не очень реально сделать ссао с гигантским радиусом на пол экрана (огромные промахи кеша, недостаток семплов), так что будет фейково уменьшаться оно при приближении камеры вблизи. есть такая тема как multi-resolution ssao, когда в нескольких разрешениях эффект рендерят разной частоты, помимо этого ещё слыхал о юзании мипов (автогенерированных с глубины) в зависимости от радиуса лучей в экране, вроде как последнее должно шустрее всего работать, я думаю попробовать. |
Ответ: [TrueHorror] - разработка
Mr_F_ еще сопутствующий вопрос, вот раньше делал блюр, пинг-понг и гаусс горизонтальный/вертикальный, так вот в обоих случаях возникала пикселизация на ровных вертикальных/горизонтальных объектах, разрешение текстур для блюра практически не влияло на результат, но ставить выше 512 как-то медленно - нужно большое ядро для блюра. Билинейную фильтрацию ставил. Хотя вот на естественных объектах типа листвы, травы ничего так выглядело.
|
Ответ: [TrueHorror] - разработка
ну не знаю уж, если в лоуресе считал, значит в том и трабла, или семплы брал не со сдвигом в 1 пиксель, а ошибочно шире.
чтобы не было ступенчатости при лоурес блюре, можно попробовать шумом семплы брать, типа poisson disk, правда может из-за того же кеша и чтения оффсетов быть тормознее регулярного. |
Ответ: [TrueHorror] - разработка
А вот например если есть две текстуры 128 и 256 и исходное изображение 1080p, первый проход делает 1080p->128 или 1080p->256 и в этот момент фильтрация может некорректно сгладить. Может попробовать так: 1080p->512->( 256<->128 )->256->512->1080p.
|
Ответ: [TrueHorror] - разработка
ну да, если ты из 1920 суёшь в 512 одной выборкой, много алиасинга вылезет, хотя на ровных поверхностях то ок должно быть.
|
Ответ: [TrueHorror] - разработка
Вложений: 2
Теперь использую максовские нормали. В аттаче скриншоты для сравнения. Сцена осталась та же, разные только нормали.
Вот кусок кода экспорта нормалей. Код:
fn WriteVector3 vec3 = Но в меню какая-то наркомания. Мне больше нраицца первый вариант с рассчитанными нормалями, но оставлю максовские - там их изменить хотя бы можно. P.S. А я смотрю вы тут без меня не скучаете :-D |
Часовой пояс GMT +4, время: 21:20. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot