Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Проекты > Проекты C++

Ответ
 
Опции темы
Старый 09.09.2014, 01:00   #346
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: [TrueHorror] - разработка

переписал на d3d9 - там точно также =)
там стейты надо менять
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

ты точно уверен что там w записывается не как-нибудь
нет, такого быть не может

я вообще A16B16G16R16F использую, на неё распространяется гамма коррекция?
вроде нет. значит что-то ещё не так делаешь.
пишешь в ту же текстуру, из которой читаешь, может?
какие именно различия наблюдаются в R/A?
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Старый 09.09.2014, 02:08   #347
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: [TrueHorror] - разработка

Сообщение от Samodelkin Посмотреть сообщение
upd:
всё я разобрался - надо было фон в белый цвет очищать просто
Решил ssao повторить и там в рендер таргете по умолчанию альфа в белый цвет очищалась, а rgb в черный. Когда в следующем проходе я брал rgb значения чёрный цвет по краям объекта считался за препятствие, а если брал альфу то там белый цвет как и положено считался бесконечно далеким.
Кстати в общем и без нормалей получается неплохой ssao, только нужно еще размывать его немного - там алиасинг сильный, завтра доделаю.
Я еще в RenderMonkey не могу MRT найти как сделать - приходится лишний проход делать, и сложно оценить производительность. Нужно потом уже на d3d еще раз собрать.
(Offline)
 
Ответить с цитированием
Старый 09.09.2014, 02:36   #348
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: [TrueHorror] - разработка

а, это ж: блендинг выключай и ZEnable = false
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Старый 09.09.2014, 15:48   #349
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: [TrueHorror] - разработка

Кароч, ссао пока отложил и занялся более важными делами. Сделал нормальную настройку в меню. Все сохраняется в конфиг и без багов.

И да поправил чувствительность мыши - теперь норм настраивается.

2Mr_F_ как ты вытаскивал нормали из макса через максскрипт? а то в ручную вычисленные нормали кал - я уже понял .
Миниатюры
Нажмите на изображение для увеличения
Название: Mine 2014-09-09 14-46-51-71.png
Просмотров: 664
Размер:	558.9 Кб
ID:	20848  Нажмите на изображение для увеличения
Название: Mine 2014-09-09 14-46-53-67.png
Просмотров: 654
Размер:	551.1 Кб
ID:	20849  Нажмите на изображение для увеличения
Название: Mine 2014-09-09 14-46-57-31.png
Просмотров: 664
Размер:	564.2 Кб
ID:	20850  Нажмите на изображение для увеличения
Название: Mine 2014-09-09 14-46-58-88.png
Просмотров: 658
Размер:	646.5 Кб
ID:	20851  
__________________

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Samodelkin (09.09.2014)
Старый 09.09.2014, 16:47   #350
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: [TrueHorror] - разработка

2Mr_F_ как ты вытаскивал нормали из макса через максскрипт?
getFaceRNormals даёт правильные нормали
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Старый 09.09.2014, 17:29   #351
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: [TrueHorror] - разработка

эт я знаю, мне интересно конкретно как зная правильные нормали вершин фейса, прикрутить их к вершинам. Если smooth group разный у двух соседних фейсов( общие вершины есть ), то и нормаль в вершине будет для каждого фейса( где находится эта вершина ) другой. Как тут быть? Делать отдельный меш( чтобы заиметь вершины в одной и той же позиции, но с разными нормалями ) для этой ситуации как-то убого получается.
__________________

(Offline)
 
Ответить с цитированием
Старый 09.09.2014, 17:37   #352
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: [TrueHorror] - разработка

ну т.к. в максе раздельно живущие позиционные/нормалевские/текстурные вертексы, то я ничего лучше не придумал, чем собирать меш по фейсам, а там где все параметры совпадают, записывать как один.
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Старый 09.09.2014, 17:41   #353
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: [TrueHorror] - разработка

хм. я так же делаю. ладно добавлю в проверку вершин на равенство , проверку совпадения нормалей.
__________________

(Offline)
 
Ответить с цитированием
Старый 09.09.2014, 18:31   #354
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: [TrueHorror] - разработка

А размер SSAO должен быть относительный? Вот если поверхность находится на расстоянии 10 метров и затемнение распространяется на 1 метр от угла, то если подойти ближе то затемнение тоже изменяется в меньшую сторону? По идее в реале распространение света не зависит от положения камеры, с другой стороны, если камера приближается то будут появляться мелкие объекты детализации и их тоже нужно затенять, а таким большим ssao уже не затенить - всё будет монотонным.
(Offline)
 
Ответить с цитированием
Старый 09.09.2014, 18:38   #355
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: [TrueHorror] - разработка

нужно стараться чтобы радиус выгдядел ворлдспейсным и не зависел от экрана.
к сожалению, не очень реально сделать ссао с гигантским радиусом на пол экрана (огромные промахи кеша, недостаток семплов), так что будет фейково уменьшаться оно при приближении камеры вблизи.
есть такая тема как multi-resolution ssao, когда в нескольких разрешениях эффект рендерят разной частоты, помимо этого ещё слыхал о юзании мипов (автогенерированных с глубины) в зависимости от радиуса лучей в экране, вроде как последнее должно шустрее всего работать, я думаю попробовать.
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Samodelkin (09.09.2014)
Старый 09.09.2014, 20:49   #356
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: [TrueHorror] - разработка

Mr_F_ еще сопутствующий вопрос, вот раньше делал блюр, пинг-понг и гаусс горизонтальный/вертикальный, так вот в обоих случаях возникала пикселизация на ровных вертикальных/горизонтальных объектах, разрешение текстур для блюра практически не влияло на результат, но ставить выше 512 как-то медленно - нужно большое ядро для блюра. Билинейную фильтрацию ставил. Хотя вот на естественных объектах типа листвы, травы ничего так выглядело.
(Offline)
 
Ответить с цитированием
Старый 09.09.2014, 21:03   #357
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: [TrueHorror] - разработка

ну не знаю уж, если в лоуресе считал, значит в том и трабла, или семплы брал не со сдвигом в 1 пиксель, а ошибочно шире.
чтобы не было ступенчатости при лоурес блюре, можно попробовать шумом семплы брать, типа poisson disk, правда может из-за того же кеша и чтения оффсетов быть тормознее регулярного.
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Samodelkin (09.09.2014)
Старый 09.09.2014, 21:16   #358
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: [TrueHorror] - разработка

А вот например если есть две текстуры 128 и 256 и исходное изображение 1080p, первый проход делает 1080p->128 или 1080p->256 и в этот момент фильтрация может некорректно сгладить. Может попробовать так: 1080p->512->( 256<->128 )->256->512->1080p.
(Offline)
 
Ответить с цитированием
Старый 09.09.2014, 21:31   #359
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: [TrueHorror] - разработка

ну да, если ты из 1920 суёшь в 512 одной выборкой, много алиасинга вылезет, хотя на ровных поверхностях то ок должно быть.
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Старый 09.09.2014, 22:46   #360
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: [TrueHorror] - разработка

Теперь использую максовские нормали. В аттаче скриншоты для сравнения. Сцена осталась та же, разные только нормали.

Вот кусок кода экспорта нормалей.

        fn WriteVector3 vec3 = 
        (
            -- write vertex according to X - right, Y - up, Z - forward
            cacheWriteFloat file ( vec3.x)
            cacheWriteFloat file ( vec3.z)
            cacheWriteFloat file (-vec3.y)
        )

       ...

       -- write faces
        for f = 1 to mesh.numfaces do
        (
            local face = polyop_getFace mesh f
          
            WriteFace face
            
            if ( numTVerts != 0 ) then
                WriteFace ( polyop_getTVFace mesh f )
            else
                WriteFace face    
          
            if (textures.count > 1) then
                writeLong file ((polyop_getFaceMatID mesh f) - 1)
            else
                writeLong file 0    
                
            if( getFaceSmoothGroup mesh f != 0 ) then
            (
                local normals = meshop.getFaceRNormals mesh f
                
                WriteVector3 normals[1]
                WriteVector3 normals[2]
                WriteVector3 normals[3]
            )
            else
            (
                local faceNormal = getFaceNormal mesh f
                
                WriteVector3 faceNormal[1]
                WriteVector3 faceNormal[2]
                WriteVector3 faceNormal[3]
            )
        )
В некоторых местах стало гораздо лучше - пропала "бесконечная" глубина бампа( был как-то скрин с жестоким бампом - так вот его теперь нет ).

Но в меню какая-то наркомания. Мне больше нраицца первый вариант с рассчитанными нормалями, но оставлю максовские - там их изменить хотя бы можно.

P.S. А я смотрю вы тут без меня не скучаете
Миниатюры
Нажмите на изображение для увеличения
Название: Mine 2014-09-09 14-46-51-71.png
Просмотров: 683
Размер:	715.2 Кб
ID:	20852  Нажмите на изображение для увеличения
Название: Mine 2014-09-09 21-42-08-19.png
Просмотров: 699
Размер:	713.0 Кб
ID:	20853  
__________________

(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 16:20.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com