Страницы (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)
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'
__________________
Это тень от func_illusionary? Тогда очень здорово.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
А что будет с планерсами? Я так понимаю лимиты будут схожи с хл2?
Это получается, что будут улучшены тени, увеличен лимит на клипноды и subdivide тоже будет увеличен. Собственно, не так уж много, но совместимость не изломается. А много ли нашим мапперам надо? Я на качество теней в халфе не очень-то обращаю внимание, разве что когда они уж совсем ступенчатые. Вот ещё бы лайтгрид для правильного освещения моделей и вообще конфетка будет.
Фу ступенчатые тени какой кошмар. Неужели нельзя замутить какое-нибудь сглаживание как в современных движках?
Предложение - сделать возможность пользователю выбирать масштаб текселей к люкселям, как в сорсе.
__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов
Дядя Миша
Тексели и пиксели квадратные. Если ты уменьшил величину ребра с 16 до 4, то площадь уменьшилась не в 4, а в 4*4=16 раз.
__________________
Дядя Миша
А не полетит совместимость если диапазон лайтмап увеличить?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro формат v31 так что халфа не будет его грузить, поэтому не полетит.
Временная зона GMT. Текущее время 06:03. | Страницы (3): [1] 2 3 » Показать все 36 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024