Empresa AMD nuevo marco abierto , que proporciona herramientas para el desarrollo rápido de prototipos de juegos y aplicaciones gráficas que utilizan API Vulkan o DirectX12. El marco se utilizó inicialmente dentro de la empresa para crear demostraciones y ejemplos para el SDK. El código del proyecto está escrito en C++11 y bajo licencia MIT.
Caudron se presenta como un motor de juego simplificado, fácil de aprender y que se puede modificar a medida que se desarrolla para realizar diversos experimentos. El motor se integra en la aplicación en forma de biblioteca de enlace estático. Los componentes del motor se dividen en cuatro categorías principales:
- Gestores y cargadores de recursos. Se admite la carga de texturas en formatos DDS, PNG, JPG, etc., con la posibilidad de crear vistas de imágenes. Se proporcionan varias implementaciones de buffers para almacenar vértices e índices para objetos geométricos estáticos y dinámicamente cambiantes, así como para almacenar texturas antes de cargarlas en la memoria de video;
- Módulos de renderizado que permiten cargar y renderizar modelos 3D en formato glTF 2.0 con soporte para animación de movimiento de cámara, esqueletos y luces, superposición de texturas, renderizado físicamente correcto de materiales (PBR), luz direccional puntual y sombras. Se admite el renderizado de objetos 2D en formatos PostProcPS/PS utilizando un shader propio en la etapa de post-procesamiento. También está disponible el componente para la creación de GUI y un conjunto de widgets para formar una malla de coordenadas y un cubo en malla (para límites y cono de propagación de luz/cámara);
- Un conjunto de manejadores auxiliares y código para configuraciones específicas de la API Vulkan;
- Código típico para diferentes sistemas operativos para manejar operaciones de escalado, modos de ventana y pantalla completa, manejo de flujo de mensajes entre ventanas, etc.
También se incluyen bibliotecas adicionales: AGS para obtener información sobre la GPU, VulkanMemoryAllocator para la gestión de memoria en aplicaciones Vulkan, d3d12x para usar la API D3D12, dxc con el compilador de shaders para DirectX, imgui con la biblioteca GUI, json para manipulaciones con datos en formato JSON.
Fuente: opennet.ru
