При хостинг поддержке Интернет-сообщества VBIOS CS-Mapping.com.ua
Вернуться   CS-Mapping.com.ua > Forum > Разработка игр > Paranoia 2: Savior
Ник
Пароль
Регистрация Правила форума FAQ Пользователи Администрация Календарь Поиск За 24 часа Пометить все разделы прочитанными

Результаты опроса: Добавим поддержку старых видеокарт, но при этом откажемся от масштабирования моделей?
Да, главное чтобы как можно больше народу смогло поиграть 6 22.22%
Нельзя урезать функционал из-за того, что кто-то не в состоянии обновить видеокарту 21 77.78%
Голосовавшие: 27. Вы еще не голосовали в этом опросе

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.09.2016, 00:32  #1
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


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

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

Последний раз редактировалось Дядя Миша, 30.09.2016 в 00:36.
Дядя Миша вне форума Ответить с цитированием
Старый 30.09.2016, 00:46  #2
Flash
Flash
Регистрация: 21.09.2004
Адрес: Кривой Рог, Украина
Возраст: 37
Сообщения: 16,697


По умолчанию

Старые карты это …от?
Flash вне форума Ответить с цитированием
Старый 30.09.2016, 01:06  #3
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

У нас тут вроде как три или четыре человека попадают в эту категорию.
Дядя Миша вне форума Ответить с цитированием
Старый 30.09.2016, 01:17  #4
ncuxonaT
ncuxonaT
Подполковник
Регистрация: 05.05.2013
Сообщения: 1,149


По умолчанию

Я не очень понимаю, как это всё устроено. Почему скейл должен быть у каждой кости?
ncuxonaT вне форума Ответить с цитированием
Старый 30.09.2016, 01:47  #5
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

2 ncuxonaT: потому что матрицы костей умножаются на своих родителей.
В кватернионы скейл не сохранишь. Я больше скажу - скейл вообще возможен только с матрицами.
Дядя Миша вне форума Ответить с цитированием
Старый 30.09.2016, 02:00  #6
ncuxonaT
ncuxonaT
Подполковник
Регистрация: 05.05.2013
Сообщения: 1,149


По умолчанию

2 Дядя Миша:
нельзя как-то передавать общий скейл и перемножать в шейдере?
ncuxonaT вне форума Ответить с цитированием
Старый 30.09.2016, 02:09  #7
IvanZ9
IvanZ9
Старшина
Регистрация: 27.04.2009
Адрес: Недалеко от Владивостока
Возраст: 28
Сообщения: 434


По умолчанию

Эм, а если в отдельный файл писать?
IvanZ9 вне форума Ответить с цитированием
Старый 30.09.2016, 09:37  #8
Flash
Flash
Регистрация: 21.09.2004
Адрес: Кривой Рог, Украина
Возраст: 37
Сообщения: 16,697


По умолчанию

2 Дядя Миша:
Просто мне интересен нижний диапазон, вуду2? Или может ещё ниже?
Flash вне форума Ответить с цитированием
Старый 30.09.2016, 10:33  #9
ZGreen
ZGreen
Navarro
Регистрация: 15.06.2006
Адрес: Сибирь, Красноярск
Возраст: 33
Сообщения: 3,179
Замечания: 10


По умолчанию

А в старом хл это на цпу считалось?
ZGreen вне форума Ответить с цитированием
Старый 30.09.2016, 12:10  #10
XaeroX
XaeroX
Crystice Softworks
Регистрация: 05.09.2008
Адрес: Новосибирск
Возраст: 34
Сообщения: 9,254


По умолчанию

Ничего не мешает сделать fallback в CPU-трансформацию для старых видеокарт.
XaeroX вне форума Ответить с цитированием
Старый 30.09.2016, 12:14  #11
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

[ Цитата ] нельзя как-то передавать общий скейл и перемножать в шейдере?
да запросто. Я ж с этого и начал. Видел в модельвьювере кнопку Scale Bones\Scale Vertex. Вот понажимай их чтобы получить представление.
Скелеталка, это парент-система. И увеличивать скейл надо у рут-кости. И потом умножать её на все остальные. Только тогда все кости зарескейлятся правильно. Это возможно только с матрицами. Ты думаешь на кой ляд вальве были нужны эти матрицы 98-году, когда они могли все вертексы трансформировать через кватернионы и это было бы раза в 4 быстрее. Но им был нужен эффект голограммы и взрыв гарга. Вот и заморочились с матрицами.
[ Цитата ] Просто мне интересен нижний диапазон
GeForce 6600. Хотя у нее униформов как раз хватает. А вот у Radeon 1950 - уже нет.
2 ZGreen: оно и щас на CPU считается. Чтобы протолкнуть кости на видеокарту нужны особые переменные-униформы. На каждой видеокарте их разное кол-во. Для матриц надо 16*128=2048 переменных. У меня на видеокарте их к примеру 4096, за глаза хватает. А у кого-то их всего-то 512 штук.
Если заменить матрицы на пару кватернион + оригин, получается 7 * 128 = 896 штук. Но в реальной игровой ситуации обычно в моделях не более 64 кости.
Т.е. можно уложиться в 448 униформов.

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

Последний раз редактировалось Дядя Миша, 30.09.2016 в 12:44.
Дядя Миша вне форума Ответить с цитированием
Старый 30.09.2016, 13:12  #12
ZGreen
ZGreen
Navarro
Регистрация: 15.06.2006
Адрес: Сибирь, Красноярск
Возраст: 33
Сообщения: 3,179
Замечания: 10


По умолчанию

Но неужели в хл2 такого функционала нет? Ведь эта игра работет одинаково хорошо как на гф6600, так и на радике 1950.
ZGreen вне форума Ответить с цитированием
Старый 30.09.2016, 13:17  #13
FiEctro
FiEctro
Регистрация: 28.07.2006
Адрес: Эквестрия
Возраст: 29
Сообщения: 17,146


По умолчанию

Мне кажется на старых видимокартах не то что модели, там и новый рендер работать не будет. Но это только моё мнение.
FiEctro вне форума Ответить с цитированием
Старый 30.09.2016, 13:19  #14
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

[ Цитата ] Но неужели в хл2 такого функционала нет?
В хл2 вообще нет аппаратного скиннинга. И аппаратно-ускоренных лайтстилей нет.
2 FiEctro: так вот я же как раз и делаю чтобы работал.
Дядя Миша вне форума Ответить с цитированием
Старый 30.09.2016, 13:27  #15
XaeroX
XaeroX
Crystice Softworks
Регистрация: 05.09.2008
Адрес: Новосибирск
Возраст: 34
Сообщения: 9,254


По умолчанию

[ Цитата ] В хл2 вообще нет аппаратного скиннинга. И аппаратно-ускоренных лайтстилей нет.
И слава зайцам!
Кто-то из геймеров жаловался на фпс? Ну кроме автора той-самой-хайполи-аликс?
XaeroX вне форума Ответить с цитированием
Старый 30.09.2016, 13:30  #16
ZGreen
ZGreen
Navarro
Регистрация: 15.06.2006
Адрес: Сибирь, Красноярск
Возраст: 33
Сообщения: 3,179
Замечания: 10


По умолчанию

Вот оно что, а Ксаш теоретически не может делать скиннинг и аппаратный, и не аппаратный? Чтобы все были рады.
ZGreen вне форума Ответить с цитированием
Старый 30.09.2016, 13:47  #17
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

2 ZGreen: может конечно. Он когда сваливается в движковый рендерер, как раз и делает программный скиннинг
Дядя Миша вне форума Ответить с цитированием
Старый 30.09.2016, 14:36  #18
Scream
Scream
aw
Регистрация: 29.10.2005
Адрес: Мордор
Возраст: 34
Сообщения: 6,857


По умолчанию

Я в этих ваших квадрильонах и 3*4*4*4 ничего не понимаю, но одно знаю точно: "Прогресс остановить нельзя!". Если новые фичи требуют ресурсов - так тому и быть. Сначала надо реализовывать максимум возможностей, а потом, если будет время и желание, пытаться всё это оптимизировать для пользователей Фортранов.
И да, я ошибаюсь, если верно следующее:
была как-то давно в просторах инета некая статья, где писалось о том, что (года где-то начала ВинХР) ОС и ОпенГЛ и всё вот это вот если переписать с нуля да на каком-нибудь ассемблере да грамотно то можно будет всё современное на тот день запускать без потерь на оборудовании в 2-3 раза слабее заявленного. Т.о. Если стоит задача выпустить инновационный продукт, инновационность которого будет в уделывании всяких Баттлфилдов схожей картинкой при вдвое меньших системных требованиях, пусть даже ценой несовместимых новых ОС или даже железа - то да, надо это развивать. Если же мы говорим о всё том же БСП-движке (это всё равно всё тот же ку1, верно?) то какой смысл его уже так насиловать? Ну сожрёт он больше или меньше - всем по фиг.
Scream вне форума Ответить с цитированием
Старый 30.09.2016, 14:36  #19
ZGreen
ZGreen
Navarro
Регистрация: 15.06.2006
Адрес: Сибирь, Красноярск
Возраст: 33
Сообщения: 3,179
Замечания: 10


По умолчанию

А почему не может это делать, когда железо не тянет это, но тянет все остальное?
ZGreen вне форума Ответить с цитированием
Старый 30.09.2016, 14:54  #20
FiEctro
FiEctro
Регистрация: 28.07.2006
Адрес: Эквестрия
Возраст: 29
Сообщения: 17,146


По умолчанию

2 Scream:
Во всяких кризисах и анрилах представь себе тоже есть БСП.
FiEctro вне форума Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



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


Designed by FT-502, [email protected] Originally by Ulric Spaak
Hosted by: VBIOS.COM, Powered by: vBulletin
copyright © 2002 - 2020 by CS-Mapping.com.ua Community