forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты C++ (http://forum.boolean.name/forumdisplay.php?f=56)
-   -   [TrueHorror] - разработка (http://forum.boolean.name/showthread.php?t=17293)

Samodelkin 12.09.2014 02:24

Ответ: [TrueHorror] - разработка
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 286456)
Вот первое попавшееся что читканул.

http://www.realistic3d.com/Documents/hdr.pdf

DX7? Это какого года презенташка?

http://http.download.nvidia.com/deve...eagues_HDR.pdf
http://www.uraldev.ru/articles/id/23/page/3#hdr
По возможности посмотри еще у Crytek что-нибудь - там всегда хорошие презентации есть, а также GPU Gems и на AMD ATI тоже есть статьи разные.

Кстати в двух словах HDR это когда диапазон яркости монитора 0-255 меньше чем диапазон яркости рендерящегося изображения и диапазон монитора как-бы плавает внутри большего диапазона отрендеренного изображения (это легко представить), таким образом подбирая наиболее хорошо сбалансированное по свету/цвету изображение (примерно также как ты в звуковом движке пытался большую амплитуду втиснуть в возможности звукового выхода).

Mr_F_ 12.09.2014 03:19

Ответ: [TrueHorror] - разработка
 
Цитата:

сасао( пока пылится на задворках ) - еще 1 A8R8G8B8
а чего не 1 канал?

Цитата:

FXAA - еще 1 A8R8G8B8
Глоу - будет еще одна.
а чего не реюз?

mr.DIMAS 12.09.2014 11:44

Ответ: [TrueHorror] - разработка
 
Цитата:

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

Samodelkin 13.09.2014 18:03

Ответ: [TrueHorror] - разработка
 
Если я не пользуюсь msvs, то где можно смотреть информацию, которая будет выводить при включении отладочного режима в dx control panel?

mr.DIMAS 13.09.2014 18:21

Ответ: [TrueHorror] - разработка
 
Debug View

http://technet.microsoft.com/en-us/s...rnals/bb896647

Но он на самом деле как-то коряво работает, ну например студия ловит сообщения раньше этой проги и она вообще какая-то слоупочная.

Samodelkin 13.09.2014 19:03

Ответ: [TrueHorror] - разработка
 
Да надо просто на дх11 переходить - там всё намного лучше, в том числе и отладка. А у меня тоже под дх9 много кода понаписано.

mr.DIMAS 13.09.2014 19:52

Ответ: [TrueHorror] - разработка
 
Все забываю спросить - ты тоже игру ваяешь какую-то? А то я может чё не доглядел.

Samodelkin 13.09.2014 19:57

Ответ: [TrueHorror] - разработка
 
Нет я делаю движок (очередной). Игру на нём делать пока рано.
Хотя кое что отдельно пытаюсь собирать, но играбельной демки еще нет.

Samodelkin 14.09.2014 18:46

Ответ: [TrueHorror] - разработка
 
Цитата:

Сообщение от Mr_F_ (Сообщение 280745)
жирно очень - в особенности для альбедо не нужно.
заценивай как пакуют гбуффер реалне пацаны: http://www.slideshare.net/TiagoAlexS...sis-3-gdc-2013

-----
в кратце:
positionMap не нужен - достаточно хранить глубину и потом в шейдере восстанавливать из неё позицию.
нормали жмутся в 2.5 8-битных канала.
на альбедо не нужно больше 8 бит - в крайенжине ещё и пакуют в 2 канала мутным способом (но это перебор уже имхо).
также тебе пригодятся reflectivity/glossiness.

у меня сейчас в рабочем проекте вот такой гбуфер:
RGBA8: normals, glossiness, reflectivity
RGBA8: albedo, IOR
R32F: depth
И R11G11B10 хдр текстура, в которую уже ведётся работа с гбуфером.
Из-за многопассовости (лайты складывать в РТ) дефер также может тормозить. Щас курю как круче сделать tiled deferred (ранее уже делал tiled forward с генерацией тайлов на цпу).

* Вот на 12 слайде, я правильно понимаю что слева - формула упаковывания, а справа распаковывания нормалей?
* А есть гарантия что нормали перед упаковкой будут нормализованы (там в формуле в знаменателе 1 - x предполагает что нормали нормализованы) или лучше вызывать нормализацию перед упаковыванием?
* И вот насчёт знака значения z, он нужен для того чтобы восстановить потерю знака x, y когда они отсекаются по [ 0, 1 ] во время записи в G-Buffer? Ведь если бы они записывались со знаком, то можно было бы восстановить z целиком из x, y.

Mr_F_ 14.09.2014 18:54

Ответ: [TrueHorror] - разработка
 
Цитата:

* Вот на 12 слайде, я правильно понимаю что слева - формула упаковывания, а справа распаковывания нормалей?
там такой же стереографик, как и здесь:
http://aras-p.info/texts/CompactNormalStorage.html

алсо: на самом деле не высшего качества паковка. в том же юнити даже белая сфера с директ лайтом даёт артифакты. когда всё затекстурено и сложная геометрия, не так очевидно.
но если нужно гуд качество, я б выбрал best-fit normals, их в крайзисе2 юзали.

Samodelkin 14.09.2014 18:59

Ответ: [TrueHorror] - разработка
 
mr.DIMAS, а у тебя как?

mr.DIMAS 14.09.2014 19:09

Ответ: [TrueHorror] - разработка
 
А я как обычно леплю как хочу.

RGBA8 диффуз, собственнаясветимость( тупо яркость 0..1 для амбиент пасса )
RGBA8 нормали
RGBA8 глубина

Поясню почему глубина в таком говне. Потому что на даче я сидел с ноутом в котором GMA 3150( только хдр текстуры( A2R10G10B10 ) и RGBA8 ) ну вот так вот. В первом проходе запаковываю глубину в 4 байта. Во вторых проходах распаковываю глубину из 4 байтов( код есть у... Борескова :-D )
С макросом USE_R32F_DEPTH можно перекомплить под флоат текстуру. Кароч все через жопу и целый 1 байт не используется.

Mr_F_ 14.09.2014 19:16

Ответ: [TrueHorror] - разработка
 
Цитата:

RGBA8 нормали
вот прям тупо normal*0.5+0.5 в RGB сейвишь? убого же будет, на спекуляре так особенно

Samodelkin 14.09.2014 19:21

Ответ: [TrueHorror] - разработка
 
Суть best-fit normals в том что они все возможные значения умещающиеся в объем куба распределили по площади сферы и записали в кубмэпу?
Если там качество в более чем в 50 раз лучше, зачем тогда в Crysis 3 обратно стереографик вернули?

mr.DIMAS 14.09.2014 19:23

Ответ: [TrueHorror] - разработка
 
Цитата:

вот прям тупо normal*0.5+0.5 в RGB сейвишь? убого же будет, на спекуляре так особенно
да так, я не замечал каких то багов на спекуляре. а че вообще не так? как ты знаешь я в графонии не спец, так что поясни


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot