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

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- BSP v. 31 (https://hlfx.ru/forum/showthread.php?threadid=3701)


Отправлено Дядя Миша 05-12-2012 в 20:10:

BSP v. 31

Поскольку народ упорно цепляется за GoldSrc, напрочь игнорируя разные более новые форматы, то рано или поздно встаёт вопрос о несоответствии возможностей текущему времени. Т.е., если в 1998 году возможностей халфовского формата хватало всем и каждому, то сейчас не хватает совершенно. Причём, зачастую основные проблемы нехватки ресурсов кроются даже не в абсолютных лимитах, как таковых, а в нерациональном использовании ресурсов, что решается применением оптимизированного компилятора. Поскольку исходников халфы мы так и не увидели, то все силы кодеров были брошены именно на компиляторы, как на единственный способ создавать отличные карты в условиях ограниченных лимитов. И надо сказать они достигли в этом деле очень больших успехов. Ни для одной кваки нету таких продвинутых пользовательских компилеров, как для халфы. Однако несмотря на всё это, необходимость в новом формате карт постепенно назревала. Товарищи с twilight, когда им перестало хватать лимитов замутили формат BSP2 - просто заменили все unsigned short на unsigned int, не трогая сами структуры. Я в ксаше так поступить не могу - нарушится абсолютно вся совместимость. Однако я тоже кое-что придумал. Собственно, эта тема - плод долгих измышлений и опытов. На выходе должен получится новый формат карт - BSP 31, халфовская версия, как мы помним имеет номер 30.
Основные изменения, которые планируется сделать:
1. изменить кол-во лукселей на нексель. В оригинале, как мы помним приходилось 16 текселей на луксель, тени получались исключительно размытые. Я планирую использовать 4 текселя на луксель, размер лайтдаты увеличится в 4 раза, но, как вы понимаете это не смертельно.
2. при таких больших лайтмапах само собой разумеется использовать субдивайд не 240, а 512. В подавляющем большинстве случаев это сократит кол-во полигонов на карте в 4 раза. Ну да впрочем, это вы и без меня знаете.
3. исправить самый надоедливый лимит - на клипноды. Проявляется он потому, что у нас общий лимит 32768 узлов на 4 дерева. То есть хоть тресни, но нам необходимо построить 4 дерева клипнодов и уложить их в лимит. Получается зачастую "на грани", когда их объем уже вплотную подходит к лимиту. Самый простой способ устранения данной проблемы - заменить short children[2] на int children[2] в описании клипнодов. Как вы помните эти структурки торчат из движка во все стороны и менять такие вещи попросту опасно, но к великому счастью, непосредственно указатель на dclipnode_t нигде не имеет прямого обращения из кода пользовательской части. К тому же я просто уверен, что ни в одном из сотен халфовских модов его не юзают - попросту нет в нём необходимости. А моды с кастомным рендерером могут использовать переменную firstclipnode, которая и так уже int, т.е. эту часть даже трогать не придется. Правда при таком подходе мы будем ограничены в 32768 узлов на одно клип-дерево, но это означает расширение лимита в 4 раза, чего, опять таки, более чем достаточно на мой взгляд.
4. ну и завершающим аккордом у получившегося бсп-файлика будет прописан номер версии 31, дабы халфа его сдуру не попыталась загрузить. Сам кастомный компилятор будет реализован на базе VHLT 30, к тому же можно будет попросить китайца включить все эти изменения в виде отключаемых участков кода - почему бы и нет.
Ну и, чтобы не быть голословным приведу в пример скриншот моих опытов.
subdivide 512 и 4 текселя на 1 луксель. VHLT 28, тень от "дырявой" текстуры.
Жду ваших комментариев и предложений.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 05-12-2012 в 20:40:

Цитата:
Дядя Миша писал:
Товарищи с twilight, когда им перестало хватать лимитов замутили формат BSP2

А какой игрой он поддерживался?

Добавлено 06-12-2012 в 03:40:

Цитата:
Дядя Миша писал:
как мы помним приходилось 16 текселей на луксель

Емнип, 256 текселей на люксель. Они ж квадратные.
Если ты снизил до 4*4=16 текселей на люксель, то размер лайтмап вырастает в 16 раз, а это, по-моему, смертельно.
Пусть знающие люди меня поправят, если я не прав.

__________________

xaerox on Vivino


Отправлено Lev 05-12-2012 в 20:41:

Это тень от func_illusionary? Тогда очень здорово.


Отправлено Дядя Миша 05-12-2012 в 20:52:

Цитата:
XaeroX писал:
А какой игрой он поддерживался?

нету таких игр. Есть только поддержка на уровне движков Darkplaces и FTE. Но авторы FTE шарят только в виртуальных машинках, а остальное тупо копипастят откуда угодно.
Цитата:
XaeroX писал:
Емнип, 256 текселей на люксель. Они ж квадратные.

Кто квадратные
Кол-во лукселей всегда считалось исходя из кол-ва текселей, а кол-во текселей всегда считалось исходя из реального размера текстуры, умноженного на текстурную матрицу - операции "натягивания" текстуры на браш, вращения, транслейта итд. Ну все в курсе, вообщем.
При этом в игре не могло быть фейсов размером более 512 текселей, поскольку субдивайд. 512 / 4 = 128. Ну с ошибками округления ~= 131.
Т.е. максимальная лайтмапа на 1 фейс заняла бы всю стандартную халфовскую текстуру, которая как мы помним как раз и имеет размеры 128х128. Такие дела.

Добавлено 06-12-2012 в 00:52:

Цитата:
Lev писал:
Это тень от func_illusionary?

от func_wall с zhlt_lightflags opaque.

__________________
My Projects: download page

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

Цитата:

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


Отправлено (_-=ZhekA=-_) 05-12-2012 в 21:25:

А что будет с планерсами? Я так понимаю лимиты будут схожи с хл2?


Отправлено qpAHToMAS 05-12-2012 в 22:24:

Цитата:
Дядя Миша писал:
Товарищи с twilight, когда им перестало хватать лимитов замутили формат BSP2

Кто такие? Google упорно говорт, что это фильм такой, сумерки.

Цитата:
Дядя Миша писал:
Ну и, чтобы не быть голословным приведу в пример скриншот моих опытов.
subdivide 512 и 4 текселя на 1 луксель. VHLT 28, тень от "дырявой" текстуры.

Не хватает скриншотов "до" и "после", точнее только "до", дабы сравнить можно было.


Отправлено Crystallize 06-12-2012 в 00:15:

Цитата:
qpAHToMAS писал:
Не хватает скриншотов "до" и "после", точнее только "до", дабы сравнить можно было.

Во-во. Если бы дядя Миша не сказал, я так и думал бы, что это стандартная халфовская тень.


Отправлено Ku2zoff 06-12-2012 в 03:54:

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


Отправлено Government-Man 06-12-2012 в 03:58:

Фу ступенчатые тени какой кошмар. Неужели нельзя замутить какое-нибудь сглаживание как в современных движках?


Отправлено qpAHToMAS 06-12-2012 в 04:31:

Цитата:
Crystallize писал:
Во-во. Если бы дядя Миша не сказал, я так и думал бы, что это стандартная халфовская тень.

Нет, ну конечно 4 wpoly в кадре и такая тень — слишком далеко от стандартной халфовской, но наглядное сравнение — отличная штука.

Цитата:
Government-Man писал:
Фу ступенчатые тени какой кошмар. Неужели нельзя замутить какое-нибудь сглаживание как в современных движках?

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


Отправлено Ku2zoff 06-12-2012 в 04:36:

Цитата:
qpAHToMAS писал:
и выпущено под названием Volatile3D II

ФПС в котором страшно проседает местами Хотя в OI: FD всё более или менее нормально, а вот в Вольфраме жуть просто.
Сглаживание уже обсуждалось в теме про компиляторы китайца. Было высказано предположение, что оно может давать артефакты при определённых условиях. Так что лучше увеличить разрешение теней.


Отправлено CrazyRussian 06-12-2012 в 05:43:

Предложение - сделать возможность пользователю выбирать масштаб текселей к люкселям, как в сорсе.

__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов


Отправлено XaeroX 06-12-2012 в 07:51:

Дядя Миша
Тексели и пиксели квадратные. Если ты уменьшил величину ребра с 16 до 4, то площадь уменьшилась не в 4, а в 4*4=16 раз.

__________________

xaerox on Vivino


Отправлено FiEctro 06-12-2012 в 08:14:

Дядя Миша
А не полетит совместимость если диапазон лайтмап увеличить?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено HAWK0044 06-12-2012 в 14:38:

FiEctro формат v31 так что халфа не будет его грузить, поэтому не полетит.


Временная зона GMT. Текущее время 06:03. Страницы (3): [1] 2 3 »
Показать все 36 сообщений этой темы на одной странице

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