Renderizando a interface de hardware (RHI) O módulo RHI de gráficos de metano implementa um conjunto de interfaces públicas orientadas a objetos, que tornam a programação gráfica moderna fácil e conveniente de uma maneira independente da plataforma e da API. Tutoriais Comece a aprender API de gráficos de metano com documentação do Hello Triangle e continue com outras pessoas. Nome / link | Captura de tela | Descrição |
|---|
| 1. Olá triângulo |  | Triângulo colorido Renderização em 100 linhas de código. | | 2. Olá, cubo |  | Renderização de cubo colorido em 200 linhas de código com buffers de vértice e índice. | | 3. Cubo texturizado |  | O texturizado Cube apresenta buffers, texturas e amostradores com sombreamento de Phong. | | 4. Cubo de sombra |  | O Shadow Cube apresenta a renderização multi-passa com passes de renderização. | | 5. Tipografia |  | A tipografia demonstra renderização de texto animada com atualizações dinâmicas de atlas usando a interface do usuário do metano. | | 6. Array de mapa de cubo |  | Textura de matriz de mapa do cubo junto com a renderização do céu. | | 7. Renderização paralela |  | Renderização paralela das instâncias de cubo texturizado para o passe de renderização única. | | 8. computação do console |  | O jogo de vida de Conway implementou no SHADER COMPUTE e em execução em aplicativo de console puro. |
Amostras Amostras de metano demonstram técnicas avançadas e cenários de uso com implementação mais complexa do que os tutoriais acima. As amostras são distribuídas na forma de repositórios separados. Nome / link | Captura de tela | Descrição |
|---|
| Asteróides |  | Benchmark demonstrando comandos de renderização paralela que codificam em um único passe de renderização para o grande número de objetos de asteróides heterogêneos processados em vários threads. |
Características- Classes de aplicativos e entrada de plataforma cruzada : Windows, MacOS e Linux são suportados
- Módulos CMake para configuração conveniente de criação de aplicativos, adicionando shaders e recursos incorporados
- Shaders HLSL-6 que servem todas as APIs de gráficos convertidas em linguagem de shader nativo e compiladas no tempo de construção com SPIRV-CROSS & DIRECTXCOMPILER
- Biblioteca de matemática HLSL ++ com sintaxe do tipo HLSL em C ++ e otimizações de instrução de vetor para diferentes plataformas
- Abstrações de API de gráficos modernos : baseados em diretorx 12, vulkan e APIs de metal
- Renderizar o estado e a configuração do programa com sintaxe de inicialização compacta
- Objetos de ligação ao programa implementam ligação eficiente de argumentos de shader aos recursos
- Rastreamento automático de estado de recurso usado para barreiras automáticas de transição de recursos
- Os recursos são retidos automaticamente da destruição enquanto estão em uso na GPU com ponteiros compartilhados no estado da lista de comando
- Rastreamento de Estado de Execução da Lista de Comandos com Desentagem de Timestamps da GPU opcional na conclusão
- Lista de comando de renderização paralela para comandos renderizados com vários threades que codificam em um único passe de renderização
- Execução de filas de comando múltiplas na GPU com sincronização usando cercas
- Recursos particulares de GPU atualizados de maneira assíncrona através da lista de comando de upload e recurso compartilhado
- Registro de objetos gráficos nomeados que permitem a reutilização de estados de renderização e recursos gráficos entre objetos de renderização
- Primitivos e extensões gráficas :
- Classe de base de aplicativos gráficos com gerenciamento de recursos por quadro e buffers de quadros de redimensionamento Ativar buffer triplo eficaz
- Câmera de arco primitiva e interativa da câmera
- Geração de malha processual para quadidal
- Classes de extensão de renderização de quadro de tela e box-box
- Carregador de textura (atualmente implementado com o STB, planejado para substituição pelo OpenImageio)
- Interface do usuário :
- Classe base de aplicativos de interface do usuário com HUD integrado, distintivo de logotipo e ajuda/parâmetros
- Biblioteca de tipografia para carregamento de fontes, atualização dinâmica de atlas, renderização e layout de texto
- Widgets Library (em desenvolvimento)
- Infraestrutura da plataforma :
- Aplicativo base com gerenciamento de janelas e manuseio de entrada para Windows, MacOS e Linux
- Mecanismo de eventos que conecta emissores e receptores por meio de interfaces de retorno de chamada
- Subsistema de animações
- Provedores de recursos incorporados
- Recursos integrados de depuração e criação de perfil :
- Instrumentação da biblioteca para análise de desempenho com ferramentas de perfil de rastreamento
- Nomes de depuração para todos os objetos da GPU e regiões de depuração para a API Graphics chama para uso com ferramentas de perfil de quadro
- Integração contínua com compilações automatizadas de várias plataformas, testes unitários e análise de código estático em nuvem de sonar em ações do GitHub
Para obter recursos detalhados Descrição e planos de desenvolvimento, consulte a documentação dos módulos. Ferramentas de desenvolvimento suportadas Ambientes de desenvolvimento 
- Microsoft Visual Studio 2019
- Soluções e projetos construídos (gerar com build/windows/build.bat)
- Suporte de construção nativo do CMake (pré-configurado com cmakepresets.json)
- Apple Xcode
- Xcode Workspace e projetos (geram com build/unix/build.sh)
- Microsoft vs Code e Gitpod (pré-configurado com cmakepresets.json e .vscode/setings.json)
- Jet Brains Clion (pré-configurado com .idea)
- Criador QT com suporte nativo de cmake
O kit de metano está sendo desenvolvido com o apoio às ferramentas de desenvolvimento de jato. A licença de desenvolvimento de projetos de código aberto é fornecido gratuitamente a todos os principais colaboradores do projeto do kit de metano. Análise de código estático O kit de metano vem com o código estático de C ++ contínuo e a análise de cobertura de código realizada como parte das compilações automatizadas de "varredura" de IC com resultados atualizados publicados no Sonar Cloud separadamente para todas as plataformas suportadas. | Resultados de varredura mestre | Windows | Macos | Linux |
|---|
| Digitalizar status de construção | | | | | Portão de qualidade | | | | | Manutenção | | | | | Confiabilidade | | | | | Segurança | | | | | Dívida técnica | | | | | Bugs | | | | | Vulnerabilidades | | | | | Código cheira | | | | | Linhas duplicadas | | | | | Testes Cobertura | | | | | Linhas de código | | | |
Rastrear ferramentas de perfil O kit de metano contém instrumentação integrada de todas as bibliotecas para análise de desempenho com coleta de rastreamento usando as seguintes ferramentas. Consulte o documento de instrumentação do metano para obter mais detalhes sobre as instruções de coleta de rastreamento e opções de construção relacionadas. | Tracy Frame Profiler | Intel Graphics Trace Analyzer |
|---|
 |  |
Ferramentas de perfil e depuração de quadros- Analisador de quadros gráficos da Intel
- Apple Xcode Metal Debugger
- Renderdoc
- Microsoft Pix
- Nvidia NSight Graphics
Dependências externas- Bibliotecas
- Construir ferramentas
- Ativos
Licença O kit de metano é distribuído sob licença Apache 2.0: é gratuito para usar e abrir para contribuições! Copyright 2019-2022 © Evgeny Gorodetskiy
Expandir
Informações Relacionadas
Todos
|