ПрограммированиеФорумГрафика

Аппаратная подгрузка 3DC в OpenGL (4 стр)

Страницы: 1 2 3 4
#45
5:19, 21 апр 2015

g-cont
Расскажи потом, стоило ли оно того. :)

#46
8:09, 21 апр 2015

g-cont
> я не фпс тестировал, а визуальные отличия нормалки

Кстати, нужно же Compressonator юзать. На примере демки от ATI получается быстрее даже с учётом sqrt в шейдере

>а зачем вызывать дот для скаляра?

Да, нужно так sqrt( 1.0 - dot(bump.xy, bump.xy) )

#47
12:59, 23 апр 2015

Чем всё закончилось ?

#48
23:19, 23 апр 2015

Моласар
расскажу конечно. Но попозже, щас другими вещами занят.

>>Кстати, нужно же Compressonator юзать. На примере демки от ATI получается быстрее даже с учётом sqrt в шейдере
Всмысле быстрее чем фетчинг несжатой? Я охотно поверю, что разница минимальная и в пределах погрешности. Т.е. если там и есть небольшой прирост, на него не стоит даже обращать внимание. Главная выгода - экономия видеопамяти и скорость загрузки, всё.

>>Да, нужно так sqrt( 1.0 - dot(bump.xy, bump.xy) )
Ага. Вот здесь у меня вопрос. Будет ли dot( bump.xy, bump.xy ) быстрее чем bump.x*bump.x+bump.y*bump.y? Просто GLSL же не даёт посмотреть asm, остается только гадать.

#49
23:25, 23 апр 2015

g-cont
> Главная выгода - экономия видеопамяти и скорость загрузки, всё.
Нет, главная выхода - кол-во передаваемых данных по шине AGP. :)
Именно ради этого и придумали сжатие текстур, а кол-во видеопамяти всегда было избыточным. На моей риветнт2 стояло 32 мб, хотя игры в то время ориентировались на 4-8.
> Будет ли dot( bump.xy, bump.xy ) быстрее чем bump.x*bump.x+bump.y*bump.y
Зависит от компилятора, но я бы юзал первый вариант, где компилятор чётко видит dot-инструкцию.

#50
0:38, 24 апр 2015

>>я бы юзал первый вариант, где компилятор чётко видит dot-инструкцию.
Так в том-то и вопрос :)

#51
0:40, 24 апр 2015

g-cont
Исходи из того, что не видит - не ошибёшься.

#52
10:23, 24 апр 2015

g-cont
> Я охотно поверю, что разница минимальная и в пределах погрешности.

Не помню цифры - но 10 % было

Моласар
> > Будет ли dot( bump.xy, bump.xy ) быстрее чем bump.x*bump.x+bump.y*bump.y
> Зависит от компилятора, но я бы юзал первый вариант, где компилятор чётко видит
> dot-инструкцию.

Поддерживаю

g-cont
> Ага. Вот здесь у меня вопрос

Кстати, можно проверить что даёт 1.0 - dot(bump.xy, bump.xy) - и если < 0 вывести красным

Прошло более 3 лет
#53
23:58, 2 июля 2018

Ну чтож, лучше поздно чем никогда. Прикрутил поддержку ATI2N через RGTC2. 3dc уже не поддерживается. Я-то надеялся что весь профит будет в декомпресии нормалей на уровне драйвера, а по факту так же пришлсоь в шейдере декодировать. Несмешно. Единственный плюс - они во вьювере сразу "синие", а не "зелёные".
Бардак.

#54
8:23, 3 июля 2018

g-cont
> Несмешно

ты с художниками работал ? :)

#55
10:26, 3 июля 2018

innuendo
Поясни мысль. Работал в каком смысле? Ставил им задачи\выслушивал их жалобы\сидел в одном помещении?

#56
10:39, 3 июля 2018

g-cont

художники видят артефакты при dxt5

#57
12:49, 3 июля 2018

Артефакты на самой текстуре рассмотреть практически нереально. Можно сравнивать через диффузию ошибки, но это не даёт представления о том, насколько нормали испохабятся в игре. Поэтому я всегда рассматривал артефакты именно в реальных условиях, отключив альбедо. Из всех способов кодирования нормалей мне больше всего понравилась параболическая проекция, насколько знаю её и Крайтек тоже жалует.

Страницы: 1 2 3 4
ПрограммированиеФорумГрафика

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