Renderización de la interfaz de hardware (RHI) El módulo RHI de Methane Graphics implementa un conjunto de interfaces públicas orientadas a objetos, que hacen que la programación de gráficos modernos sea fácil y conveniente en una plataforma y una forma independiente de la API. Tutoriales Comience a aprender la API Graphics de metano con la documentación del tutorial Hello Triangle y continúe con otros. Nombre / enlace | Captura de pantalla | Descripción |
|---|
| 1. Hola Triángulo |  | Triángulo de color renderizado en 100 líneas de código. | | 2. Hola cubo |  | Cubo de color Renderizado en 200 líneas de código con vértice y búferes de índice. | | 3. Cubo texturizado |  | El cubo texturizado presenta buffers, texturas y uso de muestras con sombreado Phong. | | 4. Shadow Cube |  | Shadow Cube presenta la representación de múltiples pasos con pases de renderizado. | | 5. Tipografía |  | La tipografía demuestra la representación de texto animado con actualizaciones de Atlas de fuentes dinámicas utilizando la interfaz de usuario de metano. | | 6. Matriz de mapa de cubos |  | Texturización de matriz de mapa de cubos junto con renderizado de boxes. | | 7. Representación paralela |  | Representación paralela de las instancias de cubos texturizados al pase de renderizado único. | | 8. Computación de consola |  | El Juego de Vida de Conway implementado en Compute Shader y ejecutándose en la aplicación de consola pura. |
Muestras Las muestras de metano demuestran técnicas avanzadas y escenarios de uso con una implementación más compleja que los tutoriales anteriores. Las muestras se distribuyen en forma de repositorios separados. Nombre / enlace | Captura de pantalla | Descripción |
|---|
| Asteroides |  | Benchmark que demuestra comandos de renderizado paralelo en una sola pasada de renderizado para la gran cantidad de objetos asteroides heterogéneos procesados en múltiples hilos. |
Características- Se admiten clases de aplicación y entrada multiplataforma : Windows, MacOS y Linux
- Módulos CMake para una configuración de compilación de aplicaciones conveniente, agregando sombreadores y recursos integrados
- HLSL-6 sombreadores que sirven todas las API gráficas convertidas en lenguaje de sombreador nativo y compilados en el tiempo de compilación con Spirv-Cross & DirectXCompiler
- Biblioteca de matemáticas HLSL ++ con sintaxis similar a HLSL en C ++ y optimizaciones de instrucción vectorial para diferentes plataformas
- Abstracciones de API de gráficos modernos : basado en DirectX 12, Vulkan y API de metal
- Renderizar la configuración del estado y del programa con sintaxis de inicialización compacta
- Los objetos vinculantes del programa implementan la vinculación eficiente de los argumentos de los sombreadores a los recursos
- Seguimiento de estado de recursos automáticos utilizado para la configuración de barreras de transición de recursos automáticos
- Los recursos se conservan automáticamente de la destrucción mientras se usan en GPU con punteros compartidos en el estado de la lista de comandos
- Seguimiento de estado de ejecución de la lista de comandos con consulta opcional de marcas de tiempo GPU al finalizar
- Lista de comandos de renderizado paralelo para comandos de renderizado de múltiples subprocesos en la codificación de renderizado único
- Ejecución de colas de múltiples comandos en GPU con sincronización usando cercas
- Recursos privados de GPU actualizados de manera asincrónica a través de la lista de comandos de carga y recurso compartido
- Registro de objetos gráficos con nombre que permiten la reutilización de los estados de renderizado y los recursos gráficos entre los objetos de renderizador
- Primitivas y extensiones gráficas :
- Clase base de aplicaciones gráficas con gestión de recursos por marco y buffers de cuadros de marco que cambia el tamaño de un búfer triple efectivo
- Cámara primitiva e interactiva Cámara de bola de arco
- Generación de malla de procedimiento para quad, caja, esfera, icosaedron y súper malla
- Clases de extensión de cajas y cajas de cielo
- Texture Loader (actualmente implementado con STB, planeado para reemplazo con OpenImageio)
- Interfaz de usuario :
- Clase base de aplicaciones de interfaz de usuario con HUD integrado, insignia de logotipo y ayuda/parámetros de paneles de texto
- Biblioteca de tipografía para carga de fuentes, actualización dinámica de atlas, representación de texto y diseño
- Biblioteca de widgets (en desarrollo)
- Infraestructura de plataforma :
- Aplicación base con administración de ventanas y manejo de entrada para Windows, MacOS y Linux
- Mecanismo de eventos que conecta emisores y receptores a través de interfaces de devolución de llamada
- Subsistema de animaciones
- Proveedores de recursos integrados
- Capacidades integradas de depuración y perfil :
- Instrumentación de la biblioteca para el análisis de rendimiento con herramientas de perfil de rastreo
- Nombres de depuración para todos los objetos de GPU y regiones de depuración para gráficos API Llamas para usar con herramientas de perfil de marco
- Integración continua con compilaciones multiplataforma automatizadas, pruebas unitarias y análisis de código estático de nube de sonar en acciones de GitHub
Para obtener características detalladas de descripción y planes de desarrollo, consulte la documentación de módulos. Herramientas de desarrollo compatibles Entornos de desarrollo 
- Microsoft Visual Studio 2019
- Soluciones y proyectos Build (generar con build/windows/build.bat)
- Soporte de compilación nativa de CMake (preconfigurado con CMakePresets.json)
- Apple xcode
- XCode Workspace and Projects (genere con build/unix/build.sh)
- Microsoft vs Code y GitPod (preconfigurado con cmakePresets.json y .vscode/settings.json)
- Jet Brains Clion (preconfigurado con .idea)
- QT Creator con soporte nativo de Cmake
El kit de metano se está desarrollando con el apoyo de las herramientas de desarrollo de cerebros de chorro. La licencia de desarrollo del proyecto de código abierto se proporciona de forma gratuita a todos los contribuyentes clave del proyecto de kit de metano. Análisis de código estático El kit de metano viene con un análisis continuo de código estático C ++ y un análisis de cobertura de código realizado como parte del "escaneo" automatizado de CI se construye con resultados actualizados publicados en SONAR Cloud por separado para todas las plataformas compatibles. | Resultados de escaneo maestro | Windows | Macosa | Linux |
|---|
| Escanear el estado de compilación | | | | | Puerta de calidad | | | | | Mantenimiento | | | | | Fiabilidad | | | | | Seguridad | | | | | Deuda técnica | | | | | Insectos | | | | | Vulnerabilidades | | | | | El código huele | | | | | Líneas duplicadas | | | | | Cobertura de prueba | | | | | Líneas de código | | | |
Herramientas de perfil de rastreo El kit de metano contiene instrumentación integrada de todas las bibliotecas para el análisis de rendimiento con la recolección de rastreo utilizando las siguientes herramientas. Consulte el documento de instrumentación de metano para obtener más detalles sobre las instrucciones de recopilación de trazas y las opciones de compilación relacionadas. | Profiler de marco de Tracy | Analizador de rastreo de gráficos Intel |
|---|
 |  |
Herramientas de perfil y depuración de marco- Analizador de cuadro de gráficos Intel
- Depurador de metal de manzana xcode
- Renderdoc
- Microsoft Pix
- Gráficos nvidia nsight
Dependencias externas- Bibliotecas
- Construir herramientas
- Activos
Licencia El kit de metano se distribuye bajo la licencia Apache 2.0: ¡es gratuito de usar y abrir para contribuciones! Copyright 2019-2022 © Evgeny Gorodetskiy
Expandir
Aplicaciones relacionadas
Información relacionada
Todo
|