HLFX.Ru Forum Страницы (2): « 1 [2]
Показать все 4009 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Нубские вопросы от <censored> и других нубов (https://hlfx.ru/forum/showthread.php?threadid=4535)


Отправлено Дядя Миша 10-07-2025 в 06:55:

Цитата:
Aynekko писал:
Тут стоит выбор - отрезать себя от многотысячного комьюнити или потратить минуту на доступ к дискорду

Я бы не сказал, что там многотысячное коммунити. К тому же оно сильно подсдулось за посл. время.

Да чего-то прям прорывного там не делается, сидят вяло обсуждают, скрины кидают и всё.

Добавлено 10-07-2025 в 09:55:

Цитата:
Ku2zoff писал:
Видимо потому, что в этом дискорде невозможно развёрнуто что-то изложить

как музыке идти? Ведь вы не так сидите!

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 10-07-2025 в 16:32:

Цитата:
XaeroX писал:
Неужели удобнее, чем тикток? Не верю.

При чём тут тикток? Ты пытаешься перевести все в шутку?

Цитата:
Ku2zoff писал:
Тогда нафиг он нужен для чего-то кроме чятиков и звонков между тиммейтами во время игры?

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

Цитата:
Ku2zoff писал:
С телефона невозможно нормально печатать большие и средние тексты.

Я в 2009 написал на кнопочном Сименсе МЕ75 рассказ на 9 килобайт. Это где-то полтора-два экрана компьютерных.


Отправлено XaeroX 10-07-2025 в 22:55:

Цитата:
Crystallize писал:
При чём тут тикток?

Ну я слышал, что все сидят в своих телефонах в тиктоке и непрерывно свайпают ролики. Сам я этот ваш тикток в глаза не видел.

Цитата:
Crystallize писал:
Ты пытаешься перевести все в шутку?

А ты всерьёз пишешь, что с телефона удобно сидеть в чате?

Цитата:
Crystallize писал:
новостных ссылок из твиттера

ну вот, сам же шутишь непрерывно...

Цитата:
Crystallize писал:
Я в 2009 написал на кнопочном Сименсе МЕ75 рассказ на 9 килобайт.

А я слышал про человека, который выучил наизусть миллион знаков числа пи. Не понимаю, чего вы жалуетесь на шестизначные коды в моде Жэки, это ж не миллион цифр, это пара пустяков запомнить.

__________________

xaerox on Vivino


Отправлено (_-=ZhekA=-_) 11-07-2025 в 06:26:

Цитата:
XaeroX писал:
Не понимаю, чего вы жалуетесь на шестизначные коды в моде Жэки, это ж не миллион цифр, это пара пустяков запомнить.

Трехзначные, а еще найденные коды запоминаются их можно посмотреть на таб

__________________
Kiss my ass if you don't like my Ford!
------------------------------------------
Game Area51 Update 1
First Person Shooter Released Jul 24, 2017
The game is a 3d shooter with the elements of the quest.

http://button.moddb.com/download/medium/125531.png


Отправлено Crystallize 11-07-2025 в 16:46:

Цитата:
XaeroX писал:
А ты всерьёз пишешь, что с телефона удобно сидеть в чате?

Ну как бы да, удобно. Например текст колонкой читать приятнее.
Ты сделай удвоение шрифтов для мобильных юзеров форума тоже будет удобно.

Цитата:
XaeroX писал:
ну вот, сам же шутишь непрерывно...

Я не шучу, ты же знаешь я не сильно большой шутник.
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.


Отправлено XaeroX 11-07-2025 в 17:38:

Цитата:
Crystallize писал:
Ты сделай удвоение шрифтов для мобильных юзеров форума тоже будет удобно.

Как удвоение шрифтов сделает экранную клавиатуру удобной?
Цитата:
Crystallize писал:
ты же знаешь я не сильно большой шутник

Хм, я сколько с тобой общаюсь, мне кажется, что ты шутишь как минимум в половине постов. может быть, я ошибался все эти долгие годы

__________________

xaerox on Vivino


Отправлено Shapirlic 18-07-2025 в 14:59:

Привет, ребят. У меня технический вопрос
Если я ворую лайтмапы для поверхностей, который обычно рисуются без лайтмап (вода мировая) таким образом:

C++ Source Code:
1
ExtraLightMaps.clear();
2
 
3
for (int i = 0; i < world->numsurfaces; i++)
4
{
5
  if (world->surfaces[i].flags & SURF_DRAWTURB || world->surfaces[i].flags & SURF_DRAWTILED)
6
  {
7
    int smax = (world->surfaces[i].extents[0] >> 4) + 1;
8
    int tmax = (world->surfaces[i].extents[1] >> 4) + 1;
9
 
10
    color24* lightmap = world->surfaces[i].samples;
11
 
12
    GLuint lightmapID = current_ext_texture_id;
13
    current_ext_texture_id++;
14
 
15
    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
16
 
17
    glGenTextures(1, &lightmapID);
18
    glBindTexture(GL_TEXTURE_2D, lightmapID);
19
 
20
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
21
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
22
    glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_FALSE);
23
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
24
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
25
 
26
    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB8, smax, tmax, 0, GL_RGB, GL_UNSIGNED_BYTE, lightmap);
27
    glBindTexture(GL_TEXTURE_2D, 0);
28
 
29
    ExtraLightMaps[&world->surfaces[i]] = lightmapID;
30
  }
31
}

Затем рисую эту например мировую воду стандартно как в ксаше (DRAWTURB, r_turbsin, и вся эта штука), то как мне обработать v[5] и v[6] чтобы получить валидные текстурные координаты для лайтмапы?
Методом тыка я обранужил, что умножение v[5] и v[6] на квадрат Пи даёт околопохжие результаты, но множитель явно не этот и ещё нужна обработка при повернутой текстуре.


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

Цитата:
Shapirlic писал:
Если я ворую лайтмапы для поверхностей, который обычно рисуются без лайтмап

А у кого ты воруешь лайтмапы?
лайтмапы знаешь ли уникальны для каждой поверхности, их воровать не имеет смысла, они просто не подойдут, да и всё.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 18-07-2025 в 19:36:

Лайтмапы именно тех сурфоф воды (SURF_DRAWTURB), которые я и буду рисовать. Генерю из world->surfaces[i].samples текстуры, сохраняю их индексы в мапу std::map <msurface_t*, int> чтобы по сурфу потом нужный индекс лайтмапы взять. Только s t координат не могу выдумать для них откуда брать

Лайтмапы то у сурфоф воды, которые потом метятся как DRAWTURB есть в BSP, но двигло ХЛ решило рисовать мировую воду без лайтмапы


Отправлено Shapirlic 19-07-2025 в 15:31:

v[5] v[6] из surf->polys->verts содержат что то похожее на координаты лайтмапы, но их надо как то обработать. На вид они в 9-10 раз меньше чем нужно


Отправлено Дядя Миша 20-07-2025 в 07:53:

Цитата:
Shapirlic писал:
Лайтмапы именно тех сурфоф воды (SURF_DRAWTURB), которые я и буду рисовать.

ты убедись что компилятор эти лайтмапы рассчитал. Их помоему только мой p2st считает.

Добавлено 20-07-2025 в 10:53:

C++ Source Code:
1
// for speed reasons
2
  if( !FBitSet( warpface->flags, SURF_DRAWTURB ))
3
  {
4
    // lightmap texture coordinates
5
    s = DotProduct( verts, warpinfo->lmvecs[0] ) + warpinfo->lmvecs[0][3];
6
    s -= warpinfo->lightmapmins[0];
7
    s += warpface->light_s * sample_size;
8
    s += sample_size * 0.5;
9
    s /= BLOCK_SIZE * sample_size; //fa->texinfo->texture->width;
10
 
11
  t = DotProduct( verts, warpinfo->lmvecs[1] ) + warpinfo->lmvecs[1][3];
12
  t -= warpinfo->lightmapmins[1];
13
  t += warpface->light_t * sample_size;
14
  t += sample_size * 0.5;
15
  t /= BLOCK_SIZE * sample_size; //fa->texinfo->texture->height;
16
 
17
  poly->verts[i][5] = s;
18
  poly->verts[i][6] = t;
19
}

Если проставлен DRAWTURB, то ксаш не рассчитывает координаты лайтмапы. Хотя и может, конечно.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 20-07-2025 в 08:56:

Цитата:
Дядя Миша писал:
ты убедись что компилятор эти лайтмапы рассчитал. Их помоему только мой p2st считает.

У китайца, кажись был какой-то флаг для расчёта лайтмап на стёклах и прочих поверхностях с kRenderTransTexture. Помню, что после компиляции старым zhlt стёкла светились в темноте, будто параметр _minlight не равен нулю. Это оно?

Добавлено 20-07-2025 в 15:56:

А, нет. У китайца по-моему текстура модифицировалась, и вшивалась прям в бсп. Точно не помню.


Отправлено Shapirlic 20-07-2025 в 11:11:

Лайтмапа на мировой воде есть даже в оригинальных картах HalfLife. Это легко проверить, если открыть .bsp утилитой BSPGUY.
Lambda_bunker:


Отправлено Shapirlic 20-07-2025 в 12:02:

Я получаю приблизительные результаты если беру такие коодинаты для лайтмапы

C++ Source Code:
gl.glMultiTexCoord2fARB(GL_TEXTURE0_ARB, v[5] * 3.f * M_PI, v[6] * 3.f * M_PI);

Но в местах со сложным освещением видно, что лайтмапы плохо стыкуются.
Нужно как то иначе обработать v[5] и v[6], с этим вопросом я сюда и пришёл к вам )


Отправлено Дядя Миша 20-07-2025 в 16:56:

Цитата:
Ku2zoff писал:
А, нет. У китайца по-моему текстура модифицировалась, и вшивалась прям в бсп. Точно не помню.

Всё верно. Освещение полупрозрачных поверхностей нетривиальная задача, поэтому либо через мультипроходность (как в Quake3), либо через копию экрана (как в Paranoia 2:Savior), либо предумножить лайтмапу на диффузку и сохранить результат в особую диффузку, вкомпиленную прямо внутрь карты и используемую только на этой поверхности (как в VHLT).

Цитата:
Shapirlic писал:
Лайтмапа на мировой воде есть даже в оригинальных картах HalfLife

Ну в оригинале может и есть, а в ZHLT вроде бы это отключали, оптимизация типо. Лайтмапы экономили.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 20-07-2025 в 18:50:

Окай, в ZHLT экономили, оригинальный компилятор и Vluzacn_s_ZHLT на воде лайтмапы делают, у меня вопрос с самого начала по текстурным координатам этих лайтмап. BSPGUY и BSPViewer могут мировую воду рендерить с лайтмапой, я в их сорцах покопался, но так и не понял как они высчитывают текстурные координаты для лайтмап мировой воды. И с этим пришёл к вам, у вас есть идеи или догадки? Как я уже писал выше v[5] и v[6] в verts сурфов воды похожи на текстурные координаты лайтмапы, но деленные на 9-10. Есть догадки какая математика там скрывается?


Отправлено Ku2zoff вчера в 16:22:

Цитата:
Дядя Миша писал:
предумножить лайтмапу на диффузку и сохранить результат в особую диффузку, вкомпиленную прямо внутрь карты и используемую только на этой поверхности (как в VHLT).

В паранойевских тулзах это вырезано? Смутно припоминаю, что когда-то давно, году в 2020-м, видел разницу после китайца. После этого долго не мапал места, где такое всплывает, поэтому спрашиваю.


Временная зона GMT. Текущее время 13:01. Страницы (2): « 1 [2]
Показать все 4009 сообщений этой темы на одной странице

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