AMD открыл фреймворк Caudron для быстрого создания прототипов 3D-приложений

Компания AMD опубликовала новый открытый фреймворк Caudron, предоставляющий средства для быстрой разработки прототипов игр и графических приложений, использующих API Vulkan или DirectX12. Фреймворк изначально применялся внутри компании для разработки демонстраций и примеров для SDK. Код проекта написан на языке C++11 и распространяется под лицензией MIT.

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

  • Менеджеры и загрузчики ресурсов. Поддерживается загрузка текстур в форматах DDS, PNG, JPG и т.п. с возможностью создания представлений изображений. Предоставляются несколько реализаций буферов для хранения вершины и индексы для статической и динамически изменяемых геометрических объектов, а также для хранения текстур перед загрузкой в видеопамять;
  • Модули рендеринга, позволяющие загружать и отрисовывать 3D-модели в формате glTF 2.0 с поддержкой анимации движения камеры, каркасов и света, наложения текстур, обработки материалов в формате PBR, точечно направленного света и теней. Также поддерживается отрисовка 2D-объектов в форматах PostProcPS/PS с использованием собственного шейдера на стадии постобработки. Также доступен компонент ImGUI для формирования GUI и набор виджетов для формирования координатной сетки и каркасного куба (для ограничивающих рамок и конуса распространения освещения/камеры);
  • Набор вспомогательных обработчиков и кода для настройки, специфичных для API Vulkan;
  • Типовой для разных операционных систем код для обработки операций масштабирования, оконных и полноэкранных режимов, обработки потока сообщений между окнами и т.п.

В состав также включены дополнительные библиотеки AGS для получения информации о GPU, VulkanMemoryAllocator для управления памятью в Vulkan-приложениях, d3d12x для использования API D3D12, dxc с компилятором шейдеров для DirectX, imgui с GUI-библиотекой, json для манипуляций с данными в формате JSON.

Источник: http://www.opennet.ru/opennews/art.shtml?num=51162