HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > PrimeXT - логическое продолжение XashXT
Будет ли полезен этот форк?
(публичный опрос)
Вам не разрешено голосовать в этом опросе.
да
***FantoM*** a1batross Accorsi Alexander Pafos avegamer Aynekko blsha Casperx69x Cep}I{ Chyvachok Crystallize Dako.Dromkov Dneyrin Flash gagasha islan KorteZZ Lev nekonomicon nemyax Next Day SNMetamorph thambs The Sam xrcore_cpu Дядя Миша
25 69.44%
нет
AntiPlayer Cybermax FiEctro Ghoul [BB] Government-Man marikcool NameLesS qpAHToMAS XaeroX XF-Alien [CFR] B@N@N
11 30.56%
Всего: 36 голосов 100%
  [Редактировать опрос (только для модераторов)]

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

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2087

Рейтинг



SNMetamorph сделай проверку на соответствие текущего шейдера и шейдера эньтьи и переключай только если current_shader != entity_shader. Ну или просто сделать сортировку ещё и по шейдерам

__________________
-Brain is dead-

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

Старое сообщение 09-04-2021 07:12
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



А. В конце 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:

Цитата:
KiQ писал:
сделай проверку на соответствие текущего шейдера и шейдера эньтьи и переключай только если current_shader != entity_shader. Ну или просто сделать сортировку ещё и по шейдерам

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

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 09-04-2021 08:25
-
SNMetamorph
Житель форума

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

Рейтинг



Цитата:
Дядя Миша писал:
А. В конце 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:


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

То есть этот весь сброс стейтов можно убрать из функции R_DrawBrushList и сунуть в место которое находится непосредственно после рендеринга энтитей?

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

Отредактировано SNMetamorph 09-04-2021 в 17:32

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

Старое сообщение 09-04-2021 17:29
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Можно, но надо тестить. У меня не было на это уже времени.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 09-04-2021 19:01
-
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4133

Рейтинг



SNMetamorph
Вот тут репа PrimeXT?
https://github.com/SNMetamorph/xashxt-fwgs

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

Старое сообщение 11-04-2021 16:49
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Опять CR\LF покоцали, ну сами и сравнивайте.

Добавлено 11-04-2021 в 20:46:

C++ Source Code:
1
static void R_AppendSurface(mextrasurf_t *esurf)
2
{
3
  for (int vert = 0; vert < esurf->numverts - 2; vert++)
4
  {
5
    ASSERT(numTempElems < (MAX_MAP_ELEMS - 3));
6
    tempElems[numTempElems++] = esurf->firstvertex;
7
    tempElems[numTempElems++] = esurf->firstvertex + vert + 1;
8
    tempElems[numTempElems++] = esurf->firstvertex + vert + 2;
9
  }
10
}

Хоть бы спросил, почему там макрос, а не функция.

Добавлено 11-04-2021 в 20:50:

А с травой што?

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 11-04-2021 17:50
-
SNMetamorph
Житель форума

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

Рейтинг



Цитата:
Дядя Миша писал:
А с травой што?

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

Дядя Миша писал:
Хоть бы спросил, почему там макрос, а не функция.

Ну наверное чтоб лишние вызовы не делать? Хотя хз насколько это вообще на производительность влияет.

Добавлено 14-04-2021 в 23:19:

Цитата:
nemyax писал:
Вот тут репа PrimeXT?
https://github.com/SNMetamorph/xashxt-fwgs

Пока да, но потом перенесу в https://github.com/SNMetamorph/PrimeXT

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

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

Старое сообщение 14-04-2021 19:19
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
SNMetamorph писал:
Хотя хз насколько это вообще на производительность влияет.

Функция - лишние движения по стеку.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 15-04-2021 05:48
-
SNMetamorph
Житель форума

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

Рейтинг



Цитата:
Дядя Миша писал:
Функция - лишние движения по стеку.

Тогда наверно лучше вместо макроса сделать инлайновую функцию

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

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

Старое сообщение 15-04-2021 06:44
- За что?
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4133

Рейтинг



Цитата:
SNMetamorph писал:
Тогда наверно лучше вместо макроса сделать инлайновую функцию

Нету гарантии, что заинлайнится.

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

Старое сообщение 15-04-2021 07:33
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
nemyax писал:
Нету гарантии, что заинлайнится.

Гарантия есть, но я не помню при каких условиях. Макрос надёжнее в этом плане, хоть и выглядит не так красиво.

Добавлено 15-04-2021 в 11:14:

Да и вообще, если макрос оперирует глобальными переменными, то пофигу. Вот что я не люблю, так это локальные макросы, для отдельно взятой функции, вот это реальное зло. Там по смыслу лмябды так и напрашиваются.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 15-04-2021 08:14
-
SNMetamorph
Житель форума

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

Рейтинг



Цитата:
nemyax писал:
Нету гарантии, что заинлайнится.

Для этого есть forceinline или что-то такое

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

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

Старое сообщение 15-04-2021 14:28
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
SNMetamorph писал:
Для этого есть forceinline

они deprecated

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 15-04-2021 15:09
-
SNMetamorph
Житель форума

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

Рейтинг



Сложно. Ну вот пофиксил я длайты вместе с декалями, а теперь пришел черёд травы. Проблема в том, что там нужно снова пройтись по всем сурфейсам (не только по видимым, как я понял) и для каждого применить R_AddGrassToChain. И так каждый кадр, как-то оно медленно будет, мне кажется

Добавлено 15-04-2021 в 21:12:

Цитата:
SNMetamorph писал:
Сложно. Ну вот пофиксил я длайты вместе с декалями, а теперь пришел черёд травы. Проблема в том, что там нужно снова пройтись по всем сурфейсам (не только по видимым, как я понял) и для каждого применить R_AddGrassToChain. И так каждый кадр, как-то оно медленно будет, мне кажется

Похожая история и со скайбоксом была, но я как-то пофиксил ранее, хотя там уже другой баг вылез.

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

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

Старое сообщение 15-04-2021 17:12
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
SNMetamorph писал:
Проблема в том, что там нужно снова пройтись по всем сурфейсам (не только по видимым, как я понял)

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

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 15-04-2021 18:08
-
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 12:22. Новая тема    Ответить
Страницы (37): « Первая ... « 13 14 15 16 [17] 18 19 20 21 » ... Последняя »   Предыдущая тема   Следующая тема
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 - 2024