AMD abre Caudron Framework para prototipado rápido de aplicacións 3D
AMD publicado novo marco aberto caudrón, que proporciona ferramentas para o desenvolvemento rápido de prototipos de xogos e aplicacións gráficas mediante a API Vulkan ou DirectX12. O framework utilizouse inicialmente internamente para desenvolver demostracións e exemplos para o SDK. O código do proxecto está escrito en C++11 e distribuído por baixo a licenza MIT.
Caudron preséntase como un motor de xogo simplificado que é fácil de aprender e que se pode modificar a medida que avanza o desenvolvemento para acomodar varios experimentos. O motor está adxunto á aplicación en forma de biblioteca ligada estáticamente. Os compoñentes do motor divídense en catro categorías principais:
Xestores e cargadores de recursos. Admite a carga de texturas en formatos DDS, PNG, JPG, etc. coa capacidade de crear representacións de imaxes. Proporciónanse varias implementacións de búfer para almacenar vértices e índices para obxectos xeométricos estáticos e que cambian dinámicamente, así como para almacenar texturas antes de cargalas na memoria de vídeo;
Renderers que che permiten cargar e renderizar modelos 3D en formato glTF 2.0 con soporte para animación do movemento da cámara, wireframes e luces, mapeamento de texturas, renderización física de materiais (PBR), iluminación puntual e sombras. Admite a representación de obxectos 2D en formatos PostProcPS/PS usando o seu propio sombreador na fase de posprocesamento. Compoñente tamén dispoñible ImGUI para xerar unha GUI e un conxunto de widgets para xerar unha cuadrícula de coordenadas e un cubo de wireframe (para caixas delimitadoras e o cono de propagación de iluminación/cámara);
Un conxunto de controladores auxiliares e código de configuración específicos para a API de Vulkan;
Código típico para diferentes sistemas operativos para procesar operacións de escalado, modos con ventá e pantalla completa, procesar o fluxo de mensaxes entre xanelas, etc.
O paquete tamén inclúe bibliotecas adicionais: AGS para obter información sobre a GPU, VulkanMemoryAllocator para a xestión da memoria en aplicacións Vulkan, d3d12x para usar a API D3D12, dxc cun compilador de shader para DirectX, imgui cunha biblioteca GUI, json para manipular datos en JSON formato.