Форумы на Наша-Life
Home user CP  
Календарь событий Найти других пользователей Часто задаваемые Вопросы Поиск  
Автор
Тема
Создать Новую Тему    Ответить
Redner
(Senior Member)

Зарегистрирован: Oct 2008
Проживает: /
Написал: 174 сообщений

Оценка: 9 Votes 9 чел.

Сообщение #786508
Кстате, вопросик: "Использует ли Сорс синий канал (якобы карта высот) из NM? И если да, то как." так и нераскрыт.
Old Post 09-11-2008 17:29
Redner отсутствует Посмотреть данные 'Redner' Отправить Приватное Сообщение для 'Redner' Найти другие сообщения 'Redner' Добавить Redner в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
FishMan
(Real Project Leader)

Зарегистрирован: Jul 2003
Проживает: /
Написал: 9467 сообщений

Оценка: 143 Votes 143 чел.

Старожил Developer 
Сообщение #786511
Эт ща Климака с Маньяком расскажут...
Но имхо - полюбому юзает, вероятнее всего дело не столько в сурсе, сколько в пиксельных шейдерах... по идее во всех играх оно работает одинаково.
──╔═══╗| Displacement Sculpting
╔╗║╔══╝| --------------
╚╝║╚═╗─| Владимир Чернышёв (OBA Main Character) by Flagg
╔╗║╔═╝─| --------------
╚╝║╚══╗| Operation Broken Arrow: Seven Hour War
──╚═══╝| --------------


The "Earth" without "art" is just "eh"
Old Post 09-11-2008 17:38
FishMan отсутствует Посмотреть данные 'FishMan' Отправить Приватное Сообщение для 'FishMan' Найти другие сообщения 'FishMan' Добавить FishMan в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Redner
(Senior Member)

Зарегистрирован: Oct 2008
Проживает: /
Написал: 174 сообщений

Оценка: 9 Votes 9 чел.

Сообщение #786531
Странно как-то он юзается. Или может у меня руки кривые.
А по сабжу, ща ломаю голову как примерно таким же методом получать хаймапу.
Old Post 09-11-2008 19:15
Redner отсутствует Посмотреть данные 'Redner' Отправить Приватное Сообщение для 'Redner' Найти другие сообщения 'Redner' Добавить Redner в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
KLIMaka
(Президент Мира - Броука!)

Зарегистрирован: Dec 2007
Проживает: Украина/Запорожье
Написал: 456 сообщений

Оценка: 28 Votes 28 чел.

Сообщение #786553
Ну это, Фиш, ты сам должен был ответить, я ж обьяснял ))

Синий канал - никак не карта высот - это z координата. Цветовых канала три и пространство трехмерное, и логично векторы в пространстве тоже тремя коордиатами задаются. И это не сурс и не шейдеры, а правда жизни )) Т.е. три координаты - три канала. Ведь как двумя координатами можно задать вектор в пространстве? Правильно - никак!

А то что он "странно" юзается (практически полностью белый) сввязано с TBN базисом. В большинстве случаев нормаль в точке имеет небольшое отклонение от нормали к плоскости и стремится к {0,0,1} ( {r,g,b} {x,y,z}), и посему наблюдается такой завал в синий. Это еще раз доказывает то, что нормальный закон всему голова (Посмотрите в гистограммы и узрите гауссовское распеределение в действии )

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

Поправил KLIMaka 09-11-2008 в 20:49

Old Post 09-11-2008 20:38
KLIMaka отсутствует Посмотреть данные 'KLIMaka' Отправить Приватное Сообщение для 'KLIMaka' Найти другие сообщения 'KLIMaka' Добавить KLIMaka в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
manJak
(маппер-теоретик)

Зарегистрирован: Feb 2006
Проживает: Mother Russia/Moscow
Написал: 2953 сообщений

Оценка: 66 Votes 66 чел.

Developer Старожил 
Сообщение #786563
Можно восстанавливать третий компонент вектора при известной его длине, но, понятное дело, этим никто не занимается, ибо есть три канала)
Old Post 09-11-2008 21:31
manJak отсутствует Посмотреть данные 'manJak' Отправить Приватное Сообщение для 'manJak' Найти другие сообщения 'manJak' Добавить manJak в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Redner
(Senior Member)

Зарегистрирован: Oct 2008
Проживает: /
Написал: 174 сообщений

Оценка: 9 Votes 9 чел.

Сообщение #786573
>Ну а про снятие хаймапы, то нужно всего-ничего - источник линейнозатухающего света с паралельными лучами и с коэфициентом затухания, соизмеримым с размерами обьекта и точностью матрицы

Ага, это из разряда "сверхпроводники в быту, и на рыбалке".
А, вообще есть одна простая идейка. Щя экспериментирую.
Old Post 09-11-2008 22:22
Redner отсутствует Посмотреть данные 'Redner' Отправить Приватное Сообщение для 'Redner' Найти другие сообщения 'Redner' Добавить Redner в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
 
KLIMaka
(Президент Мира - Броука!)

Зарегистрирован: Dec 2007
Проживает: Украина/Запорожье
Написал: 456 сообщений

Оценка: 28 Votes 28 чел.

Сообщение #786614
Ну, собсно, тогда длинна и становится этой третьей компонентой. Длину же хранить гдето нужно, и к тому же из нее косвенно получать третью координату, что, естественно, скажется на точности. Посему как не верти, но для N-мерного пространства нужен N-компонентній вектор. Кста, в ATI нормалку уже в один байт жать научились, наконец. А то более бестолкового расходования памяти чем расходование ее под TBN нормалку придумать сложно.

"Сверхпроводники в быту и на рыбалке"
Хе-хе-хе! Плачу!!!
Old Post 10-11-2008 07:41
KLIMaka отсутствует Посмотреть данные 'KLIMaka' Отправить Приватное Сообщение для 'KLIMaka' Найти другие сообщения 'KLIMaka' Добавить KLIMaka в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Redner
(Senior Member)

Зарегистрирован: Oct 2008
Проживает: /
Написал: 174 сообщений

Оценка: 9 Votes 9 чел.

Сообщение #786675
>Кста, в ATI нормалку уже в один байт жать научились, наконец. А то более бестолкового расходования памяти чем расходование ее под TBN нормалку придумать сложно.

Это где вычитано? Чтот интерсно, но наверно это не для средних умов.
Old Post 10-11-2008 11:49
Redner отсутствует Посмотреть данные 'Redner' Отправить Приватное Сообщение для 'Redner' Найти другие сообщения 'Redner' Добавить Redner в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
manJak
(маппер-теоретик)

Зарегистрирован: Feb 2006
Проживает: Mother Russia/Moscow
Написал: 2953 сообщений

Оценка: 66 Votes 66 чел.

Developer Старожил 
Сообщение #786701
KLIMaka нудык, нормаль-то нормальная) То бишь, длина константна и равна единице. Вполне эффективный способ "сжатия") Не для шейдеров, конечно - восстановление ведь sqrt требует..

Что касается сжатия в один байт, что-то я слышал, но не углублялся) Вроде атишники как раз избавляются от третьей компоненты для хранения, а при загрузке раскукоживают. Хотя, мб я неправ.. Как там на самом деле?
Old Post 10-11-2008 12:50
manJak отсутствует Посмотреть данные 'manJak' Отправить Приватное Сообщение для 'manJak' Найти другие сообщения 'manJak' Добавить manJak в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
KLIMaka
(Президент Мира - Броука!)

Зарегистрирован: Dec 2007
Проживает: Украина/Запорожье
Написал: 456 сообщений

Оценка: 28 Votes 28 чел.

Сообщение #786955
Ехе-хе... Она близка к нормальной, но не нормальная... Отчего ж после чтения из нормалмапы вектор еще нормализуют? И если длинну нормали за единицу принять, то такие погрешности полезут, что их невооруженным глазом заметить можно будет... Ибо 16 бит - это слишком мало. Ну это при стандартном подходе, а вот что предлагает ATI
http://en.wikipedia.org/wiki/3Dc
Old Post 11-11-2008 08:16
KLIMaka отсутствует Посмотреть данные 'KLIMaka' Отправить Приватное Сообщение для 'KLIMaka' Найти другие сообщения 'KLIMaka' Добавить KLIMaka в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Redner
(Senior Member)

Зарегистрирован: Oct 2008
Проживает: /
Написал: 174 сообщений

Оценка: 9 Votes 9 чел.

Сообщение #786984
KLIMaka
Обьсни пожалуйста хотя бы примерно, на пальцах, как работает этот алгоритм. А то ничего не понятно... и жуть интересно как вроде бы поблочное сжатие в один байт сжимает.

З.Ы. Мда, в школе легче.... икс, ыгрик, пифагор,синус, косинус, и вперёд! Вот те и длина и проекции)
Old Post 11-11-2008 11:50
Redner отсутствует Посмотреть данные 'Redner' Отправить Приватное Сообщение для 'Redner' Найти другие сообщения 'Redner' Добавить Redner в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
KLIMaka
(Президент Мира - Броука!)

Зарегистрирован: Dec 2007
Проживает: Украина/Запорожье
Написал: 456 сообщений

Оценка: 28 Votes 28 чел.

Сообщение #787019
Если ты внимательно прочел http://www.ati.com/products/radeonx...cWhitePaper.pdf то там в принципе все ясно и на пальцах описано... То что Пифагоры, иксы и угрики легко - так ничего нового и не придумали, все на этом и держится

В кратце все выглядит так. Жмутся блоки размером 4х4 текселя, по 32 бита на тексель = 512 бит на блок обычной несжатой нормалки. В результате этот блок 4х4 текселя ужимается до объема в 128 бит, но это совсем не значит что один тексель кодируется одним байтом, просто отношение объемов 4:1.

Жмутся х и у координаты, а z вычисляется уже в шейдере (как говорил Маньяк). Жмется координаты довольно просто - вычисляются максимальное и минимальное значение каждой координаты из блока и сохраняются (8 бит на значение * 2 координаты = 32 бита). Ясно, что значения во всех точках блока будут лежать в промежутке [max,min], тогда этот промежуток разбивается на 8 равных частей, пронумерованых от 0 до 7. тогда каждой точке будет соответствовать одно из этих 8-и значений. Таким образом для каждой точки блока вычисляется соответсвующее ей значение. число от 0 до 7 ккодируется 3 битами, тогда 16 точек * 2 координаты * 3 бита = 96 бит. В сумме получаем 32 + 96 = 128 бит на блок 4х4 текселя. Все до безобразия просто!

Нужно заметить, что такой поход обладает не равномерной точностью, в отличии от стандартного подхода. Точность зависит от разности максимального и минимального значений - чем эта разность меньше, тем выше точность. Так, для разности от 1 до 7 точнось может достигнуть до в восем раз большей по сравнению со стандартным подходом. При разности 8 точность равна точности стандартного подхода, ну а при большей разности точность становится меньше или равна. Но т.к. резкие изменения на нормалке достаточно редки, то можно считать, что такой подход более точен, нежели стандартный.

Не стоит воспринимать последний абзац как истину - это всего-лишь мои теоретические расчеты, и как там оно реализовано в железе на самом деле одному богу известно. Но факт в том, что можно без увеличения обьема данных увелисить размер нормалки в 4 раза!!!
Old Post 11-11-2008 13:39
KLIMaka отсутствует Посмотреть данные 'KLIMaka' Отправить Приватное Сообщение для 'KLIMaka' Найти другие сообщения 'KLIMaka' Добавить KLIMaka в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Redner
(Senior Member)

Зарегистрирован: Oct 2008
Проживает: /
Написал: 174 сообщений

Оценка: 9 Votes 9 чел.

Сообщение #787047
Спасибо большое. Все и правда очень просто.

>Жмутся х и у координаты, а z вычисляется уже в шейдере (как говорил Маньяк).

Насколько я понимаю это не реал-тайм расчёт. То есть время расчетов перед рендерингом увеличивается?
Old Post 11-11-2008 14:43
Redner отсутствует Посмотреть данные 'Redner' Отправить Приватное Сообщение для 'Redner' Найти другие сообщения 'Redner' Добавить Redner в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
KLIMaka
(Президент Мира - Броука!)

Зарегистрирован: Dec 2007
Проживает: Украина/Запорожье
Написал: 456 сообщений

Оценка: 28 Votes 28 чел.

Сообщение #787184
Как раз таки реалтайм. С семплера нам только две координаты приходят, и мы должны ручками третью расчитать.
Old Post 11-11-2008 16:33
KLIMaka отсутствует Посмотреть данные 'KLIMaka' Отправить Приватное Сообщение для 'KLIMaka' Найти другие сообщения 'KLIMaka' Добавить KLIMaka в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Redner
(Senior Member)

Зарегистрирован: Oct 2008
Проживает: /
Написал: 174 сообщений

Оценка: 9 Votes 9 чел.

Сообщение #787194
Сорри за тупые вопросы, но разве это не ресурсоемко?
Old Post 11-11-2008 16:52
Redner отсутствует Посмотреть данные 'Redner' Отправить Приватное Сообщение для 'Redner' Найти другие сообщения 'Redner' Добавить Redner в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Все время в GMT . Сейчас 18:35.
Создать Новую Тему    Ответить

Быстрый ответ
Ваше Имя:
Хотите Зарегистрироваться?
Ваш Пароль:
Забыли свой Пароль?
Вы можете оставлять свои комментарии анонимно, просто введя свои имя и оставив пустым поле пароля.
Ваш ответ:

[проверить размер]
[транслит в win] | [?]
[русская клавиатура]

Дополнительно: Подтверждение по E-Mail


Быстрый переход:
 
Оцените эту Тему:
 

Правила форума:
Создание Тем не разрешено
Создание Сообщений разрешено
Создавать Вложения не разрешено
Редактирование Сообщений не разрешено
Коды HTML запрещены
Коды форума разрешены
Смайлики разрешены
Коды [IMG] запрещены