HLFX.Ru Forum
Показать все 334 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Paranoia 2:Savior (https://hlfx.ru/forum/forumdisplay.php?forumid=38)
-- Блог разработчика (https://hlfx.ru/forum/showthread.php?threadid=5236)


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

Блог разработчика

Ну что же. Разработка обновлённой версии P2:Savior 1.51 плавно движется к своему логическому завершению. За прошедший месяц рендерер был сильно переписан, я уже писал об этом на CSM. Перечислю то, что еще осталось сделать:

1. Полная ревизия кода декалей, поддержка декалей на полупрозрачных поверхностях.
2. бета-тестирование обновлённой P2:Savior, исправление оставшихся ошибок.

__________________
My Projects: download page

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

Цитата:

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


Отправлено a1batross 06-05-2019 в 01:21:

Паранойя все ещё совместима с Xash3D, или уже пилится параллельно с и для XashNT?

__________________
Xash3D FWGS форк


Отправлено Cybermax 06-05-2019 в 02:35:

Цитата:
Дядя Миша писал:
Есть идея составлять вью-модель из двух моделей. Общая модель рук и модель оружия со всеми анимациями.

Вот это точно не надо. Модели все переделывать, ненужная работа. В ТЧ оружие вместе с руками, удобно. В ЧН и ЗП разделили, неудобно очень.


Отправлено Дядя Миша 06-05-2019 в 06:57:

Цитата:
a1batross писал:
Паранойя все ещё совместима с Xash3D

совместима конечно.

Цитата:
Cybermax писал:
Вот это точно не надо

Ты не понял. Старый вариант тоже останется.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Elber 06-05-2019 в 19:28:

Цитата:
Cybermax писал:
Вот это точно не надо. Модели все переделывать, ненужная работа. В ТЧ оружие вместе с руками, удобно. В ЧН и ЗП разделили, неудобно очень.


Пайплайн работы с анимациями конечно немного усложняется, но это даст возможность менять хадовые руки при надобности. Старый вариант как всегда остается. А удобно или нет - это уже вопрос того чем ты пользуешься при работе с анимациями.

Цитата:
Дядя Миша писал:

9. Система скриптовых монстров. Ну тут по аналогии с оружием - пишем скрипт с настройками и там указываем различные параметры наших монстров. Естественно это не даст 100%-й свободы, но человекоподобных монстров создавать будет достаточно удобно. И всяко лучше чем прописывать часть этих настроек внутри энтити, как это изначально было в спирите.

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


Отправлено Ghoul [BB] 06-05-2019 в 20:05:

Может тогда сделаешь поддержку одной модели пушки для всех трех видов? (VIEW, PLAYER, WORLD)? Это бы намноо ощутимее сэкономило ресурсы.

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено Дядя Миша 06-05-2019 в 20:32:

Elber пушки-то аттачатся по имени кости. Ты готов унифицировать все скелеты, игрока, монстриков? Вопрос только в этом. Так-то без проблем любая пушка даётся NPC в руки, при условии что скелеты совпадают.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Cybermax 07-05-2019 в 00:07:

Цитата:
Elber писал:
Пайплайн работы с анимациями конечно немного усложняется, но это даст возможность менять хадовые руки при надобности. Старый вариант как всегда остается. А удобно или нет - это уже вопрос того чем ты пользуешься при работе с анимациями.

Я из модов на ТЧ и КС:C моделей насобирал. Скелеты разные. Меш рук им одинаковый сделать могу, но цеплять их всех на один скелет и анимировать заново не готов. Я то думал что старый метод уберет.
Если делать модели с нуля, могу предположить что новый способ удобнее.


Отправлено Chyvachok 07-05-2019 в 06:02:

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


Отправлено a1batross 07-05-2019 в 17:47:

Chyvachok

Цитата:
не помню чтобы там мультиплеере был


Утверждают, что он всегда разрабатывался с оглядкой на mp.

__________________
Xash3D FWGS форк


Отправлено Elber 07-05-2019 в 19:51:

Цитата:
Ghoul [BB] писал:
Может тогда сделаешь поддержку одной модели пушки для всех трех видов? (VIEW, PLAYER, WORLD)? Это бы намноо ощутимее сэкономило ресурсы.

Я так делал в УЕ4, на ксаше хз, ДМу виднее.

Цитата:
Дядя Миша писал:
Elber пушки-то аттачатся по имени кости. Ты готов унифицировать все скелеты, игрока, монстриков? Вопрос только в этом. Так-то без проблем любая пушка даётся NPC в руки, при условии что скелеты совпадают.

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

Цитата:
Cybermax писал:
Я из модов на ТЧ и КС:C моделей насобирал. Скелеты разные. Меш рук им одинаковый сделать могу, но цеплять их всех на один скелет и анимировать заново не готов. Я то думал что старый метод уберет.
Если делать модели с нуля, могу предположить что новый способ удобнее.


Насобирал всмысле просто насобирал или это все это в одном каком-то проекте? ИМХО разные скелеты рук игрока в одной игре - это хлам.
В особых случаях, если тебе очень нужна анимация с другого скелета - почти всегда можно сделать ретаргет скелета.

Цитата:
Chyvachok писал:
Сменные руки фишка прикольная, правда нужна она разве что в сталкере где есть разные костюмы которые можно надевать или в мультиплеере где есть разнообразные модели игроков, интересно где она найдёт применение в параное, не помню чтобы там мультиплеере был, было бы прикольно увидеть такую фичу в ксаш моде, там на мой взгляд куда проще найти ей применение, в том же мультиплеере в халве куда больше разнообразия моделей игроков, да и в сингле можно было бы реализовать чтобы разные руки были в зависимости от костюма, а тут в основном зомбе и солдаты.

Не совсем, вспомни ту же колду, когда игрок может в разных условиях по разному одет, хевик или бежавший из лагеря игрок = разные "сливы".
Что касается ксаша - тут мне кажется есть немного вредоносного унифицирования от ДМ. К примеру, есть оружейная система как в П2, допустим отдебаженная и все такое, слоты, позиции слотов и тп. Это это лишь дизайн игрока конкретно ЭТОЙ игры, и если потенциально придется делать другую игру, о другом - система пушек в таком виде по-хорошему переделывается.
Аналогично с менюшкой, если ее переделать, то такая обнова двигла сломает тот же IOH, т.е. потребуется его переделывать, потому что в параное это изменено. Это все примеры.
Я к тому что одна игра или ее серия = один дизайн, альтернативная игра = другой дизайн. Сейчас в кокретно в параное отдельные руки смогут сэкономить количество текстур в папках, это главная цель, но как помните - игрок сливы не меняет в паранойке, ибо всегда в камуфляже.


Отправлено Ghoul [BB] 07-05-2019 в 21:00:

Цитата:
Elber писал:





Насобирал всмысле просто насобирал или это все это в одном каком-то проекте? ИМХО разные скелеты рук игрока в одной игре - это хлам.
В особых случаях, если тебе очень нужна анимация с другого скелета - почти всегда можно сделать ретаргет скелета.



Ну не все же могут позволить себе изготовить целый пак своих собственных моделей.
В этом случае самое разумное - использовать другие модели из разных модов, игруль или просто одиночные поделки. Благо сеть ломится от них. А в этом случае разных скелетов не избежать.
Да и так ли это плохо, если рассудить?
Можно ориентироваться на какие-то определенные, ключевые кости, типа кости руки или ладони, чтобы они совпадали. К ним и цеплять модели , а все остальные могут иметь какие угодно названия и порядок. Ну, как с моделями игроков и p_mdl оружия обстоит дело: зачастую скелеты разные, но оружие нормально крепится к рукам, при условии совпадения названия кости.

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено Дядя Миша 07-05-2019 в 21:03:

Цитата:
Elber писал:
Если быть точнее - ты хотел сказать шареное имя кости для аттача пушки должно совпадать.

ну да.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ghoul [BB] 07-05-2019 в 21:07:

Вообще, конечно, для чего такая экономия на текстурах-то? В Ксаше лимит сильно увеличен на них, и, если надо, его ещё можно поднять. Видеопамять? Ну тоже сейчас менее гигабайта мало у кого осталось...

Добавлено 08-05-2019 в 00:07:

Просто я как думаю: для всех трех моделей если будет какое-то переключение высокополигональной модели от первого лица и от третьего менее детальной. Ну и внешние руки, которые монут быть прицеплены на модель от первого лицо...

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено Elber 07-05-2019 в 21:46:

Цитата:
Ghoul [BB] писал:
Вообще, конечно, для чего такая экономия на текстурах-то? В Ксаше лимит сильно увеличен на них, и, если надо, его ещё можно поднять. Видеопамять? Ну тоже сейчас менее гигабайта мало у кого осталось...


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

Добавлено 08-05-2019 в 00:46:

Цитата:
Ghoul [BB] писал:

Просто я как думаю: для всех трех моделей если будет какое-то переключение высокополигональной модели от первого лица и от третьего менее детальной. Ну и внешние руки, которые монут быть прицеплены на модель от первого лицо...


Все зависит от задач. Конкретно в П2 непись бегающий с пушкой в 10К поликов, с текстурами в 2048х2048 - не оправдывает затраты памяти.


Отправлено Cybermax 07-05-2019 в 21:57:

Цитата:
Elber писал:
Насобирал всмысле просто насобирал или это все это в одном каком-то проекте? ИМХО разные скелеты рук игрока в одной игре - это хлам.
В особых случаях, если тебе очень нужна анимация с другого скелета - почти всегда можно сделать ретаргет скелета.


Собрал для мода: нож, пистолет, дробовик, автомат, снайперская, пулемет, гранатомет.
В принципе у меня только дробовик и автомат взяты не из модов на ТЧ. У остальных моделей не сравнивал скелеты, просто портировал.
Сейчас ковыряю скрипты чтобы это всё имело нужное кол-во патронов, калибр, слот и т.д. В скриптах тоже некоторые вещи вызывают затруднения. Из Грозы не получается сделать гранатомет. В идеале бы урок, как с нуля сделать новый вид патронов и оружие.


Отправлено Elber 07-05-2019 в 22:32:

@Cybermax
Обращайся если нужна будет помощь в чем-либо.


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

Цитата:
Ghoul [BB] писал:
Видеопамять? Ну тоже сейчас менее гигабайта мало у кого осталось...

особенно у тебя самого

Добавлено 08-05-2019 в 13:10:

Ну что же. Сделал составную модель оружия. Рендеринг моделей предполагает изначально эту схему, игрок + випонмодель от третьего лица.
Я просто для вьюмодели сделал вьюмодель + руки, ничего более не меняя.
Руки мержатся так же как мержилась бы випонмодель от третьего лица в руках игрока. Таким образом изменения в коде минимальные, я просто в энтить вьюмодели записал в curstate.weaponmodel индекс модельки рук и всё сработало само-собой.
Правда с самой моделькой пришлось повозиться, чтобы компилятор не отрезал "лишние" кости, это делается через команду $bonemerge. Ну я потом расскжау подробно.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ghoul [BB] 08-05-2019 в 10:32:

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

Добавлено 08-05-2019 в 00:46:



Все зависит от задач. Конкретно в П2 непись бегающий с пушкой в 10К поликов, с текстурами в 2048х2048 - не оправдывает затраты памяти.


1. Я не уверен, что оно сейчас работает, как надо, но в свое время ДМ заявлял, что хочет сделать отсечение одинаковых текстур ,если имя (и размер?) совпадают.

2. А объясни мне, какая разница, какая текстура натянута на пушку непися?ну, если игра загрузила одну такую текстуру, и использует её на всех таких оружиях. Я понимаю, когда было 3 разных модели и было логичным сжимать текстуры по размеру на моделях от третьего лица т.к. там было 3 разных текстуры.. ну, ладно, благодаря Мастеру, мы избавились от одной лишней world модели, заменив её простым переключением анимаций (на земле и в руках) для player модели, сэкономив треть машинных ресурсов...

Кстати, мне любопытно, как оно умудряется все быстро работать в Каунтер Страйке, а ведь там зачастую встречаются "любительские" модели оружия на 20 килополи для каждого из всех трёх ракурсов... такое ощущение, что люди, изготавливающие это, совершено не заморачиваются подобными вещами, как оптимизация.

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено Дядя Миша 08-05-2019 в 11:04:

Цитата:
Ghoul [BB] писал:
но в свое время ДМ заявлял, что хочет сделать отсечение одинаковых текстур ,если имя (и размер?) совпадают.

На самом деле это очень стрёмная затея была, я не рискнул. Или совместимость сломаю или текстуры начнут путаться. Вот этот вариант с руками куда лучше, да и движок он не трогает.

Цитата:
Ghoul [BB] писал:
ну, если игра загрузила одну такую текстуру, и использует её на всех таких оружиях

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

Цитата:
Ghoul [BB] писал:
ну, ладно, благодаря Мастеру, мы избавились от одной лишней world модели, заменив её простым переключением анимаций (на земле и в руках) для player модели

Какому нахрен Мастеру Эту концепцию я разработал в 2004-м году, а Мастер утащил к себе в XDM по моей рекомендации.

Добавлено 08-05-2019 в 14:04:

Так ну чтоже. В настоящий момент я работаю над декалями. На первый взгляд они в порядке. Но есть масса нереализованных вещей.
Во первых нужна поддержка декалей с альфа-каналом. Декали с серой базой ВСЕГДА полупрозрачны, они как бы "вьедаются" в цвет поверхности на которой находятся. У них есть плюс - их не надо освещать отдельно, за счёт такого режима блендинга освещение получается как бы автоматически. Ну по сути они блендятся в том же режиме что и детальные текстуры. Так что поддержка декалей с альфа-каналом нужна. Но к ним надо дополнительно написать код освещения от динамических источников.
Во вторых для декалей на студиомоделях необходимо сделать аппаратное ускорение на видеокарте. Всё дело в том, что декали на скинненых мешах не клипаются, они фактически наследуют этот меш полностью. Потому что эффективно клипнуть декаль на меше со скиннингом не получится, будет некрасиво выглядеть. А мешы, сами понимаете какие бывают и по 20-30 тыщ вертексов. То есть получается идиотская ситуация, модели не тормозят, а декали на них тормозят, потому что через бегины рисуются.
В третьих на моделях щас идёт отрисовка декалей, отсортированных по материалу, а вовсе не по времени их нанесения, это тоже выглядит некрасиво.
В четвертых, самое главное, я хочу замутить корректные декали для полупрозрачных поверхностей. Наложить декаль на непрозрачную или прозрачную поверхность - вообщем-то разницы никакой, это делается одинаково. Но вот когда мы заглянем сквозь стекло сзади - мы увидим... Да собственно ничего мы не увидим. Не будет так декаль рисоваться.
В движке я это сделал, но там стёкла через блендинг, так что никаких проблем. А в параное стёкла пишутся в буффер глубины, а прозрачность через копию экрана, так что этот способ не сработает. Фактически декали придётся рисовать дважды - перед отрисовкой полигона и после отрисовки полигона, но выводится будут только видимые игроку.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ghoul [BB] 08-05-2019 в 13:05:

Цитата:
Дядя Миша писал:
особенно у тебя самого

Ну что же. Сделал составную модель оружия. Рендеринг моделей предполагает изначально эту схему, игрок + випонмодель от третьего лица.
Я просто для вьюмодели сделал вьюмодель + руки, ничего более не меняя.
Руки мержатся так же как мержилась бы випонмодель от третьего лица в руках игрока. Таким образом изменения в коде минимальные, я просто в энтить вьюмодели записал в curstate.weaponmodel индекс модельки рук и всё сработало само-собой.
Правда с самой моделькой пришлось повозиться, чтобы компилятор не отрезал "лишние" кости, это делается через команду $bonemerge. Ну я потом расскжау подробно.


ну я ж о себе в последнюю очередь думаю.
У меня и параноя не работает как надо. что ж теперь?

Кстати, о модельках и текстурах к ним: в counter-strike online используется какой-то хитрый метод: во всех моделях от первого лица руки используют мелкую текстурку 2на 2 пикселя с чёрной заливкой. А откуда-то подгружается нормальная полноцветная и полноразмерная текстурка рук, когда оно в игре. Может, такой способ тоже будет интересен. Моделька для примера в аттаче.

Добавлено 08-05-2019 в 16:05:

Цитата:
Дядя Миша писал:
Да собственно ничего мы не увидим. Не будет так декаль рисоваться.
В движке я это сделал, но там стёкла через блендинг, так что никаких проблем. А в параное стёкла пишутся в буффер глубины, а прозрачность через копию экрана, так что этот способ не сработает. Фактически декали придётся рисовать дважды - перед отрисовкой полигона и после отрисовки полигона, но выводится будут только видимые игроку.


А может, для таких вещей просто рисовать двусторонние декали?

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено ~ X ~ 09-05-2019 в 12:01:

Забавно. К идее, которую я озвучивал на ХЛру более 10 лет назад, снова вернулись.
Это про п/в/в-омдели и скелетоны.

Цитата:
Elber писал:
Оптимизация должна стремится к нулю, а быстродействие к бесконечности.

1) https://tsya.ru <- тебе сюда
2) это редкий случай, когда не "пчёлы против мёда", а "мёд против пчёл"?

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]


Отправлено Cybermax 09-05-2019 в 12:10:

Цитата:
Elber писал:
@Cybermax
Обращайся если нужна будет помощь в чем-либо.

Спасибо, обращусь, но чуть позже.

По поводу всех манипуляций с моделями, метод когда используется одна модель от третьего лица кажется мне единственно верной в идеале.
https://www.youtube.com/watch?v=pTBkGovJIL8


Отправлено Дядя Миша 09-05-2019 в 18:11:

Цитата:
Ghoul [BB] писал:
А может, для таких вещей просто рисовать двусторонние декали?

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

Цитата:
~ X ~ писал:
Забавно. К идее, которую я озвучивал на ХЛру более 10 лет назад, снова вернулись.

Да нет ничего гениального в этой идее, она каждому в голову приходила хотя бы раз.

Цитата:
Cybermax писал:
Спасибо, обращусь, но чуть позже.

Давайте пожалуйста обращаться в другом месте, спасибо.

Добавлено 09-05-2019 в 21:11:

Между прочим переписывание кода декалей, вскрыло совершенно ужасный баг с VAO\IBO, который там сидел с 2014-го года, и только сейчас, когда я начал деномически подгружать декали, наконец-то проявил себя во всей красе. Причём судя по всему то, что я исправил должно наконец-то заставить параною корректно работать и на старых железках, там где она раньше вылетала по необъяснимым (на тот момент) причинам. Я конечно собирался делать ревизию гл-стейта в любом случае, но честно говоря мне всё это даже в голову прийти не могло.

__________________
My Projects: download page

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

Цитата:

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


Отправлено thambs 09-05-2019 в 18:22:

>стёкла это солидные, непрозрачные объекты
Это как?

__________________
http://www.moddb.com/mods/monorail-quest


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

Ну чтожы, благодаря вчерашней работе над ошибками, P2 уже частично стартует на Radeon X1600
Там какие-то проблемы с выравниванием half-float в вертексных буфферах, не любит это дело радеон, ох не любит. Вплоть до вылетов.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 11-05-2019 в 08:59:

Окончательно локализовал проблему. Всё дело в том, что X1600 не умеет в халф-флоаты, только эмуляция. Поэтому оно тормозит и вылетает.
Так же добавил декалям параллакс, теперь можно делать дырки в стенах

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 11-05-2019 в 09:01:

Ну и знаменитый тест параллакса, куда же без него.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 11-05-2019 в 14:06:

Дядя Миша а эта реализация параллакса сильно отличается от того что в 2007 называли Relief Mapping? Ну и там ещё мод на Думтри был.


Отправлено Дядя Миша 11-05-2019 в 15:48:

Crystallize это из кризиса параллакс, рельеф чуть хуже выглядит, но я оставил его функцию, кто захочет сравнит.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Chyvachok 11-05-2019 в 16:13:

Из всех графических фич паралакс самая годная, куда лучше чем всякие выедающие глаза блюры, блумы и прочая мыльная муть, особенно декали с ней, помню в игре Fear и Фолыче 3/Нью Вегас были такие декали, круто выглядит, было бы прикольно если бы ещё декали при накладывании на друг друга объеденялись.


Отправлено Дядя Миша 11-05-2019 в 16:24:

Цитата:
Chyvachok писал:
было бы прикольно если бы ещё декали при накладывании на друг друга объеденялись.

на форварде такое неудобно делать. Но да, некоторый эффект объединения присутствует.

Цитата:
Chyvachok писал:
блюры, блумы и прочая мыльная муть

Блуры-блумы делали в основном в середине нулевых, когда хотелось эффектов, а ничего особо нельзя было себе позволить. В параное мало пост-процесса, блур под водой, доф на железом прицеле и саншафты. А ну и черно-белый экран при смерти. Может прикручу кинематографическую цветокоррекцию, но я на всё это смотрю скептически. В 70-80-е годы у меломанов тоже забава была - эквалайзер, накрутят ползунки и тащатся. Потом эта дурь сошла на нет. Здесь тоже самое будет.

__________________
My Projects: download page

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

Цитата:

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


Отправлено thambs 11-05-2019 в 16:33:

Дядя Миша
Скрин как они накладываются? А яма красивая, да.

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено Дядя Миша 11-05-2019 в 16:43:

Ну вот три ямы. Это само-собой получается, поэтому будет корректным далеко не во всех случаях. Самый интересный, вариант, сами понимаете, это декаль с параллаксом, наложенная на поверхность с параллаксом. Хотя конечно и такое тоже возможно.

А ямы кстати так себе, их Элбер за 10 минут нарисовал. Мог бы и красивше сделать.

Добавлено 11-05-2019 в 19:43:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено thambs 11-05-2019 в 16:44:

Дядя Миша
А на неровных поверхностях и углах оно как, например, если у стыка стены и пола?

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено Дядя Миша 11-05-2019 в 18:14:

thambs декали так не ложаться. Есть такая штука, как Silhouete Parallax Mapping, но в наше время помоему проще сделать тесселяцию по хейтмапе.

Добавлено 11-05-2019 в 21:14:

Ну вот я две декали наложил. Странно-вата выглядит.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 11-05-2019 в 18:49:

Цитата:
thambs писал:
Дядя Миша
А на неровных поверхностях и углах оно как, например, если у стыка стены и пола?

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

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


Отправлено nemyax 11-05-2019 в 18:51:

Такое бы протев усреднённой нормали зацепленных полигонов проецировать.


Отправлено Дядя Миша 11-05-2019 в 19:43:

Цитата:
FiEctro писал:
Саму поверхность оно никак не деформирует

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

Добавлено 11-05-2019 в 22:43:

ЗЫ. я может сделаю "проекционные" декали, которые сразу накладываются на несколько сурфейсов. Там на каждый вертекс такой декали надо персональный TBN посчитать, я когда переведу их на VBO, то сделаю.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 12-05-2019 в 08:03:

Цитата:
Дядя Миша писал:
декали так не ложаться. Есть такая штука, как Silhouete Parallax Mapping

А он есть? По-моему это уже что-то из разряда Нибиру и снежного человека, все знают но никто не видел. Я даже демки нагуглить не мог.


Отправлено Ghoul [BB] 12-05-2019 в 08:28:

Цитата:
Дядя Миша писал:
Окончательно локализовал проблему. Всё дело в том, что X1600 не умеет в халф-флоаты, только эмуляция. Поэтому оно тормозит и вылетает.
Так же добавил декалям параллакс, теперь можно делать дырки в стенах


Что, прям насквозь?!

А чой-то края у этой декали замыленные такие?!

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено XaeroX 12-05-2019 в 08:30:

Цитата:
Ghoul [BB] писал:
Что, прям насквозь?!

Нет, как в свитче у Мастера.

__________________

xaerox on Vivino


Отправлено Дядя Миша 12-05-2019 в 08:50:

Цитата:
Crystallize писал:
По-моему это уже что-то из разряда Нибиру и снежного человека, все знают но никто не видел

в пятом крайэнджине. Демки больше никто не пишет и писать больше никогда не будет.

Цитата:
Ghoul [BB] писал:
Что, прям насквозь?!

Наскрозь, это для стикол можно такое сделать.

Цитата:
Ghoul [BB] писал:
А чой-то края у этой декали замыленные такие?!

так уж её нарисовали.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Chyvachok 12-05-2019 в 09:00:

Ghoul [BB] паралакс это типа эмуляция обьемности, визуально придаёт объема плоской текстуре при помощи нормаль мапы, но она плоской по сути и остается, то есть чисто визуальный эффект, предметы и нас в дырку не будут проваливатся, честную разрушаемость только в ред фекшоне я и видел, правда там далеко не все разрушаемо, а во второй части этих ломаемых стен вообще почти не использовали, игра бы и не изменилась бы если этих стен не было вообще, да и вообще вторая часть только дизайном оружия и управляемый роботом похвастаться, как игра и продолжение первой части она никакая вообще.

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


Отправлено Дядя Миша 12-05-2019 в 09:30:

Цитата:
Chyvachok писал:
визуально придаёт объема плоской текстуре при помощи нормаль мапы

Нет, параллакс работает и без нормалмапы тоже. Хотя с ней конечно лучше.

__________________
My Projects: download page

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

Цитата:

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


Отправлено thambs 12-05-2019 в 09:39:

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

А визуальню глубину в юнитах, на 255 оттенков хейтмэпы же можно настроить? Если делать эти ямы не слишком глубокими, юнита 4-6 максимум, то, полагаю, что обманка особо заметна не будет, а смотреться будет рассово.

__________________
http://www.moddb.com/mods/monorail-quest


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

Для мелких точечечных объектов можно реально считать глубину этой хейтмапы на плоскости на CPU. У них всё равно нет нормальной физики, достаточно просто .z поддкорректировать и всё. Тем более что эти патроны отродясь и в стены проваливались краями. А персам можно посчитать ИК для хейтмапы. Но это всё уже в NT, я не хочу так глубоко капать в параное, я так её никада не доделаю.

Из новостей:
починил и вернул в строй окклюжены, теперь загороженные зеркала отсекаются и кое-где фпс вырос вдвое.

Добавлено 12-05-2019 в 13:43:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 12-05-2019 в 16:19:

Цитата:
thambs писал:
А визуальню глубину в юнитах, на 255 оттенков хейтмэпы же можно настроить? Если делать эти ямы не слишком глубокими, юнита 4-6 максимум, то, полагаю, что обманка особо заметна не будет, а смотреться будет рассово.


Оптимально использовать это так - большие или маленькие деформации на маленькой площади (например следы от пуль, лазера и т.д.), либо маленькая деформация на большой площади вроде осыпавшейся штукатурки, стыков между кирпичами и т.д. А вот большая деформация на большой площади будет как у ДМ смотреться только на ровной плоскости в рамочке, куда близко не подойдёт игрок, например трубы за решеткой и прочие подобные элементы детализации в стиле нашего Жеки.

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


Отправлено Дядя Миша 14-05-2019 в 09:03:

Вышел update_7.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 14-05-2019 в 09:44:

Где же он?


Отправлено Дядя Миша 14-05-2019 в 12:19:

В привате, по списку, как я и говорил.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 15-05-2019 в 12:02:

Ну чтож, вторая параноя полностью работоспособна под Radeon X1600. Правда производительность не блещет. Находится примерно на том же уровне что и у ксаш-мода.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 19-05-2019 в 07:32:

Хотя TODO лист почти не обновлялся, работы идут полным ходом. Я сейчас завершаю ревизию студиомоделей, после чего в статус done перейдет сразу несколько пунктов. Главным образом мне надо разобраться с их освещением. И как следствие - с освещением декалей. Эта новая система подключения юниформов зарекомендовала себя с самой лучшей стороны, всё очень просто и быстро делается. Так же я теперь считаю TBN не для отдельно взятого меша, а для всей субмодели. Это немного дольше, но более правильно. Ну и в связи с этим сглаживание нормалей я выкинул вообще, оно больше не нужно. Там где оно нужно по смыслу, нормали можно сгладить в редакторе, рендерер такую отсебятину вносить не должен.

__________________
My Projects: download page

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

Цитата:

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


Отправлено nemyax 20-05-2019 в 07:23:

Цитата:
Дядя Миша писал:
сглаживание нормалей я выкинул вообще, оно больше не нужно. Там где оно нужно по смыслу, нормали можно сгладить в редакторе

Нормали ведь и так записывает редактор. Какое там ещё сглаживание было?


Отправлено Дядя Миша 20-05-2019 в 08:50:

nemyax групповое. Но я уже убрал. На первых этапах оно маскировало ошибки в построении TBN, сейчас TBN и так правильный, маскировать ничего не надо.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 23-05-2019 в 09:31:

Проапгрейдил комп на работе, теперь вместо Radeon X1600 стоит GT640.
Извиняйте товарищи с древним железом. На данный момент параноя запускается и относительно неплохо работает на старом радике, но если в дальнейшем что-то испортится, я уже не смогу это проконтиролировать, увы.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 23-05-2019 в 18:21:

Процесс идёт, в данный момент занят освещением студиомоделей.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 25-05-2019 в 07:21:

Товарищи, которые ждут выхода обновлённой паранои - просьба отметиться в каментах ниже. Я хоть посмотрю сколько вас.

__________________
My Projects: download page

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

Цитата:

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


Отправлено NameLesS 25-05-2019 в 08:45:

пока потихоньку мапаю под ксаш мод, в ожидании обновлённой парпнои.


Отправлено Дядя Миша 25-05-2019 в 19:01:

Ну что же, вот и заветные декали, которые видно с обоих сторон:












Параллакс сзаду конечно выглядит странно-вата, но зато он выгнут в правильную сторону

__________________
My Projects: download page

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

Цитата:

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


Отправлено NameLesS 25-05-2019 в 20:11:

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


Отправлено Дядя Миша 26-05-2019 в 08:45:

Ну и моя любимая тема, конечно жы

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ghoul [BB] 26-05-2019 в 09:07:

И теперь можно будет на стекле написать "Цой Жив" баллончиком с краской и всё будет видно!!!

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено SNMetamorph 27-05-2019 в 03:57:

А что по теме оптимизации рендерера мира, есть какие-то планы?


Отправлено Ghoul [BB] 27-05-2019 в 04:19:

Присоединяюсь.
То, что я имел несчастье наблюдать в последнем релизе, исправлено ли?!

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено Дядя Миша 27-05-2019 в 06:37:

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

На данный момент работаю над патчем отложенного освещения (патч в смысле альтернативная ветка рендерера).

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 27-05-2019 в 07:19:

Цитата:
Дядя Миша писал:
просто нужен уход в сторону детализации моделями, если вы будете мелкую пакость делать брашами, чуда не случится.


Тогда по возможностям модели не должны уступать брашам.

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


Отправлено Дядя Миша 27-05-2019 в 08:48:

Цитата:
FiEctro писал:
Тогда по возможностям модели не должны уступать брашам.

коллизия по моделям почти такая же как по брашам, декали на них накладываются, освещение повертексное, тени они отбрасывают. В принципе всё необходимое есть.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 27-05-2019 в 08:54:

Цитата:
FiEctro писал:
Тогда по возможностям модели не должны уступать брашам.

А что такого есть у брашей, чего нет у моделей?
На ум приходит только один момент (но какой!). Браши можно кубать в джеке, а модели нельзя, надо лезть во всякие сложные и непонятные программы типа блендера, и вообще напрягать мозги.
Для облегчения перехода аллах придумал патчи. Вон посмотрите на Жэку - сначала он начал мапать патчами в волатиле, а потом вообще ушёл на уеч. Хотя изначально был заядлым кубатором.

__________________

xaerox on Vivino


Отправлено nemyax 27-05-2019 в 09:35:

Цитата:
XaeroX писал:
Для облегчения перехода аллах придумал патчи.

Ничоси облегчение.


Отправлено Crystallize 27-05-2019 в 09:55:

Цитата:
XaeroX писал:
А что такого есть у брашей, чего нет у моделей?

Баунсы?


Отправлено XaeroX 27-05-2019 в 10:09:

Цитата:
nemyax писал:
Ничоси облегчение.

Именно облегчение - я знаю, что пишу.
1. Патчи можно кубать (есть даже примитив block).
2. Патчи можно деформировать повертексно, не боясь словить ISS - включая знаменитое джековское "вращение набора вертексов вокруг точки".
3. Патчи можно натурально текстурировать и фитить вдоль изогнутых границ (браши только вдоль текстурных осей).
4. Патчи имеют лоды и колоизацию искаропки.
5. Патчи имеют лайтмапы, баунсы, тени и проч и проч.
6. Патчи эффективно куллятся в движке, подобно моделям.
7. Патчи можно редактировать руками (включая ручное задание UV-координат повершинно - но это конечно на любителя).

Цитата:
Crystallize писал:
Баунсы?

Уже четыре года как неактуально.
Пруф.

__________________

xaerox on Vivino


Отправлено Ghoul [BB] 27-05-2019 в 10:14:

Модели лучше брашей, жаль что Мастер до сих плр этого не понял и танк у него до сих пор брашевый.
Ведь, помимо всего прочего, модели можно поставить уже на готовую карту рипентом, чего не скажешь о брашах, а для меня, не-маппера, это номер один как важно.
Помиомо того, модели сами по себе выглядят красивше, и их можно украсть, если не охота делать свои во всяких хитровыдуманных программах.

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено XaeroX 27-05-2019 в 10:23:

Цитата:
Ghoul [BB] писал:
модели можно поставить уже на готовую карту рипентом

Нельзя. В нормальных движках модели становятся частью карты и с точки зрения движка уже почти неотличимы от брашей.
Цитата:
Ghoul [BB] писал:
их можно украсть

Да можно и карты целиком красть - было бы желание.

__________________

xaerox on Vivino


Отправлено nemyax 27-05-2019 в 10:30:

Цитата:
XaeroX писал:
Патчи можно редактировать руками (включая ручное задание UV-координат повершинно - но это конечно на любителя).

Ну я тыкал в джеке паччы. Если б было как в Hash Animation:Master-е или хотя бы в hamaPatch-е, тогда бы можно было говорить о редактировании их руками. А так кубание оно и есть кубание.


Отправлено Crystallize 27-05-2019 в 10:31:

XaeroX У тебя весь PW так освещается?
Картинку с солдатом только верни, а то её только по цитате можно посмотреть.


Отправлено XaeroX 27-05-2019 в 12:06:

Цитата:
Crystallize писал:
У тебя весь PW так освещается?

"Так" это как? Как освещается PW, можно посмотреть в новостной теме, там много скринов.

Добавлено 27-05-2019 в 19:06:

Цитата:
Crystallize писал:
Картинку с солдатом только верни

Я не могу вернуть картинку, на пиксах за четыре года сдохла генерация превьюшек.
Но там картинка вообще о другом - о лайтмапах на моделях. Лайтмапы для бонуслайта не требуются. Смотри картинку аликс, что я приложил - это вертекслайт + бонус, наиболее типичная ситуация в PW.

__________________

xaerox on Vivino


Отправлено FiEctro 27-05-2019 в 12:48:

Цитата:
XaeroX писал:
Вон посмотрите на Жэку - сначала он начал мапать патчами в волатиле, а потом вообще ушёл на уеч. Хотя изначально был заядлым кубатором.


Ты так говоришь, как будто нельзя кубать под уе4. ХЛБСП можно сконвертить под любой движок, даже текстурки не съедут. Хотя режет полигоны он конечно отвратительно и жутко неоптимизированно (насколько я знаю это касается всех Кармак стайл компиляторов). Ещё в сорсе есть смутч группы вроде, надобы пощупать, никогда их там не трогал.

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


Отправлено XaeroX 27-05-2019 в 13:41:

Цитата:
FiEctro писал:
Хотя режет полигоны он конечно отвратительно и жутко неоптимизированно (насколько я знаю это касается всех Кармак стайл компиляторов).

За все не скажу, но ку3шный компилятор ничего сам не режет и не склеивает. Что накубал - то в игре и увидишь.

__________________

xaerox on Vivino


Отправлено thambs 27-05-2019 в 14:10:

XaeroX
На слишком сложной world-геометрии и он лажать начинает, проверено.

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено XaeroX 27-05-2019 в 14:46:

thambs
Я не говорил, что он не лажает. Я говорил, что он не режет полигоны как попало, как халфовский. А проблемы там возникают уже несколько иного плана.

__________________

xaerox on Vivino


Отправлено Дядя Миша 27-05-2019 в 18:00:

Цитата:
XaeroX писал:
В нормальных движках модели становятся частью карты

глупости какие. Но да, рипэнтом и у меня уже не вставишь. Освещение-то в любом случае в карту запечено.

Цитата:
Ghoul [BB] писал:
и танк у него до сих пор брашевый.

Ну зато он стоит на запасном пути!

Добавлено 27-05-2019 в 20:44:

Цитата:
XaeroX писал:
Смотри картинку аликс, что я приложил - это вертекслайт + бонус, наиболее типичная ситуация в PW.

И в параное такое тожы потдерживается, разумеется.

Цитата:
XaeroX писал:
За все не скажу, но ку3шный компилятор ничего сам не режет и не склеивает

у меня CSG отключаемый, так что непроблема.

Добавлено 27-05-2019 в 20:46:

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

Добавлено 27-05-2019 в 21:00:

Так же прикрутил BestFitNormals для отложки


Первый скрин с BFN, второй просто восьмибитные нормали.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 27-05-2019 в 18:30:

Дядя Миша
А можно скрин с 100500 лайтами, как это обычно принято показывать для отложки? Она ж и делается главным образом для того, чтобы резко увеличить число лайтов в кадре в сравнении с форвардом?

Добавлено 28-05-2019 в 01:30:

Цитата:
Дядя Миша писал:
Освещение-то в любом случае в карту запечено.

Так и я об этом. Ну плюс некоторые и колоизацию в карту сохраняют. Хотя можно и в формате модели хранить при желании.

__________________

xaerox on Vivino


Отправлено Дядя Миша 27-05-2019 в 19:02:

Цитата:
XaeroX писал:
А можно скрин с 100500 лайтами, как это обычно принято показывать для отложки?

Не знаю я где и что там принято, если честно, я в своей жизни видел ровно одну демку отложки со стапитцот лайтами. Это миф что на отложке можно много лайтов. Нельзя. Ну вот скрин 19 халфовских "бесконечных" лайтов, тени рейтрейсом. Правда тени пока неверно декодируются, ну ты в курсе. Впрочем на производительность это никак не повлияет.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 27-05-2019 в 19:16:

Дядя Миша
81 фпс для 19 лайтов, пусть и бесконечных - мало-вата. Тем более тут реально видно только 3-4, от которых хочется динамику, остальные вполне в статику могут уйти, разве нет?

Цитата:
Дядя Миша писал:
я в своей жизни видел ровно одну демку отложки со стапитцот лайтами.

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

__________________

xaerox on Vivino


Отправлено Дядя Миша 27-05-2019 в 19:29:

Ну вот 32 лайта с тенями.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 27-05-2019 в 19:31:

Дядя Миша
А почему написано - 6?

__________________

xaerox on Vivino


Отправлено Дядя Миша 27-05-2019 в 19:42:

Я бы еще спонзу показал, но с тенями там фпс ниже плинтуса, а отключение теней на отложке поломано.

Добавлено 27-05-2019 в 22:32:

Цитата:
XaeroX писал:
А почему написано - 6?

так это мировые лайт, не деномические. Оно считает шесть мировых лайтов с рейтрейсом + 32 деномических с тенями.

Добавлено 27-05-2019 в 22:33:

Корочи на спозне без теней на форварде 24 фпс от 32 источников, на отложке 88. Я бы ради красоты мог сказать, что не 24, а 14, но не буду!

Добавлено 27-05-2019 в 22:42:

Вот вам пруфы. Починил отключение теней.


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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 28-05-2019 в 12:47:

Подключил к рейтрейсеру бмодели. Стало поинтереснее


__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 28-05-2019 в 12:56:

А бмодель может иметь свои источники света?

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


Отправлено Дядя Миша 28-05-2019 в 17:03:

Нет, лампочки все статичные.
Для полного счастья осталось только хитбоксы моделей загрузить как капсулы и будут тени от персов. Но это всё я уже оставлю для XashNT.
Здесь - достаточно.

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

Добавлено 28-05-2019 в 16:51:

Ну чтоже. Я почти сделал всё что наметил, кое-что отменил, отложил на будущее. Скоро будет всеобщее бета-тестирование.

Добавлено 28-05-2019 в 20:03:

Настала пора закешировать коллизию и сгенерированный TBN. Параноя адски долго грузит уровни как раз по этой причине. Несмотря на все оптимизации рассчёты коллизии и тбн дело небыстрое. Надо их сохранить на диск.

__________________
My Projects: download page

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

Цитата:

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


Отправлено nemyax 28-05-2019 в 19:13:

Жалко не во ксашмоде такие ништяки.


Отправлено Ghoul [BB] 28-05-2019 в 20:12:

Цитата:
nemyax писал:
Жалко не во ксашмоде такие ништяки.


Почему бы, кстати?
Такие вещи обычно себе позволяют производители техники: у одних хороший объектив, у других матрица, третьи цвета нормально передают, у четвертых аккумуляторы живучие, пятые видео классно пишут, ну а чтобы всё сразу вместе, это не.
С точки зрения экономической потребителеориентированности это вполне понятно...
Но в условно бесплатной платформе зачем подобная диверсификация?!!
Ксаш3д, КсашНТ, Ксаш ХТ, теперь вот ещё параноя эта...
Сделайте один хороший движок, и пусть люди пользуются полным набором ништяков, зачем так-то?

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено Дядя Миша 28-05-2019 в 21:19:

Хы. Для спонзы колоизация весит 50 мегабайт. Очуметь можно.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 29-05-2019 в 09:09:

Цитата:
Ghoul [BB] писал:
Сделайте один хороший движок, и пусть люди пользуются полным набором ништяков, зачем так-то?

Ну вот NT и вберёт в себя вообще всё самое хорошее. Когда я его сделаю конечно. Так-то его никто не видел, ну почти никто.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 29-05-2019 в 10:11:

Цитата:
Дядя Миша писал:
Так-то его никто не видел, ну почти никто.

Я заметил, это прям неотъемлемая черта движков, которые вобрали в себя всё хорошее. С Волатилой вон та же история.

__________________

xaerox on Vivino


Отправлено Дядя Миша 29-05-2019 в 10:16:

XaeroX ну это как земля абитованная, все слышали, но никто не был.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 30-05-2019 в 07:13:

Для того чтобы сохранить коллизию в кэш, нужно очевидно построить её в локальном пространстве. Нет,ну в глобальном тоже можно конечно, но тогда на каждую модель на карте придется завести свою собственную копию и хранить эту копию применительно к карте. Я поначалу решил не усложнять и так сделал. Тут же выяснилось, что сдампленная коллизия для той же спонзы занимает почти 50 мегабайт. Я прикинул, что для всей паранои только кэш коллизии займет порядка гигабайта, т.е. сопоставимо с самой игрой и отказался от этой стрёмной затеи. Очевидно надо сохранять коллизию для нулевой позиции\углов и с еденичным скейлом, а трансформировать саму трассу, ну как это вообщем-то делается и для бсп. И тут нас подстерегает очевидная проблема - трансформировать начало и конец трассы проблемы не представляет. А вот как трансформировать ббокс в локальное пространство модели? Точнее говоря, трансформация ббокса тоже не представляет какой-то сложности, но после этой трансформации, если угол не был равен 90, выровненный по осям AABB, естественно увеличится в размерах. Меня такое положение дел не устраивало. Альтернатива - представить наш ббокс игрока в виде 8 точек, но это ведёт к усложнению трасы, тогда нам придётся проверять еще и рёбра. Фактически мы уже имеем дело с частным случаем трассы из дуум3, когда один объект трейсится другим, пусть даже в качестве второго всегда выступает ббокс. Т.е. мне пришлось бы переписывать всю трассу и меня этот вариант не устроил тоже. Тогда я подумал механизм акселерации в качестве 8 оффсетов для сигнбитов плоскости - это ведь фактически и есть наши 8 точек ббокса и я могу его развернуть в эти точки, а дальше использовать их. Логично жеж? Но я не учёл один важный момент. После того как я разверну ббокс, точки поменяют свою полярность, а стало быть изменится и порядок их расположения для выбранных сигнбитов. Как же отсортировать их правильно? На первый взгляд задача решения не имеет. Но мне пришла в голову оригинальная мысль. Для исходного ббокса мы просто меняем mins-maxs местами и набираем наши 8 оффсетов. Стало быть, мы можем инвертировать нашу трансформированную точку ббокса и скормить её функции SignbitsForNormal. Может показаться что это полная бредятина, функция ведь для нормалей, а мы ей даём на вход вертекс. Однако это будет работать и вот почему - во первых наш ббокс без смещения, он локальный даже после поворота. Во вторых он симметричный и отцентрированный. При соблюдении двух этих условий получается что каждая из 8 точек даёт уникальную комбинацию signbits и наши оффсеты сортируются именно в том порядке, в котором и требует наш код коллизии.
Приведу сам код коллизии, чтобы было понятнее о чём речь

C++ Source Code:
1
// adjust the plane distance apropriately for mins/maxs
2
float dist = p->dist - DotProduct( m_vecOffsets[p->signbits], p->normal );
3
 
4
d1 = DotProduct( m_vecStart, p->normal ) - dist;
5
d2 = DotProduct( m_vecEnd, p->normal ) - dist;

ну вы все его знаете. А вот моё оригинальное решение
C++ Source Code:
1
// compute a full bounding box
2
for( i = 0; i < 8; i++ )
3
{
4
  Vector p1, p2;
5
  p1.x = ( i & 1 ) ? lmins[0] : lmaxs[0];
6
  p1.y = ( i & 2 ) ? lmins[1] : lmaxs[1];
7
  p1.z = ( i & 4 ) ? lmins[2] : lmaxs[2];
8
 
9
  p2 = m_transform.VectorRotate( p1 );
10
// NOTE: this is looks silly but it works for some reasons:
11
  // bbox are symetric and stored in local space
12
  // signbits are detected normals for bbox side tests
13
  int j = SignbitsForPlane( -p2 );
14
  m_vecOffsets[j] = p2;
15
}

К сожалению изящность решения оказался неспособен оценить даже Ксерокс

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ghoul [BB] 30-05-2019 в 10:02:

Дядя Миша
Чисто доя справки: коллизия для моделей на карте рассчитывается по хитбоксам или по вертексам? Дело в том, что я в силу специфики своих изысканий повидал достаточно моделей, тех жп, к примеру, деревьев, где на всю модель один прямоугольный хитбокс. И в случае рассчета коллизии по хитбоксам, игрок к стволу такого дерева даже на пару метров не приблизится, а остановится "об воздух". Ну и прожектайл или пуля, соответственно, тоже.
А если же коллизия по вертексам, то нас подстерегает уже другая проблема. Те же деревья, к примеру. Где со стволом коллизия должна быть, а вот через ветки - нет. Как же оно все работает?

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено Дядя Миша 30-05-2019 в 17:38:

Цитата:
Ghoul [BB] писал:
Чисто доя справки: коллизия для моделей на карте рассчитывается по хитбоксам или по вертексам?

по вертексам, точная коллизия. Потом по этим моделькам можно ходить как по брашам.

Цитата:
Ghoul [BB] писал:
Где со стволом коллизия должна быть, а вот через ветки - нет

а там флажок, чтобы игрок не коллидил с ветками, это настраивается.

Добавлено 30-05-2019 в 20:38:

одной рукой рулю, а другой слёзы счастья вытираю. И смех и грех вообщем. Замутил кэширование коллизии и обратил внимание на тот факт, что быстрее - не стало. Ну то есть как. Стало, но как-то незначительно.
Я ожидал что скорость загрузки увеличится вдвое-втрое, а она снизилась с 14 секунд до 9. Несеръезно. Я подумал, может быть это загрузка DDS так много времени съедает, начал профилировать - ничего подобного. Профайлер показывает, что основное время уходит на загрузку текстур из вада. Тут уж я окончательно выпал в осадок. Ну как такое возможно? И выясняется, что когда я подключил emboss-маппинг ейный фильтр применялся к текстурам абсолютно всегда, даже когда gl_emboss_scale был равен нулю. Фильтр с нулевым фактором отжирал время и не давал видимого результата. Причём заметить это было крайне непросто, ну вот скажем при загрузке паранои на одну текстуру уходило 0.07 секунды. И вот в карте 90 текстур достаточно выского разрешения, 512х512, и вот у нас уже почти 6-7 секунд просраны впустую. А всего-то надо было сделать проверку на нулевой фактор, про которую я по запаре совершенно забыл
теперь спонза грузится 2 секунды. Но можно еще быстрее.

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 30-05-2019 в 19:51:

Психопату интересно. Автор молодец за проделанную работу! BFN хорошо!
Для отложки тени только рейтрейсовые, шадовмап не будет?
Я не особо в курсе, как там работает колоизация, но разве нельзя отделить ббоксы от вертексов? И кэш вершин хранить, как рассказывалось выше, а ббоксы хранить в глобальном пространстве вместе с картой, либо рассчитывать при загрузке? Хотя если приведенный метод успешно работает, то вопросов нет.


Отправлено Дядя Миша 30-05-2019 в 20:01:

Цитата:
ncuxonaT писал:
Для отложки тени только рейтрейсовые, шадовмап не будет?

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

Цитата:
ncuxonaT писал:
Я не особо в курсе, как там работает колоизация, но разве нельзя отделить ббоксы от вертексов?

Ай ладно, я ж говорю, даже Ксер не вдуплил

Добавлено 30-05-2019 в 23:01:

ЗЫ. я там кстати еще вариант с капсулой сделал, но игрок себя ведёт как чёрт - везде без мыла пролезает, мне такое не нравится.

__________________
My Projects: download page

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

Цитата:

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


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

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


Отправлено Дядя Миша 30-05-2019 в 21:16:

На отложке пока нет, а вообще да.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 31-05-2019 в 10:24:

Ну чтож, коллизия и TBN успешно сохранены в кэш. Скорость загрузки выросла раз в пять точно. С 10-15 секунд, до 1-2. Теперь у меня остались только декали. Эти декали меня преследуют с 16-го года, я задумал сделать поддержку декалей с альфа-каналом и всё до сих пор никак не соберусь.
Точнее говоря, их же освещать надо. Ну и код декалей на брашах надо отревизить, оно подвисло в каком-то полурабочем состоянии. Впрочем это не займет много времени, полагаю, т.к. б0льшая часть работы уже проделана. Когда декали будут готовы (1-2 дня), начнётся, товарищи самое интересное. Я начну отладку всего кода на прохождении паранои. По итогам этого тестирования и исправления ошибок, я наконец-то выложу первую публичную альфа-версию паранои 1.51, которую я вам обещаю с 2016-го года
Ну обещанного три года ждут, так что тут всё совпадает. Сколько времени займёт само тестирование я точно сказать не могу. Может и полдня, а может и на неделю растянется. Ну вроде как серъезных ошибок быть не должно.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 31-05-2019 в 11:13:

Цитата:
Дядя Миша писал:
теперь спонза грузится 2 секунды. Но можно еще быстрее.

У тебя на спонзе внешние текстуры? 1024х1024 или 2048х2048? DXT или несжатые? Диск SSD?
Основное время при загрузке у меня например, тратится именно на текстуры.
Оно и в дуум3 так было, емнип.

__________________

xaerox on Vivino


Отправлено Дядя Миша 31-05-2019 в 11:38:

Цитата:
XaeroX писал:
У тебя на спонзе внешние текстуры? 1024х1024 или 2048х2048? DXT или несжатые? Диск SSD?

внешние. 1024х1024, оригинальные. DXT, диск обычный, не самый быстрый.
На подгрузку внешних текстур тратится ничтожное время, порядка 0.002 секунды на текстуру. Я в своё время это дело плотно профилировал. Самый поганый формат для загрузки - это PNG. JPEG как ни странно по времени загрузки сравним с TGA, т.е. время на его распаковку пренебрежимо мало. Ну и DXT по скорости абсолютный рекордсмен, т.к. над ним не производится никаких действий, буффер из файла сразу же отправляется в glTexImage.
Единственное что у меня замедляет его загрузку, это поиск альфа-канала, т.к. доверия тому что записано в хидере нет. Так что присутствует как минимум один скан массива, но это достаточно быстро, я ради теста убирал его и время загрузки не изменилось практически. В Волатиле в этом смысле что-то такое близкое к PNG, т.е. его надо дешифровать, распаковывать и абсолютно никакой защиты от воровства оно не гарантирует, поскольку народ выдирает текстуры не с диска, а из видимопамяти. Мне это в целом напоминает те решения, которые так любят принимать в России - давайте все будем страдать на ровном месте, потому что-то кто-то решил, что это для чего-то нужно.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Lev 31-05-2019 в 11:38:

А а освещение партиклов? Я имею в виду динамическим светом, не только от лайтмап


Отправлено Дядя Миша 31-05-2019 в 11:43:

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


Добавлено 31-05-2019 в 14:40:

Цитата:
Lev писал:
А а освещение партиклов?

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

Добавлено 31-05-2019 в 14:43:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 31-05-2019 в 12:30:

Цитата:
Дядя Миша писал:
1024х1024, оригинальные

Очень смешно. Оригинальные 4096х4096.
Цитата:
Дядя Миша писал:
народ выдирает текстуры не с диска, а из видимопамяти

Народ выдирает текстуры именно из ресурсов, иначе - просто забивает и перестаёт возиться и т.д. Из видимо памяти выдирают что-то уж совсем драгоценное.
Цитата:
Дядя Миша писал:
Мне это в целом напоминает те решения, которые так любят принимать в России - давайте все будем страдать на ровном месте, потому что-то кто-то решил, что это для чего-то нужно.

Если ты чего-то не знаешь - имеет смысл промолчать, и уж тем более - не обобщать на всю Россию.
В Волатиле система шифрования появилась потому, что лицензия на некоторые текстуры прямо требует не хранить их в открытых форматах на диске. Мол, это уже распространение самой текстуры, а не продукта с её использованием.

__________________

xaerox on Vivino


Отправлено ncuxonaT 31-05-2019 в 12:55:

Цитата:
XaeroX писал:
Очень смешно. Оригинальные 4096х4096.

хм, у меня тоже со спонзой идут 1024х1024, хотя точно скачивал с крайтековского сайта
Цитата:
XaeroX писал:
В Волатиле система шифрования появилась потому, что лицензия на некоторые текстуры прямо требует не хранить их в открытых форматах на диске. Мол, это уже распространение самой текстуры, а не продукта с её использованием.

В ПВ используются покупные текстуры?


Отправлено Дядя Миша 31-05-2019 в 13:15:

Цитата:
XaeroX писал:
Очень смешно. Оригинальные 4096х4096.

Подскажи откуда скачать оригинальные текстуры? Потому что я видел только 1024х1024.

Цитата:
XaeroX писал:
Народ выдирает текстуры именно из ресурсов, иначе - просто забивает и перестаёт возиться и т.д

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

Цитата:
XaeroX писал:
лицензия на некоторые текстуры прямо требует не хранить их в открытых форматах на диске

Ну и на кой хрен было покупать такие текстуры? Подобная лицензия на самом деле запрещает косвенным образом использовать эти текстуры в продуктах широкого потребления. То есть вот скачал и любуйся на нее на домашнем компе. А когда выйдет Волатила и народ эти текстуры выдерет из видеопамяти (а он обязательно выдерет и выложит пак в интернет), то тебе автоматом придёт судебный иск за честно купленную текстуру. Потому что те, кто выставляет подобные условия - зарабатывает именно на судебных исках, ах вы дали обещание её не распространять, а вы всё равно распространяете. Это как патентный троллинг, только еще подлее. Удивительно что тебе подобная мысль не пришла в голову. Одуван занимался точно такой же пакостью - вывесит фоточки в бложек, их перепостят, он им иск на 700 тысяч выкатывает и тут же этим похваляется. В общей сложности лямов на 10 так заработал. Дай-ко угодаю, ты и текстуры покупал в то самое время когда фотографы-художники так сверебствовали 2010-1015-й год. Может конечно к тому моменту когда ты Волатилу доделаешь это и потеряет актуальность, но я бы не стал полагаться на авось.

Добавлено 31-05-2019 в 16:15:

ЗЫ. Если бы уж я озадачился вопросом защиты текстур, я бы их хранил в DXT, но сжал каким-нибудь алгоритмом, типа YCoCg, чтобы они стали непригодны к использованию в исходном в виде, равно как и в видеопамяти. а декодировал бы в шейдере, таким образом мы бы сразу убили двух зайцев - отсеяли бы и тех кто ворует текстуры с диска и тех, кто ворует с видеопамяти, а вот тех, кто бы заморочился и написал софтверный перепаковщик - таких действительно мало, но это уже прямая корреляция с популярностью самой игры. Если игра станет популярна, то напишут за сутки. Так что это всё слабое утешение. В защите чего-либо хорошо работает только принцип Неуловимого Джо.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 31-05-2019 в 13:42:

>> что лицензия на некоторые текстуры прямо требует не хранить их в открытых форматах на диске

Зачем вообще такое покупать с такими драконскими условиями?

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


Отправлено XaeroX 31-05-2019 в 14:24:

Цитата:
ncuxonaT писал:
В ПВ используются покупные текстуры?

Ты удивился, что в коммерческом проекте используются покупные ресурсы?
Цитата:
Дядя Миша писал:
Подскажи откуда скачать оригинальные текстуры? Потому что я видел только 1024х1024.

Я либо заработался и у меня появились ложные воспоминания, либо одно из двух.
Сейчас сам поискал - действительно, 1024х1024. Но мне почему-то казалось, что я ресемплил их из 4к на 4к.
Приношу свои извинения за распространение ложных слухов.
Цитата:
Дядя Миша писал:
А когда выйдет Волатила и народ эти текстуры выдерет из видеопамяти (а он обязательно выдерет и выложит пак в интернет), то тебе автоматом придёт судебный иск за честно купленную текстуру.

Нет, там было условие именно не хранить "как есть" в свободном виде в ресурсах. Была просьба сделать хотя бы минимальную защиту. Я думаю, это связано с тем, что когда текстура лежит в оригинальном формате - то это по факту продажа текстуры (в комплекте с игрой, ок). А когда ты её как-то закодировал - уже derivative work.
Цитата:
Дядя Миша писал:
Дай-ко угодаю, ты и текстуры покупал в то самое время когда фотографы-художники так сверебствовали 2010-1015-й год.

Да, это где-то 2010 год был, я покупал пак текстур для своего старого неанонсированного проекта.
Цитата:
FiEctro писал:
Зачем вообще такое покупать с такими драконскими условиями?

Потому что Фиектро ничего не нарисовал. Куда мне было деваться?

__________________

xaerox on Vivino


Отправлено ncuxonaT 31-05-2019 в 14:32:

Цитата:
XaeroX писал:
Ты удивился, что в коммерческом проекте используются покупные ресурсы?

Удивился, что в малобюджетном коммерческом проекте используются покупные ресурсы, когда есть множество сайтов с текстурами под СС0. В 2010м их, конечно, не было.
Цитата:
XaeroX писал:
Нет, там было условие именно не хранить "как есть" в свободном виде в ресурсах. Была просьба сделать хотя бы минимальную защиту. Я думаю, это связано с тем, что когда текстура лежит в оригинальном формате - то это по факту продажа текстуры (в комплекте с игрой, ок). А когда ты её как-то закодировал - уже derivative work.

Не особо в этом разбираюсь, но объясните, чем плох метод держать ресурсы в запароленном зип-архиве?


Отправлено Дядя Миша 31-05-2019 в 14:48:

Цитата:
XaeroX писал:
Была просьба сделать хотя бы минимальную защиту

Очень, очень стрёмная просьба. Главным образом потому что она оставляет варианты для трактовки. Это можно истрактовать таким образом, что ты сделал недостаточную защиту. Ну вообщем как бы привести пример. Допустим ты гулял с друзъями по лесу и наткнулся на заброшенный дом, а в этом доме розетки. И вы с друзъями заспорили - есть ли в тех розетках электричество или давно уже всё обрезано. И предлагают пальцы сунуть и проверить. С одной стороны вроде как бы и нечего бояться, а с другой всё равно стрёмно. Вот так же и эти текстуры. Хрен его знает.

Цитата:
ncuxonaT писал:
Не особо в этом разбираюсь, но объясните, чем плох метод держать ресурсы в запароленном зип-архиве?

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 31-05-2019 в 16:33:

Дядя Миша разве подбор пароля к zip не занимает какие-то жуткие годы?


Отправлено Дядя Миша 31-05-2019 в 17:06:

Цитата:
Crystallize писал:
разве подбор пароля к zip не занимает какие-то жуткие годы?

к оригинальному зипу подбор был адски быстрым даже в эпоху PIII-600. Я помню как элкомсофтовская приблуда бодро рапортовала о скорости в 17 тысяч паролей в секунду. К рару почему-то было всего 20-30 паролей в секунду, а севен-зипа тогда уже не было. То есть вот сейчас судя по всему на четырёх-восьмиядерном проце будет шо-то около миллиона паролей в секунду, долго не продержится.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 31-05-2019 в 17:40:

Цитата:
Дядя Миша писал:
То есть вот сейчас судя по всему на четырёх-восьмиядерном проце будет шо-то около миллиона паролей в секунду, долго не продержится.

Это зависит от длины пароля, а также уникальности (не должен ломаться по словарю).
На самом деле, емнип, пароль зипа ломали как-то иначе, без перебора. Там вроде как была дырка в лагоритме. Но я могу что-то путать.

__________________

xaerox on Vivino


Отправлено Дядя Миша 31-05-2019 в 18:55:

Темы разделил. Ваша тема про текстуры теперь тут:
https://hlfx.ru/forum/showthread.php?s=&threadid=5270

__________________
My Projects: download page

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

Цитата:

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


Отправлено Lev 01-06-2019 в 09:09:

Вот ещё что спросить хотел, можно сделать саншафт-эффект от точечных лайтов, как опцию? Ну как лампочка в темном пыльном помещннии
.


Отправлено Дядя Миша 01-06-2019 в 12:00:

Lev вы вот опять начинаете "а сделай то, а сделай это", как будто я вам что-то должен.

Добавлено 01-06-2019 в 15:00:

Стримеры в игру играют - им кидают донаты с формулировкой "молодец, хорошо игру проходишь", здесь же умеют только просить.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ghoul [BB] 01-06-2019 в 12:16:

Дядя Миша
А зачем же ты тогда вообще что-то делаешь, если ты никому ничего не должен? Сходил бы на речку лутшы, искупался, потом молочка попил... красота!!

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено Lev 01-06-2019 в 12:26:

Я лишь спросил, тем более что сами саншафты от солнышка в параное и так уже есть.


Отправлено Дядя Миша 01-06-2019 в 12:48:

Цитата:
Ghoul [BB] писал:
А зачем же ты тогда вообще что-то делаешь, если ты никому ничего не должен?

следуя намеченному плану, очевидно.

Цитата:
Lev писал:
Я лишь спросил, тем более что сами саншафты от солнышка в параное и так уже есть.

солнце и всенаправленные источники это несколько разные вещи.

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 01-06-2019 в 17:01:

Дядя Миша слушай, а если у тебя рабочий рейтрейс, почему не используешь его в хлраде? Неужели он медленнее?
Вообще, когда ты хаял q2pt, типа там медленная трасса, и начал свои эксперименты с рейтрейсингом, я надеялся в итоге увидеть что-то аналогичные для халфы, типа xashpt. Ничего такого не планировалось?


Отправлено Дядя Миша 01-06-2019 в 22:04:

Цитата:
ncuxonaT писал:
слушай, а если у тебя рабочий рейтрейс, почему не используешь его в хлраде? Неужели он медленнее?

Как минимум трасса должна уметь трейсить модельки, не только брашы.

Цитата:
ncuxonaT писал:
я надеялся в итоге увидеть что-то аналогичные для халфы, типа xashpt. Ничего такого не планировалось?

не всё сразу, например.

Добавлено 02-06-2019 в 01:04:

Ну што, сбылась мечта идиёта. Оригинальная ЧАЭС из сталкера, в виде четырёх моделей на карте-коробке.

Скрины:




















__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 02-06-2019 в 06:06:

Дядя Миша
Сама модель как-то жутко выглядит, мне казалось, что в сталкере рельсы не треугольные были.
А покажи поликаунты, пожалуйста.

__________________

xaerox on Vivino


Отправлено Дядя Миша 02-06-2019 в 06:57:

Цитата:
XaeroX писал:
мне казалось, что в сталкере рельсы не треугольные были.

да этож халф-флоаты грёбаные. Это они всё испортили. Я потом ради интереса проверил с обычными флоатами - такой фигни нету. Откажусь от них наверное, тем более что всё равно прироста по скорости они почти не дают.

Обратите внимание, что хотя это всего-навсего четыре модели, тем не менее их куски эффективно отсекаются и поликаунт в кадре меняется.










С высоты всё кажется игрушечным, но на самом деле все объекты в натуральную величину, со всеми есть коллизия (правда кое-где калечная).
Средний поликаунт - 500 тыщ вертексов. Ну разумеется, если еще нарисовать траву, деревья, то будет как раз окололяма.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 02-06-2019 в 08:21:

Цитата:
Дядя Миша писал:
К сожалению изящность решения оказался неспособен оценить даже Ксерокс

А если Кармаку это твитнуть?

Добавлено 02-06-2019 в 15:21:

Цитата:
Дядя Миша писал:
Подключил к рейтрейсеру бмодели. Стало поинтереснее


Так это рейтрейс? Выглядит как шадовмапа.


Отправлено XaeroX 02-06-2019 в 08:29:

Цитата:
Crystallize писал:
Так это рейтрейс? Выглядит как шадовмапа.

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

__________________

xaerox on Vivino


Отправлено Дядя Миша 02-06-2019 в 10:01:

Цитата:
Crystallize писал:
А если Кармаку это твитнуть?

Твитнуть-то ты можешь, но поймет ли он то что я писал для вас, а потом засунули в гуглопереводчик?

Цитата:
Crystallize писал:
Так это рейтрейс? Выглядит как шадовмапа.

А шадовмапа по твоему что такое? Это и есть кэшированный рейтрейс, сделанный при помощи растеризации. Точнее говоря, в экранном пространстве у нас есть два значения глубины и рейтрейс осуществляется проверкой какое из них больше или меньше. И по результатам возвращается 0 или 1 как и в настоящей трассе. Рейтрейсы хороши тем, что для них не надо делать отдельных проходов в пространстве лайта, потому что проекция влияет на качество получения теней, но для растеризационных техник это неизбежное зло.

Добавлено 02-06-2019 в 13:01:

ЗЫ. рейтрейс в полном экране выглядит как стенсил.

__________________
My Projects: download page

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

Цитата:

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


Отправлено ZAZA 02-06-2019 в 11:14:

Цитата:
Дядя Миша писал:
Средний поликаунт - 500 тыщ вертексов. Ну разумеется, если еще нарисовать траву, деревья, то будет как раз окололяма.


Какое количество поликов ксаш держит "стабильно", после чего происходит просадка фпс? Иными словами, какое число поликов лучше не превышать для оптимальной работы движка? Или все зависит от конкретной видимокарты?


Отправлено Дядя Миша 02-06-2019 в 11:21:

Не ксаш, а Параноя. Ксашевский рендерер на такой сцене покажет 5-6 фпс.

Бутылочного горла в отношении моделей там нет, всё зависит только от видимокарты. У меня GTX650.

__________________
My Projects: download page

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

Цитата:

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


Отправлено ZAZA 02-06-2019 в 11:22:

А ксашмод?


Отправлено Ghoul [BB] 02-06-2019 в 11:35:

Дядя Миша
А что за баг с прорисовкой прозрачности у верхушек ЛЭП?

А так впечатляет. 260+ fps на 500к полигонов.
Интересно, какая видеокарта.

Добавлено 02-06-2019 в 14:35:

Цитата:
Дядя Миша писал:
Не ксаш, а Параноя. Ксашевский рендерер на такой сцене покажет 5-6 фпс.

Бутылочного горла в отношении моделей там нет, всё зависит только от видимокарты. У меня GTX650.


И конечно же, к Ксаш внедрение этой революционной технологии по избавлению от бутылочного горлышка не предвидится?!

Сколько памяти на борту у твоей GTX? Поисковик пишет, что 1024... но может быть и больше (2048) в твоем конкретном случае?

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено Дядя Миша 02-06-2019 в 11:45:

Цитата:
ZAZA писал:
А ксашмод?

я не тестировал, но будет похуже в любом случае. Вопрос в том, насколько.

Добавлено 02-06-2019 в 14:45:

Цитата:
Ghoul [BB] писал:
А что за баг с прорисовкой прозрачности у верхушек ЛЭП?

Индексированные текстуры скомпилены без бита прозрачности, надо внешние подключить, тогда и будет красиво. Плюс обновлённая версия компиляторв учитывает внешние текстуры для рассчёта теней от решёток.

Цитата:
Ghoul [BB] писал:
И конечно же, к Ксаш внедрение этой революционной технологии по избавлению от бутылочного горлышка не предвидится?!

Во первых никакой-такой революционной технологии там нет. Во вторых в движке важна совместимость, а не скорость. Он в первую очередь для халфы с модами. Кастомный рендеринг это приятная возможность, которую может использовать любой кто подключит эти интерфейсы у себя в моде и напишет кастомный рендерер. Чтобы не быть голословным, у вас есть пример в виде открытых исходников ксаш-мода, пример подключения физики кастомной и кастомного рендерера. Умному - достаточно. Остальные могут изучать теорию плоской земли.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ghoul [BB] 02-06-2019 в 14:46:

Цитата:
Дядя Миша писал:


Во первых никакой-такой революционной технологии там нет. Во вторых в движке важна совместимость, а не скорость. Он в первую очередь для халфы с модами. Кастомный рендеринг это приятная возможность, которую может использовать любой кто подключит эти интерфейсы у себя в моде и напишет кастомный рендерер. Чтобы не быть голословным, у вас есть пример в виде открытых исходников ксаш-мода, пример подключения физики кастомной и кастомного рендерера. Умному - достаточно. Остальные могут изучать теорию плоской земли.


Ты считаешь, что если будет кастомный рендер, то это погубит совместимость с модами?объясни? Не понимаю, как такое возможно.
Каким образом этот любой может подключить данные интерфейсы у себя в моде?
Отсечение по фруструму реализовано на этой сцене с Чернобылем
Как работает коллизия с такими сложными объектами, как здания? Здесь имеется ввиду возможность, скажем, ходить по этажам и не проваливаться.
А материалы текстур в одной модели? Каким образом можно задать в модели здания, что вот это бетон, это металл.. металл крашеный или пластмасса, холодная поверхность.. ?!

Умному - может и достаточно, а мудрому остаётся изучать теории плоской земли. Не всех же Господь наделил таким умом, как тебя, но и занимать таких людей же тоже чем-то нужно.

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено Дядя Миша 02-06-2019 в 15:42:

Цитата:
Ghoul [BB] писал:
Ты считаешь, что если будет кастомный рендер, то это погубит совместимость с модами?

наоборот. В каждом моде - свой кастомный рендерер. Ну вот как в XDM рендер систем, например. Её же нету в движке, она в XDM. Так и в параное свой кастомный рендерер. И в ксаш-моде тоже кастомный.

Цитата:
Ghoul [BB] писал:
Каким образом этот любой может подключить данные интерфейсы у себя в моде?

Интерфейсы - это просто дополнительные функции, которые предоставляет движок и дополнительные вызовы из нужных мест, которые обязательно понадобятся тем, кто захочет реализовать в своём моде кастомную физику и кастомный рендеринг. Ксаш мод - это пример использования таких вот интерфейсов. Без них конечно тоже можно, будет такой же огород как в HLFX 0.6.
Цитата:
Ghoul [BB] писал:
Отсечение по фруструму реализовано на этой сцене с Чернобылем

У меня такое ощущение, что ты где-то услышал эту фразу и теперь всех спрашиваешь. Да даже если бы и не было реализовано, фпс бы не сильно снизился. Ну было бы не 300-500, а скажем 250.

Цитата:
Ghoul [BB] писал:
Как работает коллизия с такими сложными объектами, как здания?

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

Цитата:
Ghoul [BB] писал:
Здесь имеется ввиду возможность, скажем, ходить по этажам и не проваливаться.

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

Цитата:
Ghoul [BB] писал:
А материалы текстур в одной модели? Каким образом можно задать в модели здания, что вот это бетон, это металл.. металл крашеный или пластмасса, холодная поверхность.. ?!

Ну очевидно это разные текстуры. В модели зданий порядка 60 текстур. Там и решётки и метал и пластик и окна. Что тут особенного?

__________________
My Projects: download page

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

Цитата:

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


Отправлено thambs 02-06-2019 в 16:50:

>Ну как если бы ты из брашей сделал здание, там же ты не задаешься вопросом почему игрок не проваливается.
Это bsp делает или сама параноя коллоизацию строит?

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено ncuxonaT 02-06-2019 в 16:57:

Дядя Миша расскажи, пожалуйста, подробнее, как у тебя устроена коллизия с мешами. Для брашей же есть бсп-дерево, плюс они раздуваются под хуллы. Ты же не строишь бсп для меша? И под хуллы их не раздуть, так как могут быть произвольно повернуты.


Отправлено Дядя Миша 02-06-2019 в 17:27:

Цитата:
thambs писал:
Это bsp делает или сама параноя коллоизацию строит?

Сама параноя. Я даже в последнем апдейте добавил прогресс-бар в консоли, чтоб юзер не терялся в догадках почему всё зависло на загрузке. А то эти домики довольно долго считают коллизию.

Цитата:
ncuxonaT писал:
расскажи, пожалуйста, подробнее, как у тебя устроена коллизия с мешами

Очень тупо. Для каждого треугольника генерится планес и обмазывается бевелами, Кармак что-то подобное делал коллизии патчей в ку3. Ну и потом всё это линкуется в узлы KD-дерева. Коллизия для этих домиков 40 мегабайт весит. Но зато она очень точная, полное ощущение как будто по брашам бегаешь ну и не тормозит абсолютно.

Цитата:
ncuxonaT писал:
Ты же не строишь бсп для меша?

просто смысла не вижу. BSP предполагает что я буду резать какие-то из треугольников, а резать я точно ничего не хочу. Ну можно попробовать построить аксиальное дерево, которое ничего не режет, но принцип тот же останется, на самом деле и далеко не факт что это будет оптимальнее на тех же модельках типа ЧАЭС.

Цитата:
ncuxonaT писал:
И под хуллы их не раздуть, так как могут быть произвольно повернуты.

Даю на водку - для локальных бмоделей тоже строятся клипхуллы, но они прекрасно себе вращаются, те же ротатабли.

Добавлено 02-06-2019 в 20:27:

Ну чтож, переписал код сглаживания нормалей освещения, кол-во итераций из условных 90 миллиардов превратилось в 10 миллионов, что по времени менее секунды. Теперь можно расчитать освещение со сглаживанием.
Собственное ЧАЭС у меня освещается за 10 минут, правда самозатененеи моделей отключено. Сейчас я его включу и посмотрим.

__________________
My Projects: download page

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

Цитата:

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


Отправлено SNMetamorph 02-06-2019 в 18:13:

Цитата:
Дядя Миша писал:
Я в своё время это дело плотно профилировал

Каким профайлером пользуешься?


Отправлено Дядя Миша 02-06-2019 в 19:26:

Повертексное освещение для таких вот уровней - полная дрянь конечно. Первые скриншоты - это деномические солнце + CSM.













__________________
My Projects: download page

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

Цитата:

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


Отправлено NameLesS 02-06-2019 в 19:35:

УХХХ красота и фпс в норме


Отправлено Ghoul [BB] 02-06-2019 в 21:28:

Цитата:
NameLesS писал:
УХХХ красота и фпс в норме

Да чё красота? Текстуры на земле и дороге как говно выглядят... как будто там 64на64 растянули в десятки раз..

Добавлено 03-06-2019 в 00:17:

Цитата:
Дядя Миша писал:
наоборот. В каждом моде - свой кастомный рендерер. Ну вот как в XDM рендер систем, например. Её же нету в движке, она в XDM. Так и в параное свой кастомный рендерер. И в ксаш-моде тоже кастомный.


Интерфейсы - это просто дополнительные функции, которые предоставляет движок и дополнительные вызовы из нужных мест, которые обязательно понадобятся тем, кто захочет реализовать в своём моде кастомную физику и кастомный рендеринг. Ксаш мод - это пример использования таких вот интерфейсов. Без них конечно тоже можно, будет такой же огород как в HLFX 0.6.

У меня такое ощущение, что ты где-то услышал эту фразу и теперь всех спрашиваешь. Да даже если бы и не было реализовано, фпс бы не сильно снизился. Ну было бы не 300-500, а скажем 250.


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


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


Ну очевидно это разные текстуры. В модели зданий порядка 60 текстур. Там и решётки и метал и пластик и окна. Что тут особенного?


1. В хдм оно как бы и не кастомный тендер в полном понимании этого слова, а всего лишь аппаратными средствами TriApi мы рисуем спрайты, ну и модели движково рисуются, только индексы не жрут, а вот чтоб не сесть на бутылочное горлое горлышко - не, такого не видели.

2. Ну да, услышал гдето, но я так понимаю, что это невидимые вертексы не рисуются, и фпс наоборот должен прирост давать, не 250, а 300-500, как ты писал, ток местами поменять? Не?

3. Здание для меня это как раз не простой объект: и церковь вся сияет демоническим огнём, а на куполах - перевёрнутый крест. И это характерная модель здания, когда купола это сферы, и прочие всякоразные лестницы под немыслимыми углами, да.

4. Я тебе сейчас как пацан пацану скажу, немного по секрету, хоть я и в говно сейчас уже, но тему секу: модель для меня это нечто нематериаьное, и чтобы коллизия с этими полигонами работала, их над клипбрашами всякими окружать и то весьма топорно выходит на сложных моделях.. плэтому мне поаа сложно воспринимать такие вот понятия, как повертексная коллоидация. Ну ладно там снаружи, а как в нутри здания...

Но вообще тема классная, даже по мне, ну то есть это примерно то, чем я и занимаюсь с своём мапперстве: тоесть вообще можно сделать карту-коробку , а всю детализацию моделями сделать. Ну, скажем, не рисрвать, как Тимх , все эти сложные решения, а просто и может, даже, где то тупо взять модельки с известных вам сайтов и расположить на карте коробке в нужном порядке, а потом скомпилить это все и вот тебе карта - новый мир.
Ну я это так стал понимать, поправьте мине, если я где то ошибаюсь.

Добавлено 03-06-2019 в 00:19:

А, ну да, браши же еще и по визу отсекаются, строятся сложные варианты при компиляци карты. Как этотвсе на моделях работает? Части моделей как должны отсекаться вне поля зрения? Чего? Мне всё интересно, как оно работает..

Добавлено 03-06-2019 в 00:22:

Вообще да, не п найте меня и не бейте, я децл отстад от игровой индустрии, самое последнее, что я играл, это Hellgate:London за 2007 год и этот.. как его.. Painkiller.
Кстати, там очч похоже, что мир как бы из моделей сделан, особенно уровень с адом и застывшим во времениатомным взывом и кирпичами во все стороны.. детализация просто зашкаливает, хоть и без травы даже.

Добавлено 03-06-2019 в 00:28:

А вообще. Клнечно да, я бы сейчас не страдал этой голово#блей с резанием полигонов на р моделях, пихал бы, как есть, по 3-5 к, и срать бы хотел, никутда бы производительность не делась, ну была бы не 260 фпс, а 200, хрена ли разницы?! Но Мастер сам подписал нашим проектам смертный приговор, ориертируясь на эту совместимость с голдсорс, так что придётся остановится на том, что есть....

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено Дядя Миша 02-06-2019 в 21:30:

Немного украсил декалями






Цитата:
Ghoul [BB] писал:
Да чё красота? Текстуры на земле и дороге как говно выглядят... как будто там 64на64 растянули в десятки раз..

Ну так надо ландшафты подключить. Это попозже.

Цитата:
Ghoul [BB] писал:
аппаратными средствами TriApi

*рыдает*

Цитата:
Ghoul [BB] писал:
Ну ладно там снаружи, а как в нутри здания...

Да какая разница где?

Цитата:
Ghoul [BB] писал:
А, ну да, браши же еще и по визу отсекаются, строятся сложные варианты при компиляци карты. Как этотвсе на моделях работает? Части моделей как должны отсекаться вне поля зрения? Чего? Мне всё интересно, как оно работает..

Виз во всех движках закончился вместе с брашами, да. Его больше нет нигде как раз по этой причине.

Вообщем надо лайтмапу на моделях делать.

Добавлено 03-06-2019 в 00:30:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ghoul [BB] 02-06-2019 в 21:36:

Дядя Миша
А декаль "цой - жив " там есть?

А транспарентные модели сквозь такие декали не проступают, как было в предыдущих версиях Ксаша? Проверь!

Добавлено 03-06-2019 в 00:36:

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

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено Дядя Миша 02-06-2019 в 21:41:

Цитата:
Ghoul [BB] писал:
Ну и я так понял, что всё на этой карте это моделями сделано, брашами только коробка. Так ли я это понял?

да. Там четыре модельки. Две модели ландшафта, дома и ЛЭП. Коробка - скайбокс.

Цитата:
Ghoul [BB] писал:
Размер карты этой в юнитах?

65 килоюнитов, предельный.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ghoul [BB] 02-06-2019 в 21:41:

На вот, скачай церковку эту
https://p3dm.ru/files/architecture/...ubg-church.html
Да поставь на карту. Охота посмотреть, как оно в игре будет. И как можно будет внутрях её побегать...
Архитектура сложная, есть всякие места..

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено Дядя Миша 02-06-2019 в 21:43:

Цитата:
Ghoul [BB] писал:
На вот, скачай церковку эту

да ну её, она в obj. Куда я её приткну, спрашивается.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 02-06-2019 в 23:08:

Для 3д скайбокса вполне достойно выглядит.

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


Отправлено FiEctro 03-06-2019 в 07:15:

>> да ну её, она в obj. Куда я её приткну, спрашивается.

В .mdl можно собрать.

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


Отправлено nemyax 03-06-2019 в 07:22:

Дядя Миша
Для колоизации моделек конвексную декомпозицию делаешь?


Отправлено Дядя Миша 03-06-2019 в 08:06:

nemyax при таком подходе она просто не нужна.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ghoul [BB] 03-06-2019 в 08:13:

Цитата:
Дядя Миша писал:
да ну её, она в obj. Куда я её приткну, спрашивается.


Ну обж конвертируется же в смд в том же вашем блендере, не?
Правда, я не знаю, схавает ли твой моделькомпиллер объект 75 килополи? А вот как раз и проверишь!

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено nemyax 03-06-2019 в 08:26:

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

А что такое бевелы? Просто треугольники, утолщённые до брашей?


Отправлено Дядя Миша 03-06-2019 в 08:50:

Цитата:
Ghoul [BB] писал:
Ну обж конвертируется же в смд в том же вашем блендере, не?

ну вот и скомпилируй, браток. Тебе же надо?

Цитата:
nemyax писал:
А что такое бевелы?

скосы.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 03-06-2019 в 18:51:

Ghoul [BB]
Ладно, браток. Не хочет тебе угодить Дядя Миша - попробую угодить тебе я.



P.S.: Если понравится и захочется пообсуждать - то лучше сделать это в соответствующей ветке, а не здесь.

__________________

xaerox on Vivino


Отправлено Raid 03-06-2019 в 20:13:

На фоллаут похоже.


Отправлено Дядя Миша 04-06-2019 в 07:54:

Ну чтожы. Приступил к внедрению лайтмап. Я решил не выделываться и заюзать те же самые технологии, которые используются для брашей, тем более что им приходится работать в куда более худших условиях. Модели во впервых уже изкаропки имеют шареные вертексные нормали, которые довольно легко сгладить группой, в отличие от тех же брашей, где сглаженную нормаль приходится высчитывать заново всякий раз когда мы хотим посчитать люксель. На данный момент лайтмапа уже считается для прямого света, правда в карту пока не сохраняется. Но я могу подсунуть туда printf и посмотреть расситанные значения. Лайтмапы будут сохраняться в тот же самый массив, куда сохраняются лайтмапы для брашей, во первых raw-лайтмапа имеет максимальную плотность упаковки, данные просто следуют друг за другом, а во вторых это позволит её загружать теми же средствами, что и на брашах, чтобы не городить какой-то дополнительный огород. Описание фейса с лайтмапой таким образом занимает всего 8 байт - 4 лайтстиля и lightofs. Впереди две основных и одна потенциальная проблема. Во первых это конечно швы. Треугольники мелкие, на часть из них лайтмапа вообще неположена, если считать скейл линейно, но у лайтмапы всегда присутствует клампинг на минимальный размер. Т.е. даже самый мелкий фейс получит лайтмапу 1 х 1 пиксель. С одной стороны это даже немного меньше чем при повертексном освещении, с другой боюсь что будут швы. Ну посмотрим. Второй момент - как посчитать непрямое освещение. Для брашей оно считается при помощи патчей. Простая и изящная технология. Создаём патчи низкого разрешения, решаем СЛАУ обмена энергией и лерпим получившиеся значения обратно к лайтмапе. Казалось бы. Только вот размер патча по дефолту - 64х64 юнита, а в p2rad как и в VHLT - 128х128 юнитов. А теперь скажите мне как это применить на модельку у которой десятки тысяч маленьких полигонов? И сколько по времени это всё будет считаться? И самое главное сколько это займет памяти? 1 патч ~412b. Даже на ту же модельку ЛЭП, в которой 270 тысяч поликов - можете сами посчитать сколько памяти займут эти патчи. Я не говорю о том, что нам еще трансферы надо аллокнуть. Вообщем этот вопрос пока открытый.
Ну и третья потенциальная проблема - вопросы быстродействия.

__________________
My Projects: download page

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

Цитата:

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


Отправлено nemyax 04-06-2019 в 08:32:

Цитата:
Дядя Миша писал:
Для брашей оно считается при помощи патчей

Это как? Аксиально шинкуется на квадратики?


Отправлено Ghoul [BB] 04-06-2019 в 08:33:

Цитата:
XaeroX писал:
Ghoul [BB]
Ладно, браток. Не хочет тебе угодить Дядя Миша - попробую угодить тебе я.



P.S.: Если понравится и захочется пообсуждать - то лучше сделать это в соответствующей ветке, а не здесь.


Ну право, угодил. На первом скрине правда ничорта не видно, усе темное, а второй скрин понятен. Тока почему 74К wpoly ? У тебя еполи в вполи преобразуются при компиляции?

Собственно, вопрос был не до конца раскрыт. Меня прежде всего интересовала коллоизация в сложных местах с моделью этой: ну там на колоколенку залезть, второй этаж, настил из досок и дырки в куполе. Я думал это поглядеть, как колидится с игроком.

А дядя Миша не мне должен был угождать, а СЕБЕ, и прежде всего, себе, а так же тем, кто будет под его движок что-то делать.

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено XaeroX 04-06-2019 в 08:41:

Цитата:
Ghoul [BB] писал:
На первом скрине правда ничорта не видно, усе темное

Ну ёлки-палки, ночь же. Можно было прожекторов снаружи поставить, осветить, но мне лень было.
Цитата:
Ghoul [BB] писал:
Тока почему 74К wpoly ? У тебя еполи в вполи преобразуются при компиляции?

В Волатиле немного иной смысл у этих аббревиатур. Если кратко - то да, эта модель стала частью мира, и поэтому wpoly. Есть ещё lpoly (полигоны освещённые динамическим светом) и spoly (полигоны, от которых считаются тени), там суммирование по всем лайтам в кадре.
Цитата:
Ghoul [BB] писал:
Я думал это поглядеть, как колидится с игроком.

Коллидится, конечно. И бочки кататься будут. Но никто в наше время не делает коллизию по таким моделям. Для коллизий принято делать отдельную супер-лоуполи модель. Тут такой нет, а самому делать, опять же, какой смысл? Но Волатила такие коллижен-меши вполне поддерживает, принцип тот же, что и в UE4 - в виде дополнительного geom-объекта со специальным именем. Эта моделька была судя по всему рипнута при рендеринге (кстати у ней побитые нормали, поэтому бамп слегка кривой), и разумеется никакого коллижен-меша рипнуть таким образом нельзя, его же нет в видимо карте.

__________________

xaerox on Vivino


Отправлено FiEctro 04-06-2019 в 09:15:

XaeroX
Оно как то конвертируется? Или можно без компиляции любую подцепить?

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


Отправлено Дядя Миша 04-06-2019 в 09:23:

Цитата:
nemyax писал:
Это как? Аксиально шинкуется на квадратики?

необязательно аксиально.

Цитата:
Ghoul [BB] писал:
У тебя еполи в вполи преобразуются при компиляции?

Да, в Волатиле модельки становятся частью карты. В принципе у меня тоже есть подобная возможность, но я не советую её использовать, лимиты выбираются очень быстро, в халфе они 16-битные всё-таки.

Добавлено 04-06-2019 в 12:23:

ЗЫ. для тех кто забыл или не понял - параноя тоже поддерживает загрузку .ase моделей, как Волатила или Quake3.

__________________
My Projects: download page

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

Цитата:

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


Отправлено nemyax 04-06-2019 в 09:29:

Дядя Миша
Ты и модельки можешь крошить на паччы подобно брашам, почему нет.


Отправлено Дядя Миша 04-06-2019 в 09:34:

Я кстати вчера немного углубился в код X-Ray Engine. Первое впечатление: "ну вот примерно через такую хитрозакрученную жопу оно и работает".
Причём абсолютно же нельзя сказать, что Сталкера писали неграмотные люди. Очень даже грамотные, там и сетевая параллелизация и поддержка частичной компиляции карты и задачи на куски разбиты грамотно. Но вот в результате свет считается неделю. Тут еще вот какое соображение я имею. Грубо говоря 2007-2008, это эпоха Core2Duo. Ему на смену пришёл iCore.
Я поначалу конечно губищщи-то раскатал, щас думал как получу восьмикратный прирост. Но нет, в параллельных задачах за счёт HT прирост действительно в ~2.5 раза, в одноядерных задачах прирост на треть не более. Частота у процов почти совпадает 3.0Ghz у моего старого Core2Duo и 3.1Ghz у "нового" Core i3. Иными словами ждать каких-то чудес по сокращению времени компиляции света в сталкере от обновления железа не стоит, как я понял. Если старое железо считало свет неделю, новое с учётом всех оптимизаций, ну пусть за полдня управится. Но это всё равно чудовищно много. Впрочем сама неправдоподобность этой ситуации (ну как в том видио где автор рассуждает, что на планете живёт не шести миллиардов, а всего 600 человек), меня заставляет подумать что люди как-то необъективно время оценивают или может быть до меня такие слухи доходят. Про компиляцию света в неделю, я услышал от Элбера. Я ему вполне доверяю, но хотелось бы послушать кого-то еще. Кто из вас, форумчан, имел дело со сталкером, компилировал его карты и сколько времени это занимало?

Добавлено 04-06-2019 в 12:34:

Цитата:
nemyax писал:
Ты и модельки можешь крошить на паччы подобно брашам, почему нет.

Да я еще и OpenGL из под DirectX ломаю, используя GDI, чоужтам.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 04-06-2019 в 09:44:

Цитата:
FiEctro писал:
Или можно без компиляции любую подцепить?

Можно подцепить любую, если она будет в формате ASE или VMD.
Мне эту OBJ в ASE конвертировал товарищ H3D, за что ему отдельное огромное человеческое спасибо.

Добавлено 04-06-2019 в 16:44:

Цитата:
Дядя Миша писал:
параноя тоже поддерживает загрузку .ase моделей

Загрузчик откуда-то брал, или сам писал, как я? Сабматериалы поддерживаются? vertexnormals?

__________________

xaerox on Vivino


Отправлено FiEctro 04-06-2019 в 09:55:

Цитата:
Дядя Миша писал:
Про компиляцию света в неделю, я услышал от Элбера. Я ему вполне доверяю, но хотелось бы послушать кого-то еще. Кто из вас, форумчан, имел дело со сталкером, компилировал его карты и сколько времени это занимало?


Так пускай Элбер и сравнит на Сталкере и Ксаше, например туже спонзу. А то так самвопрос поставлен некорректно, ибо не понятно о какой карте идёт речь, и какие параметры компиляции были выставлены. Может быть там овер 9000 боунсов и разрешение лайтмапы 32к х 32к? Тогда оно везде неделю считать будет. Потом конечно еще многое от самой модели зависит, вернее от её UV развертки, что меня конечно сильно разочаровало.

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


Отправлено Дядя Миша 04-06-2019 в 09:56:

Цитата:
XaeroX писал:
Загрузчик откуда-то брал, или сам писал, как я?

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ghoul [BB] 04-06-2019 в 09:56:

Цитата:
XaeroX писал:
Ну ёлки-палки, ночь же. Можно было прожекторов снаружи поставить, осветить, но мне лень было.

Коллидится, конечно. И бочки кататься будут. Но никто в наше время не делает коллизию по таким моделям. Для коллизий принято делать отдельную супер-лоуполи модель. Тут такой нет, а самому делать, опять же, какой смысл? Но Волатила такие коллижен-меши вполне поддерживает, принцип тот же, что и в UE4 - в виде дополнительного geom-объекта со специальным именем. Эта моделька была судя по всему рипнута при рендеринге (кстати у ней побитые нормали, поэтому бамп слегка кривой), и разумеется никакого коллижен-меша рипнуть таким образом нельзя, его же нет в видимо карте.


Ну ежели ночь, то вся церковь должна сиять демоническим огнём, чоб на куполах разглядеть перевёрнутый крест!!!

Так у ДМ в демке эти здания никакие не суперлоуполи, там чото около 500к было...и он утверждал, что все работает пофигенно и безразрывно! Вот я его и хотел потестить.

Как вообще тогда коллизия делается? На карту сначала ставится суперлоуполи модель, делается коллизия и потом ставится нормальная модель или суперлоуполи одновременно там стоит, только хайдится как-то?

Побитые норали? В чём это выражается в модели (как непосвящённому понять при одном лишь взгляде, что здесь нормаль битая, а тут - нет?)

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено XaeroX 04-06-2019 в 10:02:

Цитата:
Дядя Миша писал:
Из ку3 взял конечно жы.

Я не знаю, как сейчас, а старые ку3мап2 не поддерживали современные фичи ASE, которые использует UE4 - те же сабматериалы. Да и код загрузчика там на редкость мерзкий. Я написал нормальный, с rules и callbacks, в него теперь несложно поддержку любых новых секций добавить. И в джек я его встроил заместо старого.
Цитата:
Дядя Миша писал:
Нормали не поддерживаются, откуда у брашей нормали?

q3map_nonplanar + q3map_shadeangle, откуда ж ещё.
К тому же ASE можно экспортировать из блендера. Мы так в Волатиле ландшафты делаем. Ты ещё спроси, зачем ландшафтам нормали.

Добавлено 04-06-2019 в 17:02:

Цитата:
Ghoul [BB] писал:
Так у ДМ в демке эти здания никакие не суперлоуполи, там чото около 500к было...

Они там суперлоуполи, просто их очень много. Это малость другое.
Цитата:
Ghoul [BB] писал:
Как вообще тогда коллизия делается?

Так же, как и везде. Можно в джеке клип-браши расставлять, а можно в максе или блендере. ИИ, который сам распознает, где ступенька, которую можно упростить до кубика, а где сложная решётка, которую надо точно трассировать, пока не изобрели. Это в некотором смысле тоже творческий процесс.
Цитата:
Ghoul [BB] писал:
Побитые норали? В чём это выражается в модели

Ну там их просто не было, в модели. И сглаживание было потеряно. Так мне объяснил H3D. А т.к. нормалмапы, идущие в комплекте, сделаны были под конкретную модель с конкретными нормалями, то из-за этого будет неправильный бамп - касательное пространство-то теперь другое, не то, которое использовалось при запекании нормалок.

__________________

xaerox on Vivino


Отправлено FiEctro 04-06-2019 в 10:05:

>> Ну там их просто не было, в модели. И сглаживание было потеряно.

А .mtl файл он подцепил?

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


Отправлено XaeroX 04-06-2019 в 10:06:

FiEctro
mtl файл это описание материалов, причём тут нормали?
Он текстовый, я по нему смотрел, какому материалу какой файл диффузки и нормалки соответствует.

__________________

xaerox on Vivino


Отправлено Дядя Миша 04-06-2019 в 10:20:

Цитата:
FiEctro писал:
А то так самвопрос поставлен некорректно, ибо не понятно о какой карте идёт речь, и какие параметры компиляции были выставлены

В самом сталкере уже есть карты, ну вот Кордон например. Сколько для кордона свет считать на максимальных настройках?

Цитата:
FiEctro писал:
разрешение лайтмапы 32к х 32к

в сталкере обычно 3-4 лайтмапы 1024х1024. Т.е. результирующее не превышает 4096х4096.

Цитата:
FiEctro писал:
Потом конечно еще многое от самой модели зависит, вернее от её UV развертки, что меня конечно сильно разочаровало.

Эта завязка на развёртку, как в унреале - дешевый способ избежать швов на лайтмапах. Я пока еще не могу составить своего мнения, насколько они критичны, т.к. я еще не видел что мне там насчитало. Но в том же сталкере привязке лайтмапы к UV-нету и швов как бы тоже не наблюдается. Т.е. это вполне реализуемо, хотя уже и не так просто как с разверткой.

Цитата:
XaeroX писал:
Я не знаю, как сейчас, а старые ку3мап2 не поддерживали современные фичи ASE, которые использует UE4

Да дело в том, что у меня паталогическое отвращение к ASE, я его просто для теста прикрутил. Я smd предпочитаю.

Цитата:
Ghoul [BB] писал:
Как вообще тогда коллизия делается?

Чукча не читатель? Я уже написал, генерится при загрузке карты в первый раз. Сама. Из видимой модели. Опять не понял?

Цитата:
XaeroX писал:
Мы так в Волатиле ландшафты делаем

Не боишься что волатильные ландшафты будут с тем же грасс-тестом сравнивать?

__________________
My Projects: download page

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

Цитата:

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


Отправлено nemyax 04-06-2019 в 10:21:

Цитата:
XaeroX писал:
Ну там их просто не было, в модели. И сглаживание было потеряно.

В том архиве лежит FBX с кастомными нормалями, не только OBJ.


Отправлено XaeroX 04-06-2019 в 10:29:

Цитата:
Дядя Миша писал:
Не боишься что волатильные ландшафты будут с тем же грасс-тестом сравнивать?

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

__________________

xaerox on Vivino


Отправлено Ghoul [BB] 04-06-2019 в 11:28:

Цитата:
XaeroX писал:
Если бы у меня была задача сделать грасс-тест - можно было бы и посравнивать. А так у меня не было даже стимула траву, как в старой волатиле, прикрутить, потому что на планете мира PW нет растительности. Ну может быть, когда-нибудь, от нечего делать и прикручу в качестве задела на будущее.


А как же оно забавно получается: в первой Параное не было воды т.к. шейдерную не осилили, на планете PW нет растительности (тогда откуда там кислород, чоб игрок мог дышать?) Патамушто нет донатов стимула прикручивать траву...

Добавлено 04-06-2019 в 14:28:

Цитата:
Дядя Миша писал:


Чукча не читатель? Я уже написал, генерится при загрузке карты в первый раз. Сама. Из видимой модели. Опять не понял?



Та не совсем, Ксер же вот пишет, что оно вручную надо делать, клипбраши те же.
Получается процесс такой же, как и был в голде - окружать модель примитивной моделью из клипбрашей тех же... а ты пишешь, что ничего не надо, просто ставишь модель на карту, конпилируешь и оно всё само работает как надо и не надо вручную коллизию на сложных решётках делать.

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено XaeroX 04-06-2019 в 12:04:

Цитата:
Ghoul [BB] писал:
в первой Параное не было воды т.к. шейдерную не осилили, на планете PW нет растительности (тогда откуда там кислород, чоб игрок мог дышать?) Патамушто нет донатов стимула прикручивать траву...

Я не знаю, что там было в Паранойе, а в PW нет травы концептуально и именно поэтому я не делал её в движке. Если ты выдвинешь гипотезу, как на безжизненной планете, где небо постоянно затянуто тучами и царит вечная ночь, могут появиться растения - мы радостно включим это в диздок, а там и до травы недалеко.
А пока что ты поменял местами причину и следствие. Чему только тебя гуру учат...
Цитата:
Ghoul [BB] писал:
Ксер же вот пишет, что оно вручную надо делать, клипбраши те же.

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

__________________

xaerox on Vivino


Отправлено Дядя Миша 04-06-2019 в 12:28:

Цитата:
Ghoul [BB] писал:
в первой Параное не было воды т.к. шейдерную не осилили

лжа в каждом слове. Ты вот не знаешь как было дело, но начинаешь придумывать отсебятину. БУззер спросил БузЗзеРа - вода нужна? Тот сказал, что нет, уровней с водой не планируется. Ну и забили на воду. ВОт наглядный пример конспирологии с последующим разоблачением.

Цитата:
Ghoul [BB] писал:
(тогда откуда там кислород, чоб игрок мог дышать?)

вот снова. С чего ты взял что растения производят кислород? Они его сжирают ровно столько же сколько и выделяют. Т.е. пользы от них никакой. И эта, растения на земле появились всего 500 миллионов лет назад, а кислород был уже тогда.

Цитата:
XaeroX писал:
Вот зачем ты опять лжёшь?

язабан!

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 04-06-2019 в 12:39:

Цитата:
Дядя Миша писал:
язабан

Это слишком жестоко, так мы его не перевоспитаем.
Предлагаю дать 10 лет ИТЛ. Будет нам модельки для тестов конвертировать.

__________________

xaerox on Vivino


Отправлено Дядя Миша 04-06-2019 в 12:43:

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

Мы уже Мастера пытались перевоспитать, а он вообще пропал куда-то.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 04-06-2019 в 12:47:

Цитата:
Ghoul [BB] писал:
тогда откуда там кислород, чоб игрок мог дышать?

Да, я насчёт безжизненности неудачно выразился. Конечно, жизнь на планете есть, есть даже рыбки. Но растений - нет. Дело в том, что кислород могут производить фотосинтезирующие бактерии - например, синезелёные водоросли. Вода в мире PW имеется, значит, есть и бактерии, и зоопланктон. Но растениям, помимо большого количества света и тепла (сравни размер одноклеточной бактерии и большого куста травы), нужна ещё и почва. Почвы у нас нет, есть только песок и камни. В таких условиях жизнь развивается не так, как на Земле. А как именно - сказать сложно, так как IRL за пределами Земли жизнь пока не обнаружили (Нибиру не в счёт).
Тут можно уйти далеко от темы, рассуждая о путях эволюции организмов в условиях, подобных миру PW, но боюсь что ты опять запостишь ссылку на какую-нибудь статью с крамолы, и этим всё закончится, не успев начаться.

Если будет желание продолжить обсуждение - создайте отдельную тему. В этой отвечать не надо, это блог Дяди Миши! Пожалуйста! А то выдам кресты.

Добавлено 04-06-2019 в 19:47:

Цитата:
Дядя Миша писал:
Мы уже Мастера пытались перевоспитать, а он вообще пропал куда-то.

Он в какой-то теме сказал "Гудбай", и ушёл в себя.
И до сих пор не вернулся.

__________________

xaerox on Vivino


Отправлено ncuxonaT 04-06-2019 в 17:38:

Дядя Миша лайтбейкером можно запечь быстро, он и швы удалит. Только нужен паддинг в 1 пиксель вокруг каждого куска.
Или можешь допилить рейтрейс, чтобы забыть патчи радиосити как страшный сон.


Отправлено Дядя Миша 04-06-2019 в 21:12:

Цитата:
ncuxonaT писал:
Только нужен паддинг в 1 пиксель

По науке это называется охранный бордюр, если что.

Добавлено 05-06-2019 в 00:12:

Што кубаноиду надо для щастья?



Теперь порядочек

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 05-06-2019 в 21:14:

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


Дальше начинаются неприятности. Для моделей со стрипами, как вы понимаете лайтмапу кусками загрузить просто невозможно - уникальный вертекс перестаёт быть уникальным из-за того, что координаты лайтмапы не совпадают. Очевидное решение - дестрипификация. Это очень простая операция, её можно выполнить при загрузке, но сами понимаете, модель с FAN-секвенциями будет рисоваться гораздо медленее. Впрочем, нам ведь пока что для теста. Просто поглядеть что у нас там получилось такое.

Добавлено 06-06-2019 в 00:14:

Ну чтож, самый первый скрин - для истории.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 07-06-2019 в 08:25:

Ого, лайтмапы для моделей это круто, хотя на ту возню с артефактами что ты подписался не позавидуешь. И почему столько пустого места пропадает зря?
И ещё такой вопрос, по картинке видно что сегменты лайтмапы прилегают вплотную друг к другу, не будут ли они вылазить тексели из других сегментов при сглаживании?

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


Отправлено Дядя Миша 07-06-2019 в 09:39:

Цитата:
FiEctro писал:
И почему столько пустого места пропадает зря?

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

Цитата:
FiEctro писал:
не будут ли они вылазить тексели из других сегментов при сглаживании?

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

Посмотрим. Унреаловский метод с разверткой - самый простой в реализации для программиста и самый ненавистный для его пользователей.

__________________
My Projects: download page

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

Цитата:

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


Отправлено nemyax 07-06-2019 в 10:06:

Цитата:
Дядя Миша писал:
Унреаловский метод с разверткой

Лайтмапу на развёртку? Как тогда быть с тайлящимися текстурами?


Отправлено FiEctro 07-06-2019 в 10:14:

nemyax
Вроде как для лайтмапы делается собственная развертка

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


Отправлено XaeroX 07-06-2019 в 11:02:

Цитата:
nemyax писал:
Как тогда быть с тайлящимися текстурами?

Никак. А разве в унреале как-то иначе?
Сейчас вообще тенденция делать диффузки под модель, безо всякого тайлинга.

__________________

xaerox on Vivino


Отправлено nemyax 07-06-2019 в 11:10:

Цитата:
XaeroX писал:
А разве в унреале как-то иначе?

Не знаю, не пробовал. Но дополнительная развёртка и правда очевидное решение.


Отправлено Дядя Миша 07-06-2019 в 11:26:

Цитата:
nemyax писал:
Как тогда быть с тайлящимися текстурами?

Вот поэтому пользователи Унреала и бугуртят

Добавлено 07-06-2019 в 14:26:

Зато у них швов нет на лайтмапах. Наверное.

__________________
My Projects: download page

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

Цитата:

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


Отправлено nemyax 07-06-2019 в 11:46:

Вообще говоря FBX, с которым нереал работает, мультиразвёртку держит. Чё бы её не уметь такому мегадвижку, непонятно.


Отправлено Дядя Миша 07-06-2019 в 11:52:

Цитата:
nemyax писал:
Чё бы её не уметь такому мегадвижку, непонятно.

Тут какие-то внутренние соображения разрабов и ничего более. Может они даже давали комментарии.

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 07-06-2019 в 12:21:

В УЕ поддерживается мультиразвертка, вы чего


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

ncuxonaT yeч сам её генерит?

__________________

xaerox on Vivino


Отправлено Дядя Миша 07-06-2019 в 13:03:

Вообще говоря, если отмотать на начало апреля, когда я вернулся к работе над параноей, я предполагал, что мне надо просто исправить несколько ошибок и самое главное - сделать освещение для декалей с альфа-каналом, поддержку которых я вообще вводил для мода Креазота в своё время, т.к. у него были там именно такие декали. Причём ввёл я их тоже примерно в 2016-м, а освещение сделать так и не сподобился. Теперь по итогам работы за два месяца, что было сделано:
1. исправлена целая уйма ошибок и несуразностей.
2. подключены поз-параметры (ну как в сорсе), для мультивей блендинга
3. рендерер переписан таким образом чтобы сортировать полупрозрачные поверхности на полигональном уровне (иными словами стёкла и каждая частичка партиклей - это элемент для сортировки). То есть теперь не будет ситуации, когда вспышки от взрывов или выстрелов не было видно за стеклом.
4. внедрена новая система парсинга юниформов, позволяющая подключать их в шейдере без написания ответной части в движке (движок подхватывает автоматически), что в свою очередь дало толчок сделать шейдерам ревизию и красиво всё упорядочить, сведя к минимуму вариации нерабочих эффектов. К тому же появилась мощная система отладки, если юниформ был использован в шейдере, но движок его не подхватил. Это тоже очень удобно, раньше приходилось гадать.
5. проведена ревизия отложенного рендерера, исправлены ляпы, ошибки, оптимизировано быстродействие, трасса научилась трейсить подвижные брашевые модели (и давать от них тень как следствие).
6. полностью переписан и оптимизирован код декалей на моделях, переведён на VBO.
7. поддержка декалей на стёклах (ну в смысле их видно с обоих сторон). На этот раз сделанная правильно.
8. Исправил и переписал код окклюжен-куллинга, чтобы он работал правильно
9. Внедрил рекурсивные зеркала из ксаш-мода.
10. выкинул старую мультиточечную систему освещения студиомоделей, поскольку теперь есть альтернатива в виде повертексного освещения.
11. Переписал все пост-эффекты, исправил ошибки. И кстати сделал возможность установить дефолтный фов, отличный от 75.
12. провёл ряд мероприятий улучшающих совместимость со старым железом (минимальный порог. напоминаю GL 2.1). Параноя начала запускаться на радионе X1600.
13. Выявил узкие места как в общем быстродействии, так и в загрузке уровней и микрофризов во время игры, предварительно закэшировал шейдеры, повертексное освещение, исправил баг в движке, который применял ко всем текстурам эмбосс с нулевым фактором, сдампил на диск коллизию и TBN. А сам TBN рассчитал применительно ко всей субмодели, что в некоторых случаях должно исправить швы спекуляра между мешами. Впрочем я артефактов спекуляра уже давно не видел.
14. Добавил поддержку параллакса для декалей, например для всяких ям.
15. Добавил BestFitNormals для предотвращения их деградации.
16. Приступил ко внедрению лайтмап на моделях, планируется так же поддержка ландшафтов и расстановки травы, что логично.

ну и разумеется, разумеется, до освещения декалей с альфа-каналом руки у меня не-до-шли

Добавлено 07-06-2019 в 15:58:

А самое смешное, что Креазот, ради которого я собственно и начал когда-то внедрять эти декали, окончательно потерялся и по слухам перешёл на Unity.

Добавлено 07-06-2019 в 16:03:

PS. Выкидывать эти декали нет никакого резона, потому что параллакс только с ними и работает. А для серых декалей, это выглядит как яма с полупрозрачной поверхностью над ней.

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 07-06-2019 в 13:47:

XaeroX там есть автоматическая генерация, но, как я понимаю, она просто перепаковывает куски из первого канала развертки (который для диффуза и прочего), чтобы не было наложений и между кусками было достаточное расстояние.
https://docs.unrealengine.com/en-US...maps/index.html


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

Цитата:
Дядя Миша писал:
И кстати сделал возможность установить дефолтный фов, отличный от 75.

Я не понимаю, почему люди ставят фов меньше 90. В наше время все норовили поставить 100 или даже 110. Что происходит?

Добавлено 07-06-2019 в 20:51:

Цитата:
Дядя Миша писал:
А самое смешное, что Креазот, ради которого я собственно и начал когда-то внедрять эти декали, окончательно потерялся и по слухам перешёл на Unity.

Вот что бывает, когда внедряешь чьи-то хотелки, вместо того чтобы сконцентрироваться на своём собственном проекте.

__________________

xaerox on Vivino


Отправлено ncuxonaT 07-06-2019 в 13:51:

Дядя Миша можешь подробнее объяснить про автоматическое подхватывание юниформов? Чо-т не могу понять смысла.


Отправлено Дядя Миша 07-06-2019 в 14:19:

Элбер мне говорил какую-то совсем уж дикую вещь, но я вероятно его не так понял. Он говорил что развертка лайтмапы хранится в самой модели, следствие на карту можно поставить только одну такую модель и вот на нее лайтмапа ляжет правильно, а на всех остальных - уже нет. Но повторюсь, я наверное его неправильно понял.

Цитата:
ncuxonaT писал:
можешь подробнее объяснить про автоматическое подхватывание юниформов?

Раньше их приходилось прописывать вручную, glGetUniformLocation blab-bla, потом в вызове шейдера - опять заново прописывать glUnifor4f bla-bla и так для каждого шейдера. Это было дико неудобно. С новой системой необходимость в этом полностью отпала. Есть пространство имён юниформов, которые знает движок и автоматически подхватывает их, когда они были прописаны в шейдере. К тому же эта система умеет различать размерность юниформа, ну та 1, 2, 3 или 4, отличать массивы, различать юниформы и текстурные юниты, а сами текстурные юниты тоже больше не надо задавать жёстко вручную, прописывая GL_Bind( GL_TEXTURE0. То есть вообще больше не нужно ничего. Пользовательская часть выглядит вот так:

C++ Source Code:
case UT_DEPTHMAP:
  u->SetValue( tr.screen_depth );
break;

а дальше система сама разберётся.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 07-06-2019 в 15:04:

Цитата:
XaeroX писал:
Никак. А разве в унреале как-то иначе?
Сейчас вообще тенденция делать диффузки под модель, безо всякого тайлинга.


В Юнити поддерживается тайлинг для таких моделей с лайтмапой. Просто 2 UVшки делаешь, одна для текстур, другая для лайтмапы. Но вообще конечно удобнее бы было запекать лайтмапы прямо в редакторе, там в блендере или максе, ибо все остальные запекаторы в т.ч. и Юнитивские артефачат налево и направо.

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


Отправлено ncuxonaT 07-06-2019 в 15:43:

Дядя Миша понял. Да, удобно, надо будет тоже подобное запилить.

Цитата:
Дядя Миша писал:
Элбер мне говорил какую-то совсем уж дикую вещь, но я вероятно его не так понял. Он говорил что развертка лайтмапы хранится в самой модели, следствие на карту можно поставить только одну такую модель и вот на нее лайтмапа ляжет правильно, а на всех остальных - уже нет. Но повторюсь, я наверное его неправильно понял.

Развертка-то в модели, но они же в атлас укладываются. И на каждый экземпляр модели записывается, типа, смотри в атласе квадрат 0.0,0.0 - 0.25, 0.25.
Цитата:
FiEctro писал:
Но вообще конечно удобнее бы было запекать лайтмапы прямо в редакторе, там в блендере или максе, ибо все остальные запекаторы в т.ч. и Юнитивские артефачат налево и направо.

Это очень долго. Думаешь, зачем я писал лайтбейкер?


Отправлено XaeroX 07-06-2019 в 15:45:

Цитата:
ncuxonaT писал:
надо будет тоже подобное запилить.

Куда запилить? Ты разве что-то делаешь?

__________________

xaerox on Vivino


Отправлено FiEctro 07-06-2019 в 16:18:

Цитата:
ncuxonaT писал:
Это очень долго. Думаешь, зачем я писал лайтбейкер?


Да одинаково

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


Отправлено Elber 07-06-2019 в 18:55:

Цитата:
Дядя Миша писал:
[B]Элбер мне говорил какую-то совсем уж дикую вещь, но я вероятно его не так понял. Он говорил что развертка лайтмапы хранится в самой модели, следствие на карту можно поставить только одну такую модель и вот на нее лайтмапа ляжет правильно, а на всех остальных - уже нет. Но повторюсь, я наверное его неправильно понял.


В нереале лайтмапа запекается в индивидуальную развертку, что при тайлинге создает артефакты, что логично, для этого существует опция при импорте модели Generate Lightmap UV. Проблемы кроются в следующем:
чем больше модель - тем больше кусочков элементов на такой развертке, следовательно на каждый кусочек выделяется меньше пикселей, что размывает лайтмапу, и в таком случае приходится накручивать мануально резолюшн лайтмапы, что сильно аффектит время пересчета лайтмапы. 2-3 таких модели - сборка лайтмапы может занимать до пары часов (в зависимости от проца есессно). Если же на модели есть повторяющиеся элементы - то при таком подходе такие вещи следует моделить отдельно, чтобы они на развертке не отъедали место, а это уже требование к моделированию. Вообщем замкнутый круг. Ну просто у разрабов такая реализация.
Поэтому я при работе с проектом - вырубаю лайтмапу вообще. Только динамика.

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


Отправлено ncuxonaT 07-06-2019 в 20:27:

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


Отправлено XaeroX 07-06-2019 в 22:04:

ncuxonaT
Ну так заведи уже тему о своих проектах. Народ должен знать героев в лицо.

__________________

xaerox on Vivino


Отправлено Elber 07-06-2019 в 22:18:

Цитата:
ncuxonaT писал:
Elber не понимаю, какую мысль ты хотел донести. Чем больше модель, тем выше разрешение лайтмапы нужно? Ну а как иначе-то? [/B]

1. Уточнил о том что говорит ДМ
2. Рассказал об особенностях работы в анриле.


Отправлено Ghoul [BB] 08-06-2019 в 08:35:

Цитата:
Дядя Миша писал:
Што кубаноиду надо для щастья?


Ну конечно жы это!!!
Выпил и....

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено Дядя Миша 08-06-2019 в 14:27:

Наилучшие результаты получаются с халфовским принципом построения матрицы лайтмапы - т.е. из матрицы исходной текстуры. Вероятно это происходит потому что некоторые моделлёры любят накладывать текстуру на треугольники, образующие квад реверсивно. Одна туда, другая обратно.
Впрочем я не моделлёр, это только догадка. И да, я протестировал пока что лишь одну модель, представленную на скрине. Здесь же выявилась резкая зависимость от texture_step. Так, например при texture_step 8 и 4 (как на скринах) всё отлично, а вот на разрешении 2 - лезут артифакты, хотя должно происходить обратное. Ну вот пока так, я еще не разобрался почему. Радиосити пока тоже нет.

__________________
My Projects: download page

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

Цитата:

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


Отправлено nemyax 08-06-2019 в 19:18:

Цитата:
Дядя Миша писал:
Вероятно это происходит потому что некоторые моделлёры любят накладывать текстуру на треугольники, образующие квад реверсивно.

Что это за софт, который триангулирует не так, как отображает?


Отправлено FiEctro 08-06-2019 в 21:39:

Дядя Миша
А спонзу моделькой можешь собрать?

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


Отправлено Ghoul [BB] 08-06-2019 в 22:11:

Цитата:
Дядя Миша писал:
Вероятно это происходит потому что некоторые моделлёры любят накладывать текстуру на треугольники, образующие квад реверсивно. Одна туда, другая обратно.


Наверное, такое происходит для экономии места на текстуре: зачем дважды рисовать одну и ту же деталь, если с обоих сторон она зеркально похожа?!

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено FiEctro 08-06-2019 в 22:19:

А зачем вообще брать UVшку текстуры для лайтмапы 0_о?

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


Отправлено Дядя Миша 08-06-2019 в 23:35:

Цитата:
FiEctro писал:
А зачем вообще брать UVшку текстуры для лайтмапы 0_о?

так получается меньше всего швов. Ворлд-люксели проблематично накладывать, в халфовских моделях все треугольники флипнуты и высота инвертирована. Получается какая-то хрень стабильно.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 08-06-2019 в 23:49:

не забывай что иногда несколько координат одной UV могут перекрывать друг друга (используется для повторяющихся деталей), как в таком случае будет рендериться лайтмапа?

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


Отправлено Дядя Миша 09-06-2019 в 07:54:

Это уже не имеет значения, геометрия разворачивается в фан-секвенции с дубликатами вертексов.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 09-06-2019 в 09:27:

Цитата:
Дядя Миша писал:
Второй момент - как посчитать непрямое освещение.
<...>
А теперь скажите мне как это применить на модельку у которой десятки тысяч маленьких полигонов? И сколько по времени это всё будет считаться? И самое главное сколько это займет памяти?

Аппроксимировать модельку более простой моделькой или массивом лайт-проб...

Добавлено 09-06-2019 в 16:27:

Цитата:
Продолжаем здесь

Про пьянку как будто


Отправлено Дядя Миша 09-06-2019 в 10:24:

Цитата:
Crystallize писал:
Аппроксимировать модельку более простой моделькой

а потом мучительно натягивать результаты с простой на сложную?

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 09-06-2019 в 10:30:

Может конечно глупость скажу, а что если интерполировать освещение на полигонах на которые не попали лучи к тем на которых всё ок? Типа как это делает DDS между пикселями.

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


Отправлено Дядя Миша 09-06-2019 в 11:50:

FiEctro не всё можно интерполировать и получить при этом вменяемый результат. Интерполяция это всё-таки линейная штука, а между упрощенным мешом и его точной копией - явная нелинейность. Можно конечно сделать интегрирование, но мне что-то подсказывает, что по времени это будет сопоставимо с честными рассчётами. Я уже молчу что простое разблуривание лайтмапы увеличивает время работы вдвое. То есть даже обычный блур по гауссу - далеко не такая безобидная операция как кажется на первый взгляд. На той же ЧАЭС, к примеру, я подвёл некоторую статистику, так вот в самом минимальном разрешении лайтмапы мы имеем пять миллионов люкселей. И лайтмапа выглядит как говно, люксели в несколько раз больше игрока. Увеличения разрешения кратные, т.е. следующий шаг уже 25 миллионов люкселей.

Добавлено 09-06-2019 в 14:40:

Для тех кто от темы совсем далёк, поясню на простом примере. Линейная интерполяция - это нахождение среднего значения между двумя точками.
Ну очевидно между точками упрощённого меша и точками высокополигонального. И уже здесь нас поджидает первая (но далеко не единственная засада). Кол-во этих точек не совпадает - на грубой геометрии может быть одна точка, на точной - 10-15. Но прикол даже не в этом. Плотность точек нелинейна, она сильно зависит от детализации исходного меша, взять тот же чаэс, в упрощённом виде у нас здание четвёртого энергоблока в виде кубика из 12-и трианглов, на котором гордо возвывшается сверх-детализированная труба. Апроксимация, очевидно будет выглядеть как кубик с усечённым конусом. И вот перед нами фактически неразрешимая задача - перенести лайтмапу с этого конуса на детализированную копию трубы. Не пытайтесь решить эту задачу, она не имеет решения. Потому что быстрый перенос даст даже не просто отвратительные, а неверные результаты, а перенос с интегрированием и любые другими ухищрениями по времени рассчётов опасно приблизится к честному и весь огород станет под сомнение.

Добавлено 09-06-2019 в 14:42:

И это я еще не упомянул что лайтмапа по честной геометрии сама по себе - приближение и интерполяция, потому что её разрешение заведомо ниже, чем например у динамического освещения. То есть мы делаем приближение приближения.

Добавлено 09-06-2019 в 14:50:

Наверное я пока это дело оставлю. То что у меня получится в конечном итоге всё равно меня не устраивает по уровню качества, а совместимость мешает всё это реализовать другими методами.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 09-06-2019 в 12:44:

Дядя Миша
Может тогда в самом компиляторе моделей сделать подготовку? Посути для халфы никто не делал моделей с лайтмапами, так что в этом вопросе совместимость впринципе и не нужна.

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


Отправлено Crystallize 09-06-2019 в 13:13:

FiEctro ну можно АО запечь разве что, как в сорсе.


Отправлено Дядя Миша 09-06-2019 в 13:56:

Цитата:
FiEctro писал:
так что в этом вопросе совместимость впринципе и не нужна.

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 09-06-2019 в 14:02:

Цитата:
Дядя Миша писал:
Некоторые вещи, например тот факт, что в модельках треугольники все флипнуты, много народа об этом в курсе?

Что это значит?


Отправлено FiEctro 09-06-2019 в 14:27:

ncuxonaT
Наверное имеет ввиду что во время моделинга их зеркалят для симметрии.

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


Отправлено Crystallize 09-06-2019 в 15:39:

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


Отправлено Дядя Миша 09-06-2019 в 15:48:

Цитата:
ncuxonaT писал:
Что это значит?

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 09-06-2019 в 15:58:

А зачем халфе выворачивать модели наизнанку?

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


Отправлено XaeroX 09-06-2019 в 16:07:

FiEctro
Как говорил Шерлок Холмс - а почему бы и нет?

__________________

xaerox on Vivino


Отправлено Дядя Миша 09-06-2019 в 18:03:

Вообщем тут выяснились леденящие душу подробности. Всё это время world-позиция моделей в компиляторе, да и в колоизаторе тоже считалась неправильно, фактически секелет для статиков строился исходя лишь из дефолтного положения кости. Этот код был написан еще до выхода первой версии второй паранои, еще для ZHLT. Почему жы это было незаметно? Очень просто - у статиков анимация чаще всего по нолям, т.е. никаких смещений там нет. Но наш Элбер, при конвертировании взял за моду писать в QC не $origin 0 0 0 90, который бы применлся к костям, а наоборот - прописывать rotate 90 в настройках секвенции и кажется в этом еще Flash был замечен. Вот оно и выходит, что если моделька была сделанная с нуля, то там естественно никаких вращений анимации не было и всё работало корректно. А если было вот такое вращение, то происходила какая-то херь, но вы же понимаете, что заметить это на размытом вертексном освещении, или на колозации, на очень небольшом числе моделей было попросту невозможно. Плюс не забывайте, что ни один вьювер, в том числе и мой не умеет показывать дефолтное положение скелета без предумноженной анимации, ну это попросту никому не нужно. И вот можно сказать только тогда, когда я занялся этими чёртовыми лайтмапами, тут-то так сказать вся страшная правда и вылезла на ружу. А я уже второй день понять не могу что за чертовщина происходила. А оно вон что оказывается.

__________________
My Projects: download page

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

Цитата:

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


Отправлено nemyax 09-06-2019 в 19:19:

Дядя Миша
Не потому ли у солидных env_model-ей кревые габариты?


Отправлено Дядя Миша 09-06-2019 в 21:25:

Ну чтош, после устранения всех ошибок (не только вышеописанной, были и другие, непосредственно касающиеся лайтмап), других мелочей и ряда экспериментов я готов даже признать что оно не так уж и плохо выглядит.
Вот регулировка качества лайтмапы texture_step от 2 до 64.






Я кстати уже и бамп подключил. Потом покажу.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 09-06-2019 в 23:46:

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

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


Отправлено Дядя Миша 10-06-2019 в 15:59:

Нечто из серии парных картинок на тему - как бы я хотел чтобы это выглядело:

и как это выглядит сейчас


Добавлено 10-06-2019 в 18:59:

ЗЫ. спонзу как-нибудь потом, када радиосити приделаю. А чтобы приделать моделям радиосити видимо придётся весь компилятор переписывать.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 10-06-2019 в 17:15:

На зданиях где сложная геометрия, вроде как легло нормально, а вот на ландшафте какой то бред. Особенно на холме в дальнем конце откуда тень?

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


Отправлено XaeroX 10-06-2019 в 17:58:

Цитата:
FiEctro писал:
Особенно на холме в дальнем конце откуда тень?

От облаков!

__________________

xaerox on Vivino


Отправлено ncuxonaT 10-06-2019 в 18:19:

Дядя Миша а в раде свет от солнца идет с учетом ламберта или нет?


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

Цитата:
FiEctro писал:
а вот на ландшафте какой то бред

надо увеличивать разрешение. Один люксель на триангл - вот и бред.

Добавлено 10-06-2019 в 21:55:

Цитата:
ncuxonaT писал:
а в раде свет от солнца идет с учетом ламберта или нет?

да, конечно.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 11-06-2019 в 13:11:

Так. Надо будет еще затестировать ворлдлюксели из Q3 с учётом исправленных ошибок и пока отложить всё это дело в сторонку. Потому что такими темпами это снова растянется на неопределённое время. А уже пора бы получить обратную связь от сообщества. Освещение декалей я кстати тожы так и не сделал, но уже хрен с ним, попозже доделаю.
Вообщем план такой:
1. собираю новый архив второй паранои, с учётом всех исправлений.
2. прохожу сам, исправляя то, что недоисправлено.
3. выкладываю вам на тестирование + SDK для творчества.
Я уже много раз всего обещал и каждый раз оно откладывалось-затягивалось, поэтому уже боюсь называть конкретные сроки, но планирую выдать на этой неделе.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Lev 11-06-2019 в 13:55:

Ждём) Имеет смысл пытаться запустить это на GF6800?


Отправлено Дядя Миша 11-06-2019 в 14:30:

Lev да, всё должно работать.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Lev 11-06-2019 в 17:04:

Дядя Миша ну тогда будет тест на моём допотопном ящике. К слову, первая параноя в связке с Ксаш-движком там идёт отлично.


Отправлено Дядя Миша 12-06-2019 в 12:03:

Приступил к сборке бета-версии. Очевидно надо пройти вторую параною, попутно исправляя возникающие ошибки и докладывая недостающие ресурсы, ну или подменяя их на затычки. Как только допройду, можно сказать что бета-версия готова.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 13-06-2019 в 13:49:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 13-06-2019 в 18:19:

Поправил освещение партиклей и вылет. Думаю второго теста вполне будет достаточно. Играется хорошо, тормозов нет.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 14-06-2019 в 10:24:

Прошёл второй раз, поправил еще несколько мелочей. Ну в принципе - достаточно. Буду собирать вам бета-версию. Но сперва надо выложить обновления движка и ксаш-мода.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 21-06-2019 в 21:35:

Ну вот, выдалась свободная минутка и я прикрутил наконец-то полноценные ворлд-люксели из кутри к лайтмапам на моделях (слева классический подход, где текстурная матрица превращается в лайтмапную, справа истинные ворлдлюксели).

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 21-06-2019 в 21:50:

Что из себя представляют ворлд-люксели?
Кстати, если будет интересно, как я удаляю швы, ответ "вот так":
https://www.sebastiansylvan.com/pos...esTextureSeams/


Отправлено Дядя Миша 22-06-2019 в 04:43:

Цитата:
ncuxonaT писал:
Что из себя представляют ворлд-люксели?


Первый квейк, первая халфа, второй квейк:
Подход: берём исходную текстурную матрицу, делим на наше соотношение текселя к люкселю (обычно 16).
Плюсы: матрицу не надо высчитывать и хранить отдельно, она всегда валидная.
Минусы: зависимость от скейла текстуры и от её ориентации. Тем не менее актуально для софт-рендера, сокращается кол-во рассчётов.

Вторая халфа, обновлённые p2-компиляторы
Подход: берём исходную текстурную матрицу, нормализуем, снапаем близкие к аксиальным значения, умножаем на соотношение юнита к люкселю.
Плюсы: рассчёты по прежнему минимальны, размерность люкселя везде одинаковая, что положительно сказывается на бесшовности лайтмапы.
Минусы: всё еще зависимость от ориентации текстуры.

Третий квейк:
По нормали определяем ориентацию сурфейса, строим аксиальную матрицу в любом случае, по X, Y или Z.
Плюсы: лайтмапа не только не зависит от текстурной матрицы, но еще и всегда выровнена в мировом пространстве. Для брашей не очень актуально, а вот для всяких моделей и патчей весьма полезно в плане отсутствия швов и ошибок построения.
Минусы: матрица считается с нуля каждый раз. Впрочем в наше время по быстродействию разницы нет. Ее уже в 99-м не было.

Добавлено 22-06-2019 в 07:43:

Цитата:
ncuxonaT писал:
ответ "вот так":
https://www.sebastiansylvan.com/pos...esTextureSeams/

Ты же говорил, что как в Last Of Us. А это совсем другая статья.

__________________
My Projects: download page

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

Цитата:

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


Отправлено nemyax 22-06-2019 в 06:15:

Цитата:
Дядя Миша писал:
По нормали определяем ориентацию сурфейса, строим аксиальную матрицу в любом случае, по X, Y или Z.

Вот у нас нормаль 0.57735, 0.57735, 0.57735. Какую матрицу мы построим?


Отправлено Дядя Миша 22-06-2019 в 09:39:

Z по дефолту.

Добавлено 22-06-2019 в 11:57:

Ну чтожы, апробывал новый тип лайтмапы на ЧАЭС. Мне очень понравилось. Тени стали красивые чоткие и без швов. Так что вероятно выложу обновление.

Добавлено 22-06-2019 в 12:39:

Это конечно не радиосити, но кто там разберёт?

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 22-06-2019 в 12:55:

Дядя Миша то есть просто проекция на одну из координатных плоскостей в зависимости от нормали?

Цитата:
Дядя Миша писал:
Ты же говорил, что как в Last Of Us. А это совсем другая статья.

Да то же самое. Только тут с кодом.


Отправлено Дядя Миша 22-06-2019 в 13:21:

Цитата:
ncuxonaT писал:
то есть просто проекция на одну из координатных плоскостей в зависимости от нормали?

ну да. Загляни в код ку3. Кстати там есть в компиляторе реализация радиосити, которую никто никогда не юзал. А я вот сегодня посмотрел и там тоже какая-то убиралка швов присутствует, интересно. Может быть тоже типа той что ты дал, я не углублялся.

Теперь самое интересное. Я могу посчитать радиосити для солнца. Потому что от солнца вторичка считается трассировкой по полусфере. Просто в нормальном режиме этот результат сохраняется в патчи, а я его сразу запишу в лайтмапу. Конечно это это не полноценное радиосити, всего одно переотражение и только от солнца. Но я так рассуждаю. Во первых в сталкере оно всё равно точно так же - одно по полусфере, а во вторых я там не припомню радиосити от остальных источников. Хотя может и были, не присматривался. Но у нас-то всё равно ЧАЭС на открытом воздухе. Так что будет норм. И без глобальных переделок компилятора.

Добавлено 22-06-2019 в 16:21:

Ну а потом подключу ландшафт, рассажу траву и настанет полный рот-фронт.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 23-06-2019 в 05:52:

Психопат всё интерисовался насчёт консвервативной растеризации, отвечаю как я разрешил эту задачку. Правда тут надо учесть что для классического лайтбейкера некоторые вещи неактуальны, но всё же.
Как я уже и говорил, лайтмапа у нас в любом случае квад или прямоугольник, потому что картинка. Размеры вычисляются вписанием треугольника в ббокс. В идеальном случае (брашы) у нас квадратный полигон соответствует квадратной лайтмапе. Но в случае моделей естественно так не получается. Зато каждому трианглу всегда соответствует обратный и мы в принципе можем посчитать лайтмапу для их суммы, но в моём случае это нереализуемо, поскольку лайтмапа хранится не в атласе, а в виде raw-массива. То есть с избыточностью данных придется смириться. Вторая проблема очевидно - для пары трианглов образующих квад с высокой долей вероятности будет выделена идентичная по размерам лайтмапа и свет придется посчитать для каждой. Что автоматически означает двойную бессмысленную работу. Наиболее характерный пример - тот самый вагончик. Если бы я уменьшил лайтмапу в движке до 256х256, то вы бы увидели в атласе (r_showlightmaps), что вот та тень с окошками на полу присутствует в двух экземплярах, для одного и второго триангла пола соответственно. Оно конечно и на большой лайтмапе видно, но там глаза сломаешь. Это конечно не дело. Код подготовки лайтмапы к рассчёту имеет встроенные средства для отсечения лишних точек - массив occluded. То есть неважно по какой причине точка стала невалидной, нам важно что для нее свет не будет считаться. В самой халфе идёт проверка на попадение люкселя в солидный лиф, но как легко догадаться на карте из одних моделей это бессмыленное условие. У моделей нет никаких лифов и вообще нет дерева. Проще всего проверить границы треугольника построением барицентрических координат и проверкой на выход из их границ. Собственно это я и сделал. Второй положительный момент - барицентрические значения можно использовать для лерпинга нормалей и получения сглаженной фонг-нормали. При таком подходе скорость работы вырастает вдвое, однако, поскольку мы отсекаем пиксели по краям треугольника, легко догадаться что эти самые края обведутся чёрной каёмкой. Причём чем меньше разрешение лайтмапы - тем больше эта каёмка. Для борьбы с этим тоже есть два метода. Во первых старый вариант из кутри - найти у occluded-пикселей 9 соседей и взять с них значения по average. Размер фильтра невелик, поэтому оно почти всегда даёт идеальные результаты. Но легкая "тень" от шва всё равно еще может присутствовать. Второе решение - эмпирическое ввести вокруг трианглао охранный бордюр. Барицентрика имеет в виду границы менее ноля и более еденицы. Вот к ним и надо прибавить наш борюдр. Обычно это значения от 0.1 до 0.5. Чем выше значение - тем меньше вероятность артфектов и тем меньше выигрыш по скорости, потому что мы опять начинаем считать потенциально невидимые люксели.
Впрочем даже со значением бордюра 0.5 у нас двухкратный прирост по скорости (а со значением 0.0 - трёхкратный). Если надо, я может потом скриншотами проиллюстрирую.
Так же выяснилось что китайский блур для трианглов абсолютно не годится, он провоцирует на них швы. Его конечно можно заменить на обычный box 4x4, но вы же понимаете, что это придется лайтмапу увеличить вдвое, а значит и время работы возрастёт во столько же. Блур китайский тем и хорош, что там нет линейного увеличения размера от фактора.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 23-06-2019 в 10:19:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 23-06-2019 в 16:06:

Всё никак не доберусь до финального компила. Но промежуточные результаты всё лутьшы и лутьшы. Плюс, поскольку Ксер починил джек, Элбер смог добавить на карту воду в отстойники, лестницы, Сидоровича и сталкеров.

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 23-06-2019 в 16:08:

Дядя Миша я сначала тоже так делал, чтобы значение "occluded" пикселей бралось из соседних, но это не работает, если соседних нет. Какой-нибудь тонкий треугольник вообще не имеет нормальных пикселей, все "occluded", и пока, освещение брать неоткуда.
Вариант с барицентрическими координатами непредсказуемый. Непонятно, с каким коэффициентом их надо пячить, чтобы гарантировано покрыть граничные пиксели.

Сейчас сделал второй вариант отсюда, на первых тестах результат хороший.

Пячу каждое ребро на полудиагональ пикселя (на всякий случай чуть больше), направление которой лежит в том же квадранте, что и нормаль этого ребра. И клипаю прямоугольником.


Отправлено XaeroX 23-06-2019 в 16:28:

Цитата:
Дядя Миша писал:
Элбер смог добавить на карту воду в отстойники, лестницы, Сидоровича и сталкеров.

Ландшафт нормальный давайте делайте. А то пазорище какое-то размытое.

__________________

xaerox on Vivino


Отправлено Дядя Миша 23-06-2019 в 17:51:

Цитата:
ncuxonaT писал:
я сначала тоже так делал, чтобы значение "occluded" пикселей бралось из соседних, но это не работает, если соседних нет

Я не знаю, какие там у тебя конкретно проблемы на GPU, но я могу продолжать лайтмапу вовне треугольника на любой размер абсолютно. То есть я могу аллокнуть лайтмапу, в которую вписан треугольник + охранный ряд люкселей. Или два ряда. Потому что люксели считаются просто для определённой точки в пространстве, которые совпадают с плоскостью треугольника. Если я во время этого действа залезу на соседа - отлично. Значит там всё будет гладенько. Поэтому я и говорю, что у меня проблема не стоит на CPU.

Цитата:
ncuxonaT писал:
Какой-нибудь тонкий треугольник вообще не имеет нормальных пикселей, все "occluded"

тонкий в смысле мелкий? А то треугольники все одной толжены.

Цитата:
XaeroX писал:
Ландшафт нормальный давайте делайте.

Вывези ваську Ты НЕ ВЫВОЗИШ!

Добавлено 23-06-2019 в 20:04:

Цитата:
ncuxonaT писал:
Сейчас сделал второй вариант отсюда, на первых тестах результат хороший.

Я пока што не могу понять что они там делают в вертексном шейдере.

Добавлено 23-06-2019 в 20:51:

Ну вот. Еще не идеал, но показать уже не стыдно:




Время рассчётов: 1 hour, 33 minutes, 14 seconds elapsed
Продолжаю эксперименты.

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 23-06-2019 в 17:57:

Цитата:
Дядя Миша писал:
Потому что люксели считаются просто для определённой точки в пространстве, которые совпадают с плоскостью треугольника.

Так если они не внутри треугольника находятся, ты же их отсекаешь. Потому что в противном случае будут артефакты. Сосед же не обязательно лежит в той же плоскости.
Цитата:
Дядя Миша писал:
тонкий в смысле мелкий? А то треугольники все одной толжены.

Ну да, мелкий или узкий.
Цитата:
Дядя Миша писал:
Я пока што не могу понять что они там делают в вертексном шейдере.

Я тоже не понял, поэтому предрассчитываю все эти точки на ЦПУ, а потом рендерю как GL_POINTS.


Отправлено Crystallize 23-06-2019 в 18:01:

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

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


Отправлено Дядя Миша 23-06-2019 в 18:13:

Цитата:
ncuxonaT писал:
Так если они не внутри треугольника находятся, ты же их отсекаешь. Потому что в противном случае будут артефакты

Нет, я же говорю, я от барицентрика оставляю зазор и получается что-то типа консервативной растеризацыы.
Цитата:
ncuxonaT писал:
Сосед же не обязательно лежит в той же плоскости.

Если в той же - будет отлично. Если в другой - не будет сглаживания.
Цитата:
ncuxonaT писал:
а потом рендерю как GL_POINTS.

А не медленно?

Цитата:
Crystallize писал:
А если обработать модель так же как компилятор обрабатывает исходник карты, т.е. собрать и отвизить внутренности чтобы выяснить какие группы треугольников-соседние, а какие-нет?

Ну вот Ксерокс скоро на Волатиле это и покажет.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 23-06-2019 в 18:15:

Цитата:
Дядя Миша писал:
Ну вот Ксерокс скоро на Волатиле это и покажет.

Как я тебе это покажу, если вертексы должны формировать конвексный браш? А в моделях обычно всякая непотребщина творится.

__________________

xaerox on Vivino


Отправлено Дядя Миша 23-06-2019 в 18:29:

XaeroX эммм, но про брашы речь не шла. Но если ты трианглы смержишь в квады, то лайтмапа ляжет на них лутьше.

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 23-06-2019 в 19:44:

Цитата:
Дядя Миша писал:
Нет, я же говорю, я от барицентрика оставляю зазор и получается что-то типа консервативной растеризацыы.

Цитата:
Дядя Миша писал:
Если в той же - будет отлично. Если в другой - не будет сглаживания.

Расчет света идет на точке пространства, которая остаётся на треугольнике или лежит на его плоскости, но снаружи самого треугольника? Если второе, и соседний треугольник лежит в другой плоскости, то от него может быть тень или наоборот её отсутствие.
Цитата:
Дядя Миша писал:
А не медленно?

Медленнее, чем без консервативной растеризации вообще, но оптимальнее других методов, что я пробовал, по скорости/универсальности/потреблению памяти.
К примеру, для арканоса с лайтмапой 2к выходит примерно 150к таких консервативных точек.


Отправлено Дядя Миша 23-06-2019 в 20:31:

Цитата:
ncuxonaT писал:
Если второе, и соседний треугольник лежит в другой плоскости, то от него может быть тень или наоборот её отсутствие.

второе да.

Ну чтож, досчиталось:



Как вы уже наверное догадались - на этом уже можно было и остановиться, но ничего подобного. Элбер мне докинул недостающие детали этой карты, суммарным весом еще на 700 тысяч полигонов %)

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 23-06-2019 в 20:44:

почему на зданиях лайтмапа темнее, чем на земле?


Отправлено Дядя Миша 23-06-2019 в 20:47:

Цитата:
ncuxonaT писал:
К примеру, для арканоса с лайтмапой 2к выходит примерно 150к таких консервативных точек.

Zopa! Арканос это же игрушечная сцена. А вот как эту ЧАЭС компилить, сколько там будет таких точек? Сто миллиардов?

Добавлено 23-06-2019 в 23:47:

Цитата:
ncuxonaT писал:
почему на зданиях лайтмапа темнее, чем на земле?

потому что бамп на моделях темнее чем без бампа.

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 23-06-2019 в 20:52:

Дядя Миша а сколько весит лайтмапа чаэс? Без директа, только свет.

Цитата:
Дядя Миша писал:
потому что бамп на моделях темнее чем без бампа.

и это не есть нормально


Отправлено Дядя Миша 23-06-2019 в 21:00:

Цитата:
ncuxonaT писал:
а сколько весит лайтмапа чаэс? Без директа, только свет.

Карта без лайтмапы - 8-10 килобайт, с лаймапой 70 мегабайт, делюкс половину веса занимает. Ну если сжать в DDS, будет совсем неплохо.
Но это достаточно разрежённая лайтмапа, там texturestep 32-48-64.

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 23-06-2019 в 21:11:

Дядя Миша выходит, лайтмапа меньше, чем 4к х 4к? Ну значит консервативных точек будет, может, 600к.


Отправлено Дядя Миша 23-06-2019 в 21:23:

Ну пока что да, там три лайтмапы 2048х2048. Но повторюсь, Элбер подогнал недостающие запчасти от карты. Лайтмапа думаю легко дойдет до 150 мб.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 24-06-2019 в 15:52:

Поскольку последние изменения затронули формат лайтмап на моделях, да и вообще потому что перед любыми фундаментальными изменениями неплохо бы сохраниться, я вам скоро выложу обнову ЧАЭС и самой паранои естественно.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 25-06-2019 в 13:20:

В рамках подготовки к столь масштабному компилу оптимизировал память - в структуре sample_t позаменял vec3_t на half_vec3_t. Визуально отличить невозможно, а вот потребление памяти упало почти вполовину. Надеюсь мне хватит этого, чтобы уложиться по лимитам. В пользу этого говорит еще и тот довод, что ЧАЭС, даже по меркам самого Сталкера - это самая гигантская карта и если уж скомпилится она, то остальные тем более.

Добавлено 25-06-2019 в 16:20:

ЗЫ. замена на байты уже не даёт такого выигрыша, поскольку в структурке присутствуют еще и другие переменные, то есть даже вполовину не выгдать. А тут практически бесплатная оптимизация по памяти получилась, время работы не изменилось, качество лайтмап не изменилось. Такие дела.

__________________
My Projects: download page

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

Цитата:

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


Отправлено qpAHToMAS 25-06-2019 в 14:10:

А то что объекты сквозь землю проваливаются? Непофиксить?


Отправлено Дядя Миша 25-06-2019 в 14:16:

Цитата:
qpAHToMAS писал:
А то что объекты сквозь землю проваливаются?

какие именно объекты?

__________________
My Projects: download page

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

Цитата:

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


Отправлено qpAHToMAS 25-06-2019 в 14:43:

Цитата:
Дядя Миша писал:
какие именно объекты?

Точечные. Оружие, гибсы, etc.
В Telegram видео скинул.


Отправлено Дядя Миша 25-06-2019 в 21:17:

Моя идея с заменой на халфы оказалась удивительно в тему. Там где бы я ранее гарантировано вылез за лимиты памяти 32 бита, здесь еще и места осталось прилично. А вот с рейтрейсом на SSE из сорса не сложилось - оказался втрое медленнее моей трассы. Выкладываю скриншоты полного компила. Время рассчёта 2 часа 2 минут.







В принципе задача выполнена. Я вам соберу обновлённый пак тестовых карт и выложу компиляторы.

Добавлено 26-06-2019 в 00:17:

Ну што. Я когда-то давно уже говорил, что надо бы провести стресс-тест на реальных сталкеровских уровнях. Ну вот и провели.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 26-06-2019 в 10:57:

В рамках теста запилил AABBTree для трассы мировых полигонов. Мне стало интересно насколько она медленее каноничной халфовской трассы. Там считается вторичка для солнца по полусфере, на каждый люксель приходится порядка 16386 трасс, то есть даже для игрушечных карт это вполне серъезная нагрузка. Ну что сказать?
Оригинальная трасса работает 3.29 секунд.
Хвалёный рейтрейсер из сорса на SSE - 7.77 секунд (здесь комбинированный режим одна трасса оригинальная по кушному дереву + 16386 трасс рейтрейсером).
AABBTree - 19.47 секунд.
Что из этого следует? В настоящий момент трейс студиомоделей как раз и базируется на AABBtree. То есть возможно его ускорить рейтрейсером. И ЧАЭС будет считаться не два часа, а всего час. Вообщем еще есть куда оптимизировать.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 26-06-2019 в 11:44:

Цитата:
Дядя Миша писал:
И ЧАЭС будет считаться не два часа, а всего час.


С радиосити или без?

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


Отправлено Дядя Миша 26-06-2019 в 15:20:

Не знаю я почему SSE-рейтрейсер такой медленный, потом озвучу варианты.
Он работает, но не так быстро как хотелось бы. Попробую написать свой рейтрейсер, KD-три возьму из сорсовского, а саму трассу уже свою заюзаю. Плюс, оригинал писался каким-то посторонним человеком, который его тестировал на растеризации
Это вообще гениально ящитаю. При растеризации мы выпускаем пучки параллельных лучей и это прекрасно кэшируется и SSE себя отлично чувствует. При рассчёте лайтмапы мы в лучшем случае пускаем небольшой пучок (зависит от разрешения лайтмапы) параллельных лучей, а для солнца по полусфере - во все стороны. То есть вся оптимизация идёт прахом.
Я не особо шарю в SSE, то есть научиться писать на этом асме несложно, а вот сделать так, чтобы оно еще и ускорилось - это уже не для меня. Поэтому будем оптимизировать старым индейским способом.

__________________
My Projects: download page

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

Цитата:

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


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

Спонза с лайтмапами на моделях:

грязновато конечно

__________________
My Projects: download page

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

Цитата:

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


Отправлено Raid 27-06-2019 в 07:44:

Цитата:
оригинал писался каким-то посторонним человеком, который его тестировал на растеризации

Очевидно кто-то сидел на окладе и должен был предоставить отчёт о результатах к дедлайну.


Отправлено FiEctro 27-06-2019 в 09:16:

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

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


Отправлено Дядя Миша 27-06-2019 в 09:43:

Цитата:
FiEctro писал:
Я сначала подумал что сам меш спонзы целиком загрузили

Это всегда успеется.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 27-06-2019 в 09:58:

Цитата:
FiEctro писал:
Выглядит ничего так, получше вертексного освещения.

- Лайтмапное освещение на спонзе выглядит лучше, чем вертексное.
- Чем?
- Чем вертексное.

Имхо, освещение должно быть незаметным. То есть нет ощущения, что объект выбивается яркостью, или наоборот, слишком чёрный. Никто не будет ползать по уровню с лупой и разглядывать каждый пиксель. В крузисе для этих целей вот вообще скрин-спейс амбиент окулижен запилили, и были таковы!

__________________

xaerox on Vivino


Отправлено Дядя Миша 27-06-2019 в 14:42:

Но грязи на лайтмапах быть не должно, вот что.
Между прочим, этот ваш хвалёный q3map2 он што делает? Он на мелких поликах аппроксимирует люксели с вертексного. А у меня значит при малых разрешениях лайтмапы там артефакт на артефакте, ну понятно.

Добавлено 27-06-2019 в 13:45:

Впрочем ладно, сперва надо с рейтрейсером разобраться.

Добавлено 27-06-2019 в 17:42:

Рейтрейсер, я починил, если кому-то интересно, но непонятно - в сорсе лайтмапы рейтрейсер считает, папка raytrace в SDK. Типа такое ускорение по сравнению с медленной кудвашной трассой. Я не готов сделать окончательный вывод, тут слишком много факторов. Может быть в вальве не дружат с SSE. Камрад Ксерокс неоднократно мне на это намикал. Может быть KD-tree для этих дел не слишком годится. Может еще какие-то факторы. Я переписал его с SSE обратно на FP, справедливо рассудив, что раз уж он медленее на SSE, то тут либо лыжы такие, либо шестёрка ни спровляется. Забегая вперёд, скажу, что дажы после всех моих апчхимизаций скорость его работы что на SSE что на FP, осталась идентичной. Хотя я юзал эти стримы, групповые трассы и прочие ништяки, но что-то у меня так и не заладилось. Тут видимо дело в следующем. Рейтрейсер строит дерево разом для всего мира и всех моделей. Ну можете себе представить какого размера будет это дерево. А у меня - маленькие деревца для каждой модели. И трасса их отсекает по ббоксу. И это всегда эффективнее чем траверс по дереву, ну это очевидно. Но оригинальный рейтрейс я не могу разломать на такие локальные трассы - там жы надо группами трейсить по 4 штуки, иначе от SIMD никакого толку. Неустранимое противоречие. Забегая вперёд, скажу, что я получил сопоставимую с моим референсом производительность разбив трассу на отдельные модельки.
То есть примерно те же яйца, плюс-минус доли секунды. Но какого-то профита, сами понимаете это не дало. Что остаётся в такой ситуации?
Надо еще попробовать BSP-дерево из третьего дуума, которое не режет полигоны. Оно там тоже для колоизации и возможно от него будет какой-то толк.Ну в принципе и всё. Если и это не поможет - я умываю руки. Быстрее уже не получится.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 27-06-2019 в 20:45:

Ну чтож, проверил еще AxialBSP Tree из третьего дуума. На игрушечных картах все результаты идентичные. Тогда мне пришло в голову нагрузить как следует - я разрешил вторичке от солнца трассировать модели и выставил _spread. Тут-то все различия и вылезли на ружу. Компилировал kung.bsp, если вам интересно. Итак, референс с AABB Tree - 56 секунд.
AxialBSP Tree - 1 минута 8 секунд. Переделаный на FP рейтрейсер из сорса - 32 секунды. Так что, как видите - мои усилия были ненапрасны

На картах с моделми, типа ЧАЭС, будет заметный прирост в скорости. Единственное что меня слегка удивило - это то что Axial BSP такой тормозной. Ну правда он не режет полигоны, т.е. это как бы не совсем настоящее BSP. От такие пирожки. З котятамi.

Добавлено 27-06-2019 в 23:45:

PSю все три трассы дают идентичную лайтмапу.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 28-06-2019 в 04:05:

Цитата:
Дядя Миша писал:
Переделаный на FP рейтрейсер

Ты уверен, что FP-версия быстрее не из-за шестёрки?

__________________

xaerox on Vivino


Отправлено Дядя Миша 28-06-2019 в 07:46:

Цитата:
XaeroX писал:
Ты уверен, что FP-версия быстрее не из-за шестёрки?

не уверен, но повторюсь, там неразрешимое противоречие. BSP-трасса по кушному дереву не имеет себе равных по скорости. А вальвовская реализация предполагает что вся геометрия помещается в единое дерево, из-за чего оно сильно распухает, становится избыточным. Простой пример - карта-коробка, на ней высокополигональная моделька-шар. Если поместить их в дерево, получится почти три тысячи узлов. Если отдельно, то карта коробка в представлении KD-Tree 88 узлов. А для халфовского BSP - естественно шесть. То есть возникает противоречие, SIMD надо кидать по четыре трассы за раз, причём желательно в одном направлении, чтобы дерево могло для всех четырёх трасс найти необходимый лиф. А когда мы разделили трассу на локальные деревья, это фактически нереализуемо. Но это уже быстрее, т.к. вместо траверса вызывается BoundsIntersect и часть деревьев вообще игнорится. Вот при таком подходе мне действительно удалось получить прирост, от одной трети до двух раз в разных кейсах, причём тут что забавно - чем больше пучков трасс в одном направлении - тем оно быстрее, ну очевидно попадение в кэш. То есть оптимизация к которой стремились - получилась всё равно, но неявным образом и без ухудшения юзабельности с точки зрения юзера. Не надо группировать трассы по 4, не надо их набивать в стрим, возиться итд.

Добавлено 28-06-2019 в 10:46:

Там теперь новая на пасть. Intermediate-data для трассировки студиомоделей на той же ЧАЭС занимает 500 мегабайт
я достаточно вольно обращался с этой датой в процессе имплементации лайтмап на моделях и там дата фактически четырежды дублируется. Надо это дело оптимизировать конечно.

__________________
My Projects: download page

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

Цитата:

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


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

500 мегабайт это норм. Волатильный компилятор имеет привычку аллокать по 3-4 Гб оперативки на больших и сложных картах. Никаких проблем с этим нет (на 64-битных осях).
А что касается 32-битных... Для игры - ок, а для разработки - надо всё-таки апгрейдиться. Тот же джек на 32-битных иногда падает с банальной нехваткой памяти. Можно конечно уменьшать Undo levels - но лучше всё же обновить комп и поставить хотя бы 8 Гб памяти.

__________________

xaerox on Vivino


Отправлено Дядя Миша 28-06-2019 в 09:19:

Перед тем как перейти на 64-х битную компиляцию, надо сперва по максимуму оптимизировать 32-х битную, ящетаю. У тебя вот ЧЭАС не компилится даже на 64-х битах, а у меня компилится на 32х.

Добавлено 28-06-2019 в 12:13:

Кстате. Я вот еще што подумал. Надо трансферы перевести с fixed point на халфы. Возможно радиосити станет полутьшы выглядеть. Но это не точно.

Добавлено 28-06-2019 в 12:19:

На FP там как вы помните вот этот кламп

C++ Source Code:
if( trans > TRANSFER_SCALE_MAX )
  trans = TRANSFER_SCALE_MAX;

Т.е. значения выше четырёх не поддерживаются.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 28-06-2019 в 09:54:

Цитата:
Дядя Миша писал:
У тебя вот ЧЭАС не компилится даже на 64-х битах

Да почему же? Всё прекрасно компилится. Просто я не хочу лайтмапы до 2048х2048 увеличивать, как ты.

__________________

xaerox on Vivino


Отправлено Дядя Миша 28-06-2019 в 10:16:

XaeroX ну для теста-то можно увеличить, скринов наделать там, я не знаю. Эти лайтмапы увеличить - одну константу поменять, делов-то. Уж за ради скринов можно было бы вполне. Значит там еще какие-то сложности.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 28-06-2019 в 10:21:

Цитата:
Дядя Миша писал:
Значит там еще какие-то сложности.

Ну да, есть ещё одна сложность - Перилос Ворп делать надо.
Тебе хорошо - экспериментируй себе да экспериментируй. А мне ещё карты надо рисовать, сюжет придумывать, спецэффекты прорабатывать.

__________________

xaerox on Vivino


Отправлено Дядя Миша 28-06-2019 в 11:15:

Цитата:
XaeroX писал:
Ну да, есть ещё одна сложность - Перилос Ворп делать надо.

Это понятно, но ты же позволил себя втянуть в эту гонку вооружений, значит ты азартен

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 28-06-2019 в 11:21:

Дядя Миша
У меня есть одна важная черта, в любой азартной игре или казино я умею вовремя остановиться.

__________________

xaerox on Vivino


Отправлено Дядя Миша 28-06-2019 в 16:28:

Переиначил тренсферы с unsigned short на half, фактически вопрос только в организации данных, с фиксированной точки на плавающую.
Можете сравнить результат. Отличия видны, если быстро свапать картинки местами. Собственно это вообще единственный визуальный метод сравнения, которым можно пользоваться.

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 28-06-2019 в 16:30:

Дядя Миша если каждый треугольник в лайтмапе лежит отдельно, получается, они и рендерятся все по отдельности, так как не имеют общих вершин? То есть всякий там post-T&L cache идёт мимо?


Отправлено Crystallize 28-06-2019 в 16:33:

Дядя Миша На моём мониторе только бандинг ползёт. А у тебя что, есть способ свапать местами картинки, не вынимая их из архива?


Отправлено Дядя Миша 28-06-2019 в 16:59:

Цитата:
ncuxonaT писал:
получается, они и рендерятся все по отдельности

Здрасти приехали, я еще десять страниц назад об этом писал, но бдительные индейцы заметили только сейчас.

Цитата:
Crystallize писал:
А у тебя что, есть способ свапать местами картинки, не вынимая их из архива?

Но я жы их сперва посмотрел, а уже потом положил так сказать в архив.
Цитата:
Crystallize писал:
только бандинг ползёт

ну там не только, у дальней стены внизу что-то пытается проявиться. Хотя может это иллюзия такая, оптический апман.

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 28-06-2019 в 17:10:

Дядя Миша тема производительности при этом не всплывала. Минусом этого подхода назывались только швы. А ведь разбиение на отдельные треугольники сильно бьёт по фпс. Плюс еще до половины пространства лайтмапы не используется.


Отправлено Дядя Миша 28-06-2019 в 17:43:

Цитата:
ncuxonaT писал:
А ведь разбиение на отдельные треугольники сильно бьёт по фпс

Да, производительность падает на треть примерно. Ну что тут поделаешь? Это минус raw-лайтмапы. Если бы я её сохранял в атлас, этого можно было избежать.
Цитата:
ncuxonaT писал:
Плюс еще до половины пространства лайтмапы не используется.

и это тожы да. Главное я всё это писал - никто не реагировал. А теперь вона.

Добавлено 28-06-2019 в 20:43:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 28-06-2019 в 17:46:

Дядя Миша как шестая студия чувствует себя на 7ке у тебя?


Отправлено Дядя Миша 28-06-2019 в 20:57:

Ну и да, при таком подходе, уже не так уж важно, попал люксель куда надо или не совсем - будет гладенько. Ну это всё для NT задел. Думаете чего я щас тестирую эти рейтрейсеры (чуть не написал стритрейсеры) ?
Мне надо получить ответ на один фундаментальный вопрос - как будет устроена трасса в новом BSP. И соответственно - как сам этот BSP Будет организован. Ну потому что. Лайтмапы, вертексы, индексы, рёбра - я это вообще не считаю какой-то особенностью формата, это ерунда всё по большому счёту. Самое главное - это устройство ускоряющего дерева. И вот вокруг этого дерева мы собсно и пляшем. Особенно под новый год.

Добавлено 28-06-2019 в 20:47:

Цитата:
Crystallize писал:
как шестая студия чувствует себя на 7ке у тебя?

Чтобы ответить на этот вопрос мне сперва надо установить семёрку. Разве я где-то писал что уже установил её?

Добавлено 28-06-2019 в 23:57:

Еще немного оптимизировал трассу студиомоделей для дефолтного кейса, взяз за основу "Intersection Format" из кода вальвовского рейтрейсера. В принципе оно и там и там используется в одинаковом виде, так что это код даже упростило. Теперь стандартная трасса стала быстрее процентов 10-15, но рейтрейс еще на 10% быстрее. Правда тут следует учитывать, что построение KD-Tree отымает какое-то время, ну и память тоже жрёт.
Впрочем, чтобы дать окончательный ответ, мне придется скомпилить ЧАЭС в обоих вариантах и уже тогда судить насколько стало быстрее.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 29-06-2019 в 05:56:

Ну чтож, закончил оптимизацию потребления моделей в памяти, прямо совсем сильно ужать не получилось, примерно в два раза, с 560 мегабайт до 220. А дальше начались чудеса. ЧАЭС на новом рейтрейсере считается...
как говорил Задорнов, наберите воздуха в грудь. Готовы?

4 МИНУТЫ

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 29-06-2019 в 06:21:

Цитата:
Дядя Миша писал:
4 МИНУТЫ

На GPU, что ли?

Добавлено 29-06-2019 в 13:21:

Я так понимаю, вертекслайт при таком раскладе считается 2-3 секунды?

__________________

xaerox on Vivino


Отправлено Дядя Миша 29-06-2019 в 07:34:

Цитата:
XaeroX писал:
На GPU, что ли?

Да нет, на CPU. Сам в шоке. Ну надо сперва референс откомпилить, а там уже будет понятно.

Добавлено 29-06-2019 в 10:34:

Ну вообщем товарищи, я в шоке. Прикладываю скриншоты. То что old - считалось два с половиной часа. То что new - 4 минуты (ну или 8 на двухядерном). Отличия есть, но они минимальны.

__________________
My Projects: download page

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

Цитата:

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


Отправлено qpAHToMAS 29-06-2019 в 12:22:

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


Отправлено Crystallize 29-06-2019 в 14:23:

Ты мог бы таким образом ускорить P2ST или VRAD?


Отправлено Дядя Миша 29-06-2019 в 14:30:

Цитата:
Crystallize писал:
Ты мог бы таким образом ускорить P2ST или VRAD?

Вопрос изначально лишён смысла. Именно P2ST я и ускорял. А VRAD и содержит этот код, при помощи которого я ускорял P2ST. Если он там не вполне справляется с задачей, то это уже не ко мне вопрос. А может быть и справляется. Никто же в него пихал карту из сталкера. А запихали бы, он бы глядишь и справился. Кто знает.

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 29-06-2019 в 14:39:

Можно еще раз в двух словах, чем новый рейтрейсер отличается от старого (не надо говорить, что скоростью)? Глобалки нет?


Отправлено XaeroX 29-06-2019 в 15:01:

ncuxonaT
Рейтрейсер в данном контексте - это функция проверки видимости из точки А в точку Б, и ничего более.

__________________

xaerox on Vivino


Отправлено Дядя Миша 29-06-2019 в 18:51:

Цитата:
ncuxonaT писал:
Глобалки нет?

по полусфере есть, ну что на скринах незаметно?

Добавлено 29-06-2019 в 21:51:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 30-06-2019 в 12:58:

XaeroX да я понимаю. Мне интересно, какое было дерево, какое стало дерево, и как оно обходится.

Дядя Миша не заметно. От неба нет света, а абмиент - это глобалка? Что значит по полусфере?


Отправлено XaeroX 30-06-2019 в 13:18:

Цитата:
ncuxonaT писал:
Что значит по полусфере?

Ну самая обычная глобалка, когда выпускается куча лучей по полусфере, и считается процент покрытия. Так ещё в первой халфе свет от неба считали.

__________________

xaerox on Vivino


Отправлено ncuxonaT 30-06-2019 в 13:27:

XaeroX а разве бывает еще какая-то? Или тут не подразумевается отражение луча при попадании во что-то (или чтение из лайтмапы с предварительно посчитанным директом)?


Отправлено Дядя Миша 30-06-2019 в 15:48:

Цитата:
ncuxonaT писал:
От неба нет света

Это ты как определил?

Цитата:
ncuxonaT писал:
Мне интересно, какое было дерево, какое стало дерево, и как оно обходится.

Было AABB, стало KD. Открой в SourceSDK папку raytrace и смотри себе на здоровье. Правда моя реализация уже отличается, но основной принцип остался прежним.

Цитата:
ncuxonaT писал:
Или тут не подразумевается отражение луча при попадании во что-то

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 30-06-2019 в 16:04:

Цитата:
Дядя Миша писал:

Это ты как определил?

Никак не определил. Непонятно по скриншотам, то ли это радиосити, то ли свет от неба. Если б ты разный цвет ставил солнцу и небу, нагляднее было б.
Цитата:
Дядя Миша писал:
Ну радиосити нет для лайтмап на моделях, только вот такая полумера. Потому что фейсы мира и трианглы моделей не находятся в едином адресном пространстве и сквозной доступ к ним очень осложнён. Довольно многое придётся переписать, чтобы подружить их. Я не стал этого делать. А вот для обычных лампочек вообще только директ по этой же причине.

Ну если для моделей на миллион треугольников свет считался 4 минуты, может и для брашей так же считать?


Отправлено Дядя Миша 30-06-2019 в 16:21:

Цитата:
ncuxonaT писал:
Непонятно по скриншотам, то ли это радиосити, то ли свет от неба

Подсказка - на открытых пространствах вклад радиосити всегда минимален, поскольку как минимум 50% лучей уходит обратно в небо, а другая половина отправляется прямиком в ад.
Цитата:
ncuxonaT писал:
Если б ты разный цвет ставил солнцу и небу

Ты имеешь в виду diffuse_light? Ну дык ить есть исходник карты, компиляторы я тожы выложил - экспериментируй если интересно.

Цитата:
ncuxonaT писал:
Ну если для моделей на миллион треугольников свет считался 4 минуты, может и для брашей так же считать?

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 14-07-2019 в 14:49:

Нашёл на старом винте очень древнюю версию паранои - апрель 14-го года. Исходники, тестовые карты. Забавно. Могу выложить.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Lev 14-07-2019 в 15:54:

Дядя Миша Выложи)


Отправлено Дядя Миша 14-07-2019 в 16:29:

Там даже солнце было. Но при этом формат карт еще совместим с первой параноей. И бамп на моделях уже есть.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Lev 14-07-2019 в 16:32:

А HDR ещё не вырезан? Больше всего нравилась картинка из билдов с ним.


Отправлено Дядя Миша 14-07-2019 в 16:40:

Да HDRL на месте. Надо с Элбером еще посоветоваться.

Добавлено 14-07-2019 в 19:40:

Там еще тени от солнца такие прикольные, на лайтмапу похожы. И не тормозят ведь. Правда на старых карточках сразу вывалится.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Lev 14-07-2019 в 16:47:

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


Отправлено Elber 14-07-2019 в 18:04:

Lev
Расскажи чем ты занимаешься, ато уже с 2013 года помню Crane of Duty вроде пилил. Или просто экспериментируешь/ковыряешься с ксашем?


Отправлено Lev 14-07-2019 в 18:48:

Elber Нет, не эксперементирую, у тебя скайп есть? Или вайбер - хотел с тобой поговорить.


Отправлено Elber 14-07-2019 в 19:10:

Lev
Ну ты уже миллион лет как у меня в скайпе в контактах. Скинул в приват.


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

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

__________________
My Projects: download page

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

Цитата:

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


Временная зона GMT. Текущее время 05:21.
Показать все 334 сообщений этой темы на одной странице

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