HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > PrimeXT - логическое продолжение XashXT
Будет ли полезен этот форк?
(публичный опрос)
Вам не разрешено голосовать в этом опросе.
да
***FantoM*** a1batross Accorsi Aynekko blsha Casperx69x Cep}I{ Chyvachok Crystallize Flash KorteZZ nemyax Next Day SNMetamorph thambs The Sam xrcore_cpu Дядя Миша
18 66.67%
нет
AntiPlayer FiEctro Ghoul [BB] Government-Man marikcool NameLesS qpAHToMAS XaeroX XF-Alien
9 33.33%
Всего: 27 голосов 100%
  [Редактировать опрос (только для модераторов)]

Страницы (18): « Первая ... « 14 15 16 17 [18]   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 239

Рейтинг



Цитата:
Дядя Миша писал:
Достаточно по тем сурфейсам, которые видны из лифов, попавших в кадр. Но может случится ситуация, когда сурфейс не виден, а трава на нём видна. На этот случай можно увелчить bbox лифа.

Я там вообще сделал возможность использовать PVS-куллинг опционально. Т.е. рендер может бсп дерево не использовать вообще.

Добавлено 17-04-2021 в 23:55:

При каком условии R_AddGrassToChain должна возвращать true? Что-то не очень понятно, потому что она по факту для любого сюрфейса возвращает true, если хотя бы где-то на карте есть трава.

__________________
Поделки
GoldSrc Monitor (https://gamebanana.com/gamefiles/8977)
mem2pix (https://github.com/SNMetamorph/mem2pix)

Сообщить модератору | | IP: Записан
Сообщение: 201362

Старое сообщение 17-04-2021 19:55
- За что?
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 239

Рейтинг



Ещё был баг с неимоверной кучей вызовов glEnable и glCullFace, эта пара вызывалась на каждый сурфейс при рендеринге мира в R_DrawWorldList
Был код такой:

C++ Source Code:
1
if( FBitSet( surf->flags, SURF_DRAWTURB ))
2
  GL_Cull(GL_NONE);
3
else
4
  GL_Cull(GL_FRONT);

Пофиксил вот так:
C++ Source Code:
1
int cull_type;
2
if( FBitSet( surf->flags, SURF_DRAWTURB ))
3
  cull_type = GL_NONE;
4
else
5
  cull_type = GL_FRONT;
6
 
7
if (cull_type != cached_cull_type) {
8
  GL_Cull(cull_type);
9
  cached_cull_type = cull_type;
10
}

Хотя мне вообще непонятно, зачем дергать куллинг для каждого сурфейса? В том месте кода же даже не рендеринг, а просто сбор нужных индексов.

__________________
Поделки
GoldSrc Monitor (https://gamebanana.com/gamefiles/8977)
mem2pix (https://github.com/SNMetamorph/mem2pix)

Сообщить модератору | | IP: Записан
Сообщение: 201365

Старое сообщение вчера 07:36
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 27629
Нанёс повреждений: 386 ед.

Рейтинг



Цитата:
SNMetamorph писал:
Ещё был баг с неимоверной кучей вызовов glEnable и glCullFace

Ну и что, fps вырос после исправления? И зачем было городить огород, если переменная для кэша имеется в самой функции GL_Cull.
Ты её прямо там бы мог задействовать, но я не стал, поскольку периодически наблюдается рассинхрон стейтов между движком и клиенткой, а у меня не было времени каждый случай разбирать от отдельности.

Добавлено вчера в 12:01:

Ты вообще за какую малосущественную ерунду цепляешься, которая ни на что не влияет. Обещал же исследование, что удалось существенно повысить fps, с картинкоме и-тогдалие, до сих пор ждём.

__________________
My Projects: download page

Блог разработчика на boosty.to

Сообщить модератору | | IP: Записан
Сообщение: 201366

Старое сообщение вчера 09:01
-
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 239

Рейтинг



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

Ну так это лишь одна из мелочей. Но это хоть и мелочь, но все таки оно тоже негативно влияло, навскидку в сложной сцене на карте hg_industrialzone у меня фпс с 124 поднялся до 139.

Добавлено вчера в 13:38:

Цитата:
Дядя Миша писал:
Обещал же исследование, что удалось существенно повысить fps, с картинкоме и-тогдалие, до сих пор ждём.

Мне вот осталось разобраться с
Цитата:
SNMetamorph писал:
При каком условии R_AddGrassToChain должна возвращать true? Что-то не очень понятно, потому что она по факту для любого сюрфейса возвращает true, если хотя бы где-то на карте есть трава.

А потом уже можно будет сделать подробное сравнение с ванильным ксашмодом.

Добавлено вчера в 13:39:

Цитата:
Дядя Миша писал:
А. В конце R_DrawBrushList будет вызов

C++ Source Code:
1
GL_SelectTexture( glConfig.max_texture_units - 1 ); // force to cleanup all the units
2
GL_CleanUpTextureUnits( 0 );
3
pglBindVertexArray( GL_FALSE );
4
GL_BindShader( NULL );
5
GL_Cull( GL_FRONT );

В принципе такой подход избыточен и можно не обнулять ничего, но внимательно следить, чтобы всё встало в дефолтное состояние к концу кадра, чтобы движок смог корректно отрендерить худ.
Аналогично и в студиомоделях и еще где-то. Вообщем надо провести ревизию состояния стейтов.

Добавлено 09-04-2021 в 11:25:


естественно там всё это есть.

А еще и с этим тоже можно поковыряться, возможно что неплохой прирост даст.

__________________
Поделки
GoldSrc Monitor (https://gamebanana.com/gamefiles/8977)
mem2pix (https://github.com/SNMetamorph/mem2pix)

Отредактировано SNMetamorph вчера в 09:37

Сообщить модератору | | IP: Записан
Сообщение: 201368

Старое сообщение вчера 09:39
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 27629
Нанёс повреждений: 386 ед.

Рейтинг



Цитата:
SNMetamorph писал:
навскидку в сложной сцене на карте hg_industrialzone у меня фпс с 124 поднялся до 139.

Крайне сомнительно. Перепроверь еще раз.

Цитата:
SNMetamorph писал:
Что-то не очень понятно, потому что она по факту для любого сюрфейса возвращает true, если хотя бы где-то на карте есть трава.

ну ты как тестировал? И что непонятно из кода самой функции?

__________________
My Projects: download page

Блог разработчика на boosty.to

Сообщить модератору | | IP: Записан
Сообщение: 201370

Старое сообщение вчера 11:23
-
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 239

Рейтинг



Всё, разобрался, теперь R_AddGrassToChain работает правильно.
Вот такая небольшая доработка понадобилась.

C++ Source Code:
if (leaf || !es->grasscount)
  return false;

__________________
Поделки
GoldSrc Monitor (https://gamebanana.com/gamefiles/8977)
mem2pix (https://github.com/SNMetamorph/mem2pix)

Сообщить модератору | | IP: Записан
Сообщение: 201371

Старое сообщение вчера 17:58
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 27629
Нанёс повреждений: 386 ед.

Рейтинг



Ну что, фрустум-тест не отрабатывал?

__________________
My Projects: download page

Блог разработчика на boosty.to

Сообщить модератору | | IP: Записан
Сообщение: 201372

Старое сообщение вчера 18:29
-
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 239

Рейтинг



Цитата:
Дядя Миша писал:
Ну что, фрустум-тест не отрабатывал?

Да, с этим проблема была. Теперь все круто

__________________
Поделки
GoldSrc Monitor (https://gamebanana.com/gamefiles/8977)
mem2pix (https://github.com/SNMetamorph/mem2pix)

Сообщить модератору | | IP: Записан
Сообщение: 201375

Старое сообщение сегодня 11:12
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 27629
Нанёс повреждений: 386 ед.

Рейтинг



Цитата:
SNMetamorph писал:
Да, с этим проблема была

а что именно? Я вообще замечал, что фрустум иногда глючит, но так и не понял в чём там дело.

__________________
My Projects: download page

Блог разработчика на boosty.to

Сообщить модератору | | IP: Записан
Сообщение: 201376

Старое сообщение сегодня 11:28
-
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 239

Рейтинг



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

В общем, из-за неправильной проверки в R_AddGrassToChain она возвращала true даже для тех сурфейсов на которой травы не было, из-за этого в итоге остальные проверки видимости просто пропускались.
https://github.com/SNMetamorph/xash...world.cpp#L3175

__________________
Поделки
GoldSrc Monitor (https://gamebanana.com/gamefiles/8977)
mem2pix (https://github.com/SNMetamorph/mem2pix)

Сообщить модератору | | IP: Записан
Сообщение: 201378

Старое сообщение сегодня 16:21
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 21:33. Новая тема    Ответить
Страницы (18): « Первая ... « 14 15 16 17 [18]   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > PrimeXT - логическое продолжение XashXT
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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