Sidebar

Масштабирование моделей и Hardware Skinning

Добавим поддержку старых видеокарт, но при этом откажемся от масштабирования моделей?

  • Да, главное чтобы как можно больше народу смогло поиграть

    Голосов: 6 22.2%
  • Нельзя урезать функционал из-за того, что кто-то не в состоянии обновить видеокарту

    Голосов: 21 77.8%

  • Количество людей, принявших участие в опросе
    27
  • Опрос закрыт .
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Масштабирование моделей и Hardware Skinning

Задумал я тут обучить параною работать на карточках, где мало униформов, путём перевода матрицы в кватернионы + оригины.
Т.е. была матрица 4х4х128=2048, а стало (4+3)*128=896.
А для 64-х костей можно уложиться в 448 униформов, что уже серъезная заявка на победу. Потому что есть тут товарищи, у которых всего-навсего 512 униформов доступно. Но вылезла другая проблема - я чисто физически не смогу уложить в 7 флоатов поворот, позицию и скейл.
Заводить для скейла отдельные переменные, это еще + 3 флоата, значит минимум 640 униформов, уже в лимит не влезаем. Т.е. смысла городить огород нет. Т.е. я перед таким выбором - либо дадим обладателям слабых видеокарт возможность запустить параною и при этом откажемся произвольного масштабирования моделей в настройках энтити (параметр scale, если вдруг до кого еще не дошло), либо положим на них бутерброд.
Я не знаю какое решение правильное, поэтому решил вынести на суд общественности. Заодно проверим насколько вас волнуют чужие проблемы :)
ЗЫ. для скейла моделек конечно можно заводить увеличенные или уменьшенные копии моделей, как многие из вас и делают.
ЗЗЫ. на старых карточках нету UBO в любом случае.
 
Последнее редактирование:
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
У нас тут вроде как три или четыре человека попадают в эту категорию.
 

ncuxonaT

Well-known member
05.05.2013
1 192
46
48
Я не очень понимаю, как это всё устроено. Почему скейл должен быть у каждой кости?
 
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 ncuxonaT: потому что матрицы костей умножаются на своих родителей.
В кватернионы скейл не сохранишь. Я больше скажу - скейл вообще возможен только с матрицами.
 

ncuxonaT

Well-known member
05.05.2013
1 192
46
48
2 Дядя Миша:
нельзя как-то передавать общий скейл и перемножать в шейдере?
 

Flash

VIP
VIP
21.09.2004
16 981
38
  • Золотая медаль 111
  • Серебряная медаль 216
  • Золотая медаль 221
  • Серебряная медаль 311
  • Серебряная медаль 115
  • Золотая медаль 125
  • Золотая медаль 211
2 Дядя Миша:
Просто мне интересен нижний диапазон, вуду2? Или может ещё ниже?
 
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
нельзя как-то передавать общий скейл и перемножать в шейдере?
да запросто. Я ж с этого и начал. Видел в модельвьювере кнопку Scale Bones\Scale Vertex. Вот понажимай их чтобы получить представление.
Скелеталка, это парент-система. И увеличивать скейл надо у рут-кости. И потом умножать её на все остальные. Только тогда все кости зарескейлятся правильно. Это возможно только с матрицами. Ты думаешь на кой ляд вальве были нужны эти матрицы 98-году, когда они могли все вертексы трансформировать через кватернионы и это было бы раза в 4 быстрее. Но им был нужен эффект голограммы и взрыв гарга. Вот и заморочились с матрицами.
Просто мне интересен нижний диапазон
GeForce 6600. Хотя у нее униформов как раз хватает. А вот у Radeon 1950 - уже нет.
2 ZGreen: оно и щас на CPU считается. Чтобы протолкнуть кости на видеокарту нужны особые переменные-униформы. На каждой видеокарте их разное кол-во. Для матриц надо 16*128=2048 переменных. У меня на видеокарте их к примеру 4096, за глаза хватает. А у кого-то их всего-то 512 штук.
Если заменить матрицы на пару кватернион + оригин, получается 7 * 128 = 896 штук. Но в реальной игровой ситуации обычно в моделях не более 64 кости.
Т.е. можно уложиться в 448 униформов.

[ADDED=Дядя Миша]1475225073[/ADDED]
Можно сделать компромиссный вариант: передать матрицы 3х3 + позицию. Тогда функционал не пострадает, но зато у тех товарищей, у которых 1024 юниформа будет поддержка 64 костей и параноя будет правильно работать. Например та же GF6600. А эти с 512-ю увы в пролёте.
 
Последнее редактирование:

ZGreen

Navarro
15.06.2006
3 239
33
  • Спец медаль MM18
Но неужели в хл2 такого функционала нет? Ведь эта игра работет одинаково хорошо как на гф6600, так и на радике 1950.
 

FiEctro

Супер Модератор
Команда форума
Супер Модератор
28.07.2006
17 166
29
  • Золотая медаль 213
  • Neh
Мне кажется на старых видимокартах не то что модели, там и новый рендер работать не будет. Но это только моё мнение.
 

ZGreen

Navarro
15.06.2006
3 239
33
  • Спец медаль MM18
Вот оно что, а Ксаш теоретически не может делать скиннинг и аппаратный, и не аппаратный? Чтобы все были рады.
 
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 ZGreen: может конечно. Он когда сваливается в движковый рендерер, как раз и делает программный скиннинг :)
 

Scream

aw
Команда форума
Модератор
29.10.2005
6 857
34
80
48
Мордор
Я в этих ваших квадрильонах и 3*4*4*4 ничего не понимаю, но одно знаю точно: "Прогресс остановить нельзя!". Если новые фичи требуют ресурсов - так тому и быть. Сначала надо реализовывать максимум возможностей, а потом, если будет время и желание, пытаться всё это оптимизировать для пользователей Фортранов.
И да, я ошибаюсь, если верно следующее:
была как-то давно в просторах инета некая статья, где писалось о том, что (года где-то начала ВинХР) ОС и ОпенГЛ и всё вот это вот если переписать с нуля да на каком-нибудь ассемблере да грамотно то можно будет всё современное на тот день запускать без потерь на оборудовании в 2-3 раза слабее заявленного. Т.о. Если стоит задача выпустить инновационный продукт, инновационность которого будет в уделывании всяких Баттлфилдов схожей картинкой при вдвое меньших системных требованиях, пусть даже ценой несовместимых новых ОС или даже железа - то да, надо это развивать. Если же мы говорим о всё том же БСП-движке (это всё равно всё тот же ку1, верно?) то какой смысл его уже так насиловать? Ну сожрёт он больше или меньше - всем по фиг.
 
  • Like
Reactions: FiEctro

FiEctro

Супер Модератор
Команда форума
Супер Модератор
28.07.2006
17 166
29
  • Золотая медаль 213
  • Neh
2 Scream:
Во всяких кризисах и анрилах представь себе тоже есть БСП.
 

Новые сообщения

Донат - Хостинг

Итого
200.00 $
Цель
600.00 $

Доноры Красавчики

Пользователи онлайн

Нет пользователей онлайн.