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

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- Спецификация формата CSM (Compiled Static Mesh) v. 3 (https://hlfx.ru/forum/showthread.php?threadid=6127)


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

Спецификация формата CSM (Compiled Static Mesh) v. 3

Чтобы максимально облегчить внедрение поддержки формата CSM в ваши приложения и сторонние плагины, я выкладываю не просто заголовок с описанием структур, а готовую мини-утилиту, которая умеет конвертировать smd в csm и обратно. Так же к ней прилагается компактная математическая библиотека, необходимая для работы CSM. Я полагаю, что у вас уже есть спецификация трёхмерного и двухмерного вектора, они вам понадобятся для встраивания. Не стоит рассматривать это как готовый класс для подключения. Исключительно как пример реализации.
У вас в проекте будет другая файловая система, другой менеджер памяти, другой аллокатор массивов. Т.е. переписывать всё равно придётся.
Но имея на руках готовый пример, я полагаю это займет совсем немного времени. Вопросы по спецификации и предложения по дальнейшему расширению можно задавать в этой теме.

По сравнению с предидущей версией, здесь добавилось хранение путей к текстурам для решения извечной проблемы. Практически все игровые движки используют какую-то собственную реализацию системы материалов, которую не понимают сторонние модельвьюверы. В результате чего весьма проблематично отобразить модель с текстурами, если конечно эти самые текстуры не лежат прямо рядом с моделью. В CSM я попытался исправить эту ситуацию. Теперь вы можете сохранять относительные пути до текстур прямо внутрь заголовка модели и вьювер сможет использовать эту информацию, чтобы построить корректный путь до текстуры. Типичный пример:
модель лежит в папке models\props\, а текстуры к ней лежат в папке textures\props. Таким образом, в путь до текстур вам надо записать примерно следующее:
..\..\textures\props
Так же обратите внимание, что путей поиска может быть несколько, разделённых через точку с запятой.
Так же новый формат поддерживает хранение сторон брашей (или просто полигонов), необходимых для построения BSP-дерева и последующей портализации пространства. Так же есть возможность записать собственную развертку лайтмапы, но детально она пока что не тестировалась.

__________________
My Projects: download page

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

Цитата:

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


Временная зона GMT. Текущее время 13:25.
Показать все 1 сообщений этой темы на одной странице

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