Вело-изобретателиФорумОколоигровой флейм

HDR по мнению ATi и других (комментарии)

#0
14:51, 4 дек 2007

HDR по мнению ATi и других (комментарии)

Это сообщение сгенерировано автоматически.

#1
14:51, 4 дек 2007

HDR на статике оценить сложно.

Ты когда-нить снимал на камеру? Когда выходишь из тёмной комнаты на свет или из тоннеля, то происходит перенастройка диафрагмы. Когда светлые части занимают мало места на экране, они пересвечены, зато видно то, что в тени находится, когда светлые части занимают больше пространство, то они становятся лучше видны, а тёмные уходят в чёрное пятно. И обратно :) Когда ты сидишь перед, например, свечкой, то ты не видишь, ничего на дальней тёмной стене, однако отойдя от свечки — можешь разглядеть. Человека в тени ты можешь не заметить из светлой части, а подойдя ближе — увидишь, причём хорошо, даже цветную текстуру на одежде. Такое возможно только с широким диапазоном цвета для текстуры.

Первая картинка — просто glow. Дело в том, что для более достоверного эффекта HDR добавляют подобный bloom. Сам по себе он не является HDR, но считается, что наводит на мысли :)

#2
15:08, 4 дек 2007

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

#3
15:28, 4 дек 2007

Во всех примерах по HDR, что я видел (ATi, nVidia, humus, steps3d, codesampler), вся эта GL_FLOAT_ФИГНЯ не дает ничего такого о чем написал wat.
Это заговор и происки маркетологов )

#4
19:21, 4 дек 2007
Изображение

Вот сампл из Render Monkey.
Ничего особого конечно, но не то, что представлено в заметке.

А вообще HDR от ATI смотри в демках WhiteOut\ToyShop и других.

#5
20:48, 4 дек 2007

NULL_PTR
чайник можно отдалить и нацелить на солнце. Будет почти тоже что и в заметке. Да и то с мелкими глюками - солнце, например, неравномерно засвечивает чайник. Это все придирки конечно. Смысл не в этом был.

#6
20:54, 4 дек 2007

вот белая стена (255,255,255) у тебя будет светиться?

#7
22:58, 4 дек 2007

наксолько я знаю float нужен только для того чтобы точность вычисления не падала с каждым новым проходом (downsample, blurx, blury и т.п.) иначе будет серьезный алиазинг, особенно когда используется адаптация глаза/камеры... но дело не только в этом, допустим у нас сильно засвечена сцена в некотором участке, например там 5 источников света, и есть участок сцены где "тьма тьмущаяя", свет от этх 5ти источников будет далеко не  (255,255,255) или (1.0f,1.0f,1.0f), а по сравнению с освещенностью неосвещенного участка его освещенность составила-бы (100.0f,100.0f,100.0f) к прмеру... а после тонемаппинга будет заметен ощутимый контраст между этими двумя участками, в случае когда мы используем RGB8 текстуру контраст будет менее выражен и будут большие ошибки дискретизации... bloom и подобные эффекты здесь только добавляют реализма при работе с HDR диапазоном, и саму суть HDR не передают...

#8
23:04, 4 дек 2007

NULL_PTR
да, пример из рендер манки - чистый фейк и подстава, там вобще не HDR, весь процессинг там производится с RGBA8 текстурами, причем накой-то хрен включена автогенация мипмапов

#9
23:22, 4 дек 2007

>>причем накой-то хрен включена автогенация мипмапов
она там по умолчанию, парень спешил\не парился и не выключил.

#10
23:44, 4 дек 2007

а зачем врать-то тогда, могли-бы сразу сделать адаптацию... хотя думаю средствами RM это нереализуемо, надо сменять\чередовать рендертаргеты от кадра к кадру, а скриптов RM вроде не поддерживает...

#11
0:27, 5 дек 2007

Из примеров про HDR хорош наверно HDRLighting + HDRPipeline из DXSDK.

#12
3:21, 5 дек 2007

я HDR делал как-раз по HDRLighting, пример хороший, и переделать под OpenGL труда не составило

Прошло более 7 лет
#13
21:55, 10 фев 2015

Nikola Tesla
> а зачем врать-то тогда, могли-бы сразу сделать адаптацию... хотя думаю
> средствами RM это нереализуемо, надо сменять\чередовать рендертаргеты от кадра
> к кадру, а скриптов RM вроде не поддерживает...
В рендерманки возможно сделать динамическую адаптацию без использования всяких там скриптов и чередования рендер таргетов. Все что нужно сделать - это у текстуры в которую мы записываем новый уровень адаптированной яркости отключить очистку, а на следующем кадре в качетве текстуры LastFrameAdaptation использовать эту же самую текстуру. То есть получается такое вот колесо, мы записываем результат в  текстуру, рассчитанный из разницы между текстурой на данном кадре и этой же текстурой но в предыдущем кадре. При отключенном очищении результат с предыдущего кадра сохранится и все будет работать. Но будет один побочный эффект такого подхода - при нажатии и отпускании ЛКМ на рабочем окне рендера текстура таки будет очищаться нолем, что повлечет за собой эффект резкой вспышки. А в остальном - как в песне поется - "все хорошо все хорошо". В качестве пруфа могу скинуть проэктик, если интересно.

Вело-изобретателиФорумОколоигровой флейм

Тема в архиве.