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)
Отправлено (_-=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 писал:
ты же знаешь я не сильно большой шутник
Хм, я сколько с тобой общаюсь, мне кажется, что ты шутишь как минимум в половине постов.
может быть, я ошибался все эти долгие годы 
__________________
Отправлено Shapirlic 18-07-2025 в 14:59:
Привет, ребят. У меня технический вопрос
Если я ворую лайтмапы для поверхностей, который обычно рисуются без лайтмап (вода мировая) таким образом:
C++ Source Code:
3 | for (int i = 0; i < world->numsurfaces; i++) |
5 | if (world->surfaces[i].flags & SURF_DRAWTURB || world->surfaces[i].flags & SURF_DRAWTILED) |
7 | int smax = (world->surfaces[i].extents[0] >> 4) + 1; |
8 | int tmax = (world->surfaces[i].extents[1] >> 4) + 1; |
10 | color24* lightmap = world->surfaces[i].samples; |
12 | GLuint lightmapID = current_ext_texture_id; |
13 | current_ext_texture_id++; |
15 | glPixelStorei(GL_UNPACK_ALIGNMENT, 1); |
17 | glGenTextures(1, &lightmapID); |
18 | glBindTexture(GL_TEXTURE_2D, lightmapID); |
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); |
26 | glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB8, smax, tmax, 0, GL_RGB, GL_UNSIGNED_BYTE, lightmap); |
27 | glBindTexture(GL_TEXTURE_2D, 0); |
29 | ExtraLightMaps[&world->surfaces[i]] = lightmapID; |
Затем рисую эту например мировую воду стандартно как в ксаше (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:
2 | if( !FBitSet( warpface->flags, SURF_DRAWTURB )) |
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; |
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; |
17 | poly->verts[i][5] = s; |
18 | poly->verts[i][6] = t; |
Если проставлен 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 21-07-2025 в 16:22:
Цитата:
Дядя Миша писал:
предумножить лайтмапу на диффузку и сохранить результат в особую диффузку, вкомпиленную прямо внутрь карты и используемую только на этой поверхности (как в VHLT).
В паранойевских тулзах это вырезано? Смутно припоминаю, что когда-то давно, году в 2020-м, видел разницу после китайца. После этого долго не мапал места, где такое всплывает, поэтому спрашиваю.
Отправлено Crystallize 25-07-2025 в 17:49:
Цитата:
XaeroX писал:
Хм, я сколько с тобой общаюсь, мне кажется, что ты шутишь как минимум в половине постов. может быть, я ошибался все эти долгие годы
Я не знаю о чем именно речь... Я попытался адаптировать под себя ваши с ДМ перестроечные и еврейские шутки чтобы выстроить некую минимальную психологическую оборону чтобы не было так больно когда я вам проигрываю, а проигрываю я каждый раз когда кто-то не согласен со мной по вопросу типа светотекстура это лазер или нет, то есть в подавляющем большинстве постов. И это на глазах у всего форума (хотя тут уже и нет столько народу).
До сих пор помню друган прокомментировал что меня "раскатали в комментариях" под моими статьями 2015 года про графику, хотя сейчас уже никто не вспомнит и не найдет их без меня.
Может это эгоизм или нарциссизм или хз что вообще. В принципе это началось ещё с 2014 когда у тебя и половины форума внезапно обнаружились политические суждения, появился Мастер (о существовании которого я и не подозревал) и вся эта политика начала нападать на мои установки заложенные ещё где-то в дошкольном возрасте, о том что кооперация лучше конкуренции и о том что любой человек тебя полюбит если ты хороший мальчик.
Отправлено XaeroX 26-07-2025 в 04:34:
Цитата:
Crystallize писал:
чтобы не было так больно когда я вам проигрываю, а проигрываю я каждый раз когда кто-то не согласен со мной по вопросу типа светотекстура это лазер или нет, то есть в подавляющем большинстве постов.
Ну вот опять - ты же это в шутку пишешь, не всерьёз? Какие ещё проигрыши? Ты же вроде к нам учиться приходишь, а не в интеллектуальные игры играть?
Цитата:
Crystallize писал:
у тебя и половины форума внезапно обнаружились политические суждения
Политические темы были всегда, даже во времена хлру. Справедливости ради, я в них участвовать не любил, т.к. считал это пустой тратой своего времени, мол, зачем спорить об очевидном? Но после 2014 меня слегка бомбануло, потому что непризнание очевидного начало постепенно приводить к трагическим последствиям.
Цитата:
Crystallize писал:
появился Мастер
Мастер, опять же, был ещё на хлру. Тогда он писал исключительно транслитом и косил под эмигранта. Я тогда был уверен, что Мастер живёт где-нибудь в Штатах. Каково же было моё изумление, когда я узнал, что он из Москвы? Но мы в итоге его таки отучили транслитом писать. 
Цитата:
Crystallize писал:
кооперация лучше конкуренции
Это как? Когда все товарищи в едином порыве - пятилетку в четыре года?
Цитата:
Crystallize писал:
любой человек тебя полюбит если ты хороший мальчик
Не хороший мальчик, а червонец!__________________
Отправлено Дядя Миша 26-07-2025 в 07:14:
Цитата:
Ku2zoff писал:
В паранойевских тулзах это вырезано?
Параноевские тулзы основаны на оригинальном вальвовском коде компиляторов. Там этого не было. Как можно вырезать то, чего не было изначально?
Цитата:
Crystallize писал:
когда кто-то не согласен со мной по вопросу типа светотекстура это лазер или нет
Ну была такая текстура "laser" действительно. Но она не использовалась.
Цитата:
Crystallize писал:
До сих пор помню друган прокомментировал что меня "раскатали в комментариях" под моими статьями 2015 года про графику
а что за статьи?__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'