![]() |
Страницы (255): « Первая ... « 25 26 27 28 [29] 30 31 32 33 » ... Последняя » Показать все 3825 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- XashNT: блог разработчика (https://hlfx.ru/forum/showthread.php?threadid=5297)
Вообще по сути с текущим пайплайном, как я его понял, проблема не только в текстурах, ведь одна текстура может шариться на несколько материалов, например, а значит конвейер будет тормозиться уже не на смене текстуры, а на переключении шейдера
__________________
-Brain is dead-
ну текстура, материал, неважно. Понятно же что речь идёт об уникальном объекте. Пока не было шейдеров, в их роли выступали текстуры.
Список фейсов хитро отсортирован, чтобы минимизировать все переключения, так что этот фактор не влияет.
Вообщем я опробовал сравнительно свежий glMultiDrawElementsBaseVertex
и древний glMultiDrawArrays. И вот последний в моём случае дал наилучший результат. В принципе, когда у тебя вот такие вот три-фаны, их наверное и правда лучше рисовать совсем без индексов - быстрее будет.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша вайрфрейм бы интересно глянуть, как оно разбивается
__________________
-Brain is dead-
Поскольку текстура потенциально может грузиться из разных мест, добавил в скрипт функцию addImageLocation. Конечно при нормальной разработке игры, это ненужно, но для моей отладки, когда у меня тут зоопарк из разных карт, в том числе и кутришных, это может оказаться полезным.
Через этот же механизм реализуется и дефолтная текстура, которую можно задать, если ничего не нашлось. Для бампа, например можно сделать чёб он поискал текстуры с разными суффиксами, ну там _gloss, _spec понятно.
Для диффузки - в ваде, в папке textures и так далее. Эти пути конечно тожы можно перегружать раздельно для шейдер объекта, для материала и для техники и заключать в условия.
Добавлено 31-10-2019 в 17:18:
Вчера ради интереса поглядел как это устроено в старом Unigine - там очень похожая схема, ну просто очень. Точнее не схема, а концепция, там тоже есть обозначенные типы проходов - амбиент, разные типы лайтов, отложка, постпроцесс. Но там довольно много встроенных параметров, у меня нет вообще. Полностью настраиваемый конвейер.
Для полного щастья осталось добавить команду cvar, которая будет регистрировать квары, например из game.rc и можно создавать различные рендереры, вообще не затрагивая код.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
XaeroX DX не нужен
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
С китайскими детайлами одна беда - они сделаны для сохранения совместимости, поэтому кол-во производимых лифов просто зашкаливает.
Сами понимаете, проверять десятки тысяч лифов на каком-нибудь сепульчере дорогостоящее удовольствие. Можно конечно пойти простым путём как Ксерокс, прикрутить кутришные карты. Но так неинтересно.
Тут всё дело в том, что у нас есть необходимая информация, чтобы из общей кучи лифов и нодов восстановить дерево без детайлов. Ну точнее говоря, смержить все детайл-лифы обратно в один, и ноды подсократить. Насколько их меньше? ну скажем на Edge Of Forever 145 тысяч лифов, а реальных, которые отвечают за видимость около двух тысяч (кстати даже меньше чем в ку3). Лифы, первый в списке это основной, остальные с таким же оффсетом виздаты - детальные. Ну и руководствуясь этой информацией, как вы понимаете, идя, обратно по родителю лифа, можно найти детальные ноды и построить новое дерево. Правда оно не годится для трассировки например, только для видимости. так что старое тоже останется.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша
А от разрезаний всего и вся и щелей это поможет?
__________________
http://www.moddb.com/mods/monorail-quest
Ну кто о чём
Добавлено 01-11-2019 в 12:10:
Мне это напоминает, как какой-то чувак увидел в хидерах vgui какой-то класс SurfaceGL и тут же решил что это мониторы из третьего дуума. Ну ему просто очень хотелось, чтобы они там оказались.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша Та не о чём, а о том что больше всего беспокоит в истории с дизайном карт.
__________________
http://www.moddb.com/mods/monorail-quest
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Так всё-таки 4 тысячи полигонов а не 4 миллиона, правильно?
Crystallize да. Построил новое дерево. Ну неплохо, на сипульчере 200 фпс, на Edge Of Forever 300. Теперь надо выкинуть лишние ноды из дерева.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Там от оптимальности дерева куда больше зависит, чем от остального.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Временная зона GMT. Текущее время 15:21. | Страницы (255): « Первая ... « 25 26 27 28 [29] 30 31 32 33 » ... Последняя » Показать все 3825 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024