AMD abre estrutura Caudron para prototipagem rápida de aplicativos 3D
AMD publicado nova estrutura aberta Caudron, que fornece ferramentas para desenvolvimento rápido de protótipos de jogos e aplicativos gráficos usando a API Vulkan ou DirectX12. A estrutura foi inicialmente usada internamente para desenvolver demonstrações e exemplos para o SDK. O código do projeto é escrito em C++11 e distribuído por sob a licença do MIT.
Caudron é apresentado como um mecanismo de jogo simplificado, fácil de aprender e que pode ser modificado à medida que o desenvolvimento avança para acomodar vários experimentos. O mecanismo é anexado ao aplicativo na forma de uma biblioteca vinculada estaticamente. Os componentes do motor são divididos em quatro categorias principais:
Gerentes e carregadores de recursos. Suporta carregamento de texturas nos formatos DDS, PNG, JPG, etc. com a capacidade de criar representações de imagens. Várias implementações de buffer são fornecidas para armazenar vértices e índices para objetos geométricos estáticos e que mudam dinamicamente, bem como para armazenar texturas antes de carregá-las na memória de vídeo;
Renderizadores que permitem carregar e renderizar modelos 3D no formato glTF 2.0 com suporte para animação de movimento de câmera, wireframes e luzes, mapeamento de textura, renderização de materiais com base física (PBR), iluminação pontual e sombras. Suporta renderização de objetos 2D em formatos PostProcPS/PS usando seu próprio shader na fase de pós-processamento. Componente também disponível ImGUI para gerar uma GUI e um conjunto de widgets para gerar uma grade de coordenadas e um cubo wireframe (para caixas delimitadoras e cone de propagação de iluminação/câmera);
Um conjunto de manipuladores auxiliares e código de configuração específico para a API Vulkan;
Código típico para diferentes sistemas operacionais para processamento de operações de escalonamento, modos de janela e tela inteira, processamento de fluxo de mensagens entre janelas, etc.
O pacote também inclui bibliotecas adicionais: AGS para obter informações sobre a GPU, VulkanMemoryAllocator para gerenciamento de memória em aplicativos Vulkan, d3d12x para usar a API D3D12, dxc com um compilador de shader para DirectX, imgui com uma biblioteca GUI, json para manipular dados em JSON formato.