You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Основная концепция - сначала загружаем все меши моделей в видео-память (create_model), потом создаем инстансы этих мешей (model_instance_create) и каждый кадр меняем их трансформацию (model_instance_set_transform). Обновление трансформации происходит в функции отрисовки 3D объекта, и, если объект это мехос - то еще дополнительно обновляем трансформацию моделей колес и оружия.
Проблемы, которые надо решить:
Формат модели определен в самих вангерах, а библиотека renderer сделана максимально отдельно от основного кода вангеров.
Код софтверной отрисовки 3D моделей, вызывается уже после отрисовки карты и нужно будет передвинуть вызов VisualBackend::render
structModel; // Описание модели в C3D формате. /*Создать скрытый экземпляр модели в видеопамяти. Используется, как "шаблон" для моделей, которыe нужно отобразить отобразить*/uint64_tmodel_create(Model* model);
voidmodel_destroy(uint64_t model_handle);
/*Создать экземпляр модели в видеопамяти из шаблона `model_handle`Уже реальная, отображаемая модель*/uint64_tmodel_instance_create(uint64_t model_handle);
voidmodel_instance_set_transform(uint64_t model_instance_handle, Transform transform);
voidmodel_instance_destroy(uint64_t model_instance_handle);
The text was updated successfully, but these errors were encountered:
Нужно добавить поддержку отображения 3D моделей через
AbstractVisualBackend
.См. параллельный PR kvark/vange-rs#191
Основная концепция - сначала загружаем все меши моделей в видео-память (
create_model
), потом создаем инстансы этих мешей (model_instance_create
) и каждый кадр меняем их трансформацию (model_instance_set_transform
). Обновление трансформации происходит в функции отрисовки 3D объекта, и, если объект это мехос - то еще дополнительно обновляем трансформацию моделей колес и оружия.Проблемы, которые надо решить:
renderer
сделана максимально отдельно от основного кода вангеров.VisualBackend::render
Что нужно сделать:
Расширить интерфейс
AbstractVisualBackend
следующими функциями:The text was updated successfully, but these errors were encountered: