HLFX.Ru Forum Страницы (255): « Первая ... « 96 97 98 99 [100] 101 102 103 104 » ... Последняя »
Показать все 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)


Отправлено Дядя Миша 22-05-2020 в 11:30:

Crystallize а там ареапорталы есть?

Добавлено 22-05-2020 в 12:56:

Вообще с этими ареапорталами прямо целое искусство, не так-то просто их расставлять, да. Ну ничего, будет вам новый скилл.

Добавлено 22-05-2020 в 14:30:

Забавная вещь выяснилась. Оказывается кластер-порталы для ботов идеально годятся на роль ареапорталов. А вот хинты - не очень.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Crystallize 22-05-2020 в 16:13:

Дядя Миша да, в домике на coast03 окна и двери затянуты ареапорталами, и солнце почему-то через окна не светит.


Отправлено Дядя Миша 22-05-2020 в 17:20:

Неисключено. да

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено thambs 22-05-2020 в 17:46:

Цитата:
кластер-порталы

Штоэта?

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено Дядя Миша 22-05-2020 в 18:07:

Да это для ботоф какая-то подсказка.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Crystallize 22-05-2020 в 18:17:

Цитата:
Дядя Миша писал:
Забавная вещь выяснилась. Оказывается кластер-порталы для ботов идеально годятся на роль ареапорталов. А вот хинты - не очень.

Тоже из-за приоритета в разбиениях или совсем по другой причине?


Отправлено Дядя Миша 22-05-2020 в 19:03:

Crystallize сами брашы на уже готовых картах расставлены как надо. Я про это.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 22-05-2020 в 19:13:

Цитата:
Дядя Миша писал:
Да это для ботоф какая-то подсказка.

Не совсем. Это для навмеша. Там очень много арей создаётся, и граф доступности ареи из ареи разрастается сильно. Поэтому ареи собираются в кластеры, а кластер-порталы их делят (обычно в коридорах и прочих узких местах). Между кластерами свой отдельный граф досягаемости, который получается сильно меньше.
Может быть, я однажды допишу свой цикл статей по устройству AAS.

__________________

xaerox on Vivino


Отправлено Дядя Миша 23-05-2020 в 08:00:

Похоже дуумтришные оптимизации треугольников придётся выбросить.
Ну или полностью переписать, они абсолютно не годятся для моих задач.
И вот почему - оптимизация происходит в 2д пространстве, т.е. на общей плоскости. Ну нетрудно догадаться, что такое справедливо только для брашей. А для вставленных моделей он просто формирует десятки тысяч цепочек с одним треугольником внутри. Причём уже просто на копирование этих цепочек уходит адски много времени без цели и смысла. В самом D3 это понимали, поэтому перестали включать статические модели в общую геометрию на этапе компиляции - их рендерер грузил, что тоже небыстро.
Но для параметрических поверхностей специализированная оптимизация справляется куда лучше общей. Для брашей это соответственно CSG, Merge и ClipSidesIntoTree. Для патчей RemoveLinearColumnsRows и StitchPatches.
Для моделей - простая индексация вертексов. Ну и собсно всё, переставлять эджы там нет никакого смысла, тем более я заметил, что после этой оптимизации FPS наоборот даже немного падает. Точно так же нет и смысла резать треугольники строго по дереву для full carve - это уже CSG делает. Так что от оптимизатора требуется единственная вещь - рассортировать треугольники по нужным ариям, разрезая его, когда он попадает точно на границу двух арий.
Вот так забавно получается, что код из D3 использоваться не будет - только некоторые идеи.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Crystallize 23-05-2020 в 12:45:

Цитата:
Дядя Миша писал:
Похоже дуумтришные оптимизации треугольников придётся выбросить.

Ну это только модельки типа грешников на стенке, так-то концепция формата не замедляющего отрисовку, осталась?


Отправлено Дядя Миша 23-05-2020 в 13:28:

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено thambs 23-05-2020 в 13:34:

Цитата:
Я вот вообще заметил, что народ очень любит оптимизировать вручную.

Из-за предсказуемости. Кстати, подумалось тут, а для этих секторов какие-то предвычисления объёма/размеров/материалов на этапе коптиляции можно проводить, например, что бы автоматически привязать к ним roomtype?

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено nemyax 23-05-2020 в 15:31:

Цитата:
Дядя Миша писал:
Я вот вообще заметил, что народ очень любит оптимизировать вручную.

Ну так. Впрочем, лишь бы кубать не пришлось.


Отправлено Дядя Миша 23-05-2020 в 15:35:

thambs вообще без проблем.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Дядя Миша 24-05-2020 в 10:50:

Вот какую интересную фигню я заметил. Использование nvtristrip УМЕНЬШАЕТ фпс, вместо того, чтобы его увеличивать.

Пробовал менять размер кэша, играться с параметрами, итог всегда один. Простая индексация вертексов даёт лучший результат, нежели индексы, пропущенные через nvstristrip.
Вот примерчег:

Слева стриптнутая геометрия (рисуется через GL_TRIANGLE_STRIP), справа обычный лист, рисуется через GL_TRIANGLES. Если кто не понял, поясню, strip-режим позволяет экономить индексы, в отличие от листа. Правда это же осложняет и простейшие операции, поэтому на правой картинке поликаунт неверный, он совпадает с левой, но его нельзя посчитать, просто поделив индексы на 3. Поэтому он там неверный. То есть вот такая ситуация.
Может быть дело в том, что я использую glMultiDrawElementsBaseVertex, а для классических режимов будет прирост? Интересное кино.

Добавлено 24-05-2020 в 13:50:

Поигрался с SetCacheSize, наилучший результат получается при подстановке значения 1024 - фпс возрастает до 650. Но всё равно он меньше чем без использования NvTriStrip. И да, с таким размером кэша кратно увеличивается время работы. Без него карта собирается 9 секунд, а с ним - минуту.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Временная зона GMT. Текущее время 00:24. Страницы (255): « Первая ... « 96 97 98 99 [100] 101 102 103 104 » ... Последняя »
Показать все 3825 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024