Sidebar

P2:Savior блог разработчика

crystallize

Well-known member
06.06.2014
1 577
30
48
2 Дядя Миша:
А вдруг он будет делать римейк Дюка на П2 а моделить поленится?
 
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Если бы я не сказал, что выкину - никто бы не заметил. Так всегда бывает.
 

Raid

VIP
VIP
11.07.2006
8 320
29
  • Rocket медаль
2 Дядя Миша:
Ровно до того момента пока не стал бы скейлить или не открыл карту со скейленными моделями. Просто это как поезда обрезать в угоду, например, параллаксу. Понятное дело что с технической точки зрения это совсем иное, но с точки зрения пользователя это обрезание весьма серьёзной функции, которую до кучи поддерживает джек. Ну, ящитаю.
 
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 ElbeR: мы точно говорим об одном и том же? Потому что я этот скейл уже года три не трогал.
 

ElbeR

Wunderknabe
23.04.2009
856
32
Дядя Миша сказал(а):
2 ElbeR: ну где ты мог это использовать?
Да где угодно. Скейлить подтягивать трубы до брашей когда моделька не достаёт. Мог взять пропс камня ротейтить и скейлить - чтобы сделать скалу вместо мучения с брашами дырявыми и много чего другого. В левел дизайне скейл неуникалных пропов - наше все. Хоть деревья разную высоту и размер) или из одной глыбы - пещеру построить можно ;)
 
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 ElbeR: если ты это уже использовал, то я конечно не буду вырезать.
Я думал ты и не в курсе за эту фичу.
 
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Почти доделал конвейер рендеринга студиомоделей с использованием нового подхода. Ну што сказать. Стало значительно проще. Если раньше под каждый режим отрисовки (непрозрачные, прозрачные, освещение, тени) приходилось писать отдельную функцию и там прописывать все юниформы, которые использует данный режим, то теперь у меня единственная универсальная функция на все режимы. И отпала необходимость в инициализации этих юниформов при загрузке шейдеров - это тоже делается автоматически. Конечно это никоим образом не убирает комбинаторный взрыв, но делает работу с ним простой и удобной. Што немаловажно минусов у такого подхода нет, сплошные плюсы. Мне теперь не надо постоянно думать о соответствии типов, объявленных в шейдере и о том, что передаётся из кода, это происходит автоматически Если мне понадобится ввести новый юниформ - теперь достаточно будет добавить его в табличку и установить значение в той универсальной функции. Так же самих шейдеров стало меньше, я совместил, например отрисовку прозрачных и непрозрачных моделей в единый шейдер, а общие функции вынес в хидер.
Вообщем это такой основательный задел на будущее получился.

[ADDED=Дядя Миша]1555055630[/ADDED]
Еще момент - эта же система избавляет от необходимости биндить текстуры и вручную назначать текстурные юниты. Это теперь тоже происходит автоматически внутри механизма назначения юниформов. С точки зрения самого кода, текстурный юнит - точно такойже юниформ, а их номера юнитов теперь генерируются автоматически. Нам вообще не надо знать какая текстура на какой прибиндена. К тому жы код следит за превышением общего кол-ва и если юнитов окажется больше чем позволяет видеокарта, он просто не будет подключён.
Таким образом нам достаточно отключить какую-то фичу стандартным способом и шейдер подстроится под новые условия и будет задействовать меньше ресурсов.

Теперь что касается скейлинга моделей. По здравому размышлению, с учётом возможностей новой системы я пришёл к простому и оптимальному методу. Для статиков используется одна кость и скейл - значит она будет передаваться в единой матрице кости. А для персонажей, где скейла нет, будут использоваться кватернионы + позиция как в ксаш-моде. Но в ксаш-моде еще использовалось дополнительно рутовая матрица со скейлом, которая дополнительно отжирала 12 юниформов (почти две кости), а здесь она получается и не нужна.
 
Последнее редактирование:
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Часть оригинальных решений будет использована в XashNT. Этим кстати и объясняется тот факт, что я резко вернулся доделывать параною. Всегда лучше протестировать на чём-то рабочем.
 
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 Raid:
Оффтоп

Вообще с этой новой схемой подключения юниформов полезность убершейдеров наконец-то приобретает оттенок законченности. Раньше ведь как было? Ну и толку что ты шейдеров нагенерил, если один хрен им все юниформы в коде надо было вручную прописывать. Сейчас этой проблемы нет, всё генерично, тиерично и что немаловажно - появился встроенный механихзм поиска неподключенных юниформов, на случай, если я вдруг забыл это сделать. Раньше можно было полагаться только на пролетарское чутьё. Прикол в том, что GL-драйверу вообще по барабану, он следит только за тем, чтобы ты туда непередал некорректные значения. А если ты вообще ничего не передал - никакой ошибки не выдается. Так можно было довольно долго гадать, почему ошибок нет, но при этом ничерта не работает как надо.
 

Qwertyus

Well-known member
13.08.2009
1 363
27
48
  • Xash медаль
2 Дядя Миша:
Этот новый подход распространяется только на рендерер П2 или на весь движок в целом?
 
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 Qwertyus: движок очевидно шейдеры не использует, ему эти проблемы по барабану.
 

johndoe

Супер Модератор
Команда форума
Супер Модератор
11.03.2008
2 590
28
48
P2_BetaSDK\docs\xash.weapon.system.txt строчка 200
"SpreadRange" "2..3" // замена параметрам minspread и maxspread из файла spread_settings.txt
Где взять spread_settings.txt? В папке docs нет. Скачал spirit19.rar, там не нашел также.
 
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Проверил на старой карте Психопата различные настройки PBR.
Ну в принципе, как видите, все режимы наличествуют, управляются при помощи smoothness и reflectscale. Там возможно небольшая путаница, т.к. во первых, у Психопата три независимых канала в глосске, а во вторых у меня регулируется гладкость, а не металличность. Но я думаю, это потом приведём в норму. Сделаем калибровочную карту.
 

Вложения

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

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

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

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

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

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