62 dépôts
Tools for GDI+ interaction, image processing, and visual rendering.
Explore 62 awesome GitHub repositories matching part of an awesome list · Graphics Libraries. Refine with filters or upvote what's useful.
Ce projet est une bibliothèque d'interface utilisateur graphique en mode immédiat conçue pour le développement rapide d'outils et d'interfaces de débogage. En générant la géométrie de l'interface utilisateur à chaque image via du code procédural, elle élimine le besoin de synchronisation d'état persistante entre les données de l'application et l'interface. Elle est principalement destinée à être intégrée dans des pipelines de rendu existants, où elle produit des tampons de sommets bruts et des commandes de dessin agnostiques vis-à-vis de l'API graphique sous-jacente. La bibliothèque se distingue par une architecture hautement découplée qui prend en charge des mises en page complexes, ancrables et multi-fenêtres. Elle gère les positions des fenêtres, le glisser-déposer des onglets et le fractionnement des nœuds, permettant aux développeurs de détacher les éléments d'interface dans des fenêtres de système d'exploitation indépendantes. Pour assurer une interaction cohérente dans divers environnements, elle mappe les événements d'entrée natifs dans un format unifié et fournit une portée robuste basée sur des identifiants pour suivre les états des éléments à travers les images. Le framework offre une large surface de capacités pour construire des outils de moteur sophistiqués et des utilitaires de diagnostic. Il inclut la prise en charge de composants visuels avancés tels que des éditeurs de nœuds, des traceurs 2D et 3D, et des inspecteurs spécialisés, ainsi qu'une infrastructure pour la mise à l'échelle DPI et le rendu de formes personnalisées. Le système est conçu pour une haute portabilité, avec des options de configuration à la compilation qui permettent aux développeurs d'adapter les structures de données de base et les types mathématiques aux exigences spécifiques du moteur. Le dépôt fournit des exemples étendus pour connecter la bibliothèque aux principaux backends et frameworks graphiques, ainsi que des outils pour générer des liaisons spécifiques aux langages.
Immediate mode GUI library with Vulkan support.
This project is a C-based multimedia toolkit and cross-platform game framework designed for building interactive applications. It provides a low-level programming interface that grants direct access to hardware-accelerated graphics, real-time audio processing, and user input handling. By utilizing an immediate-mode rendering architecture, the library processes visual state changes frame-by-frame, which simplifies the logic required for dynamic interfaces and interactive simulations. The library distinguishes itself through a zero-dependency design that avoids complex external build requiremen
Simple, easy-to-use framework for 2D and 3D programming.
ncnn is a high-performance neural network inference framework designed for executing deep learning models locally on mobile and desktop hardware. It functions as a specialized engine that enables the deployment of artificial intelligence tasks directly on resource-constrained devices, eliminating the need for external network connectivity or cloud-based processing services. The framework provides a comprehensive toolset for model optimization, allowing users to convert and quantize machine learning models into specialized binary structures. By utilizing static model graph compilation and zero
Neural network inference framework with Vulkan acceleration.
Filament is a real-time physically based rendering engine designed for high-fidelity 3D graphics. It functions as a cross-platform graphics library that provides a unified interface for rendering complex models and materials across desktop, mobile, and web environments. The engine distinguishes itself through a data-oriented architecture that optimizes memory usage and processing speed, alongside a shader-variant system that generates specialized code for specific material and lighting configurations. By abstracting diverse hardware graphics backends, it ensures consistent visual performance
Mobile-first, physically-based renderer.
This project is a cross-platform graphics and compute framework that provides a unified, hardware-agnostic abstraction layer for rendering and parallel processing. It enables developers to build high-performance applications that execute consistently across diverse operating systems and hardware backends, including Vulkan, Metal, and DirectX. By mapping high-level graphics commands to native APIs, it serves as a portable foundation for both real-time 3D rendering and general-purpose GPU computing. The framework distinguishes itself through a robust architecture that supports both native deskt
Cross-platform graphics API, powers WebGPU in Firefox.
SDL is a cross-platform development library that provides low-level access to audio, keyboard, mouse, joystick, and graphics hardware. It functions as a hardware abstraction layer, mapping diverse operating system interfaces into a unified set of functions to ensure consistent performance across different computing environments. The library serves as a foundation for multimedia and interactive application development by providing an integrated audio processing engine and a graphics rendering framework. It manages the complexities of hardware communication by normalizing raw input events and p
Low-level access to audio, input, and graphics hardware.
This project is a cross-platform library designed for desktop application development, providing a unified interface for window management, input handling, and hardware-accelerated graphics. It serves as a foundational framework that abstracts platform-specific windowing protocols and graphics APIs, enabling developers to create interactive software that functions consistently across Windows, macOS, and Linux. The library distinguishes itself by providing deep integration with low-level graphics APIs, specifically OpenGL and Vulkan. It manages the complexities of graphics context initializati
Cross-platform API for windowing and graphics contexts.
SFML is a cross-platform C++ multimedia library designed for building 2D games and interactive applications. It provides a unified interface for hardware-accelerated graphics, audio playback, and window management, allowing developers to create visual software that functions consistently across different operating systems. The library abstracts native windowing and graphics APIs, enabling the use of object-oriented primitives to render shapes, sprites, and text. It includes a dedicated audio engine that supports sound effects and music with controls for volume, pitch, and spatial positioning,
Cross-platform access to windowing, graphics, audio, and networking.
Skia is a high-performance 2D graphics rendering library used for drawing text, geometries, and images on digital surfaces. It functions as a hardware-accelerated graphics engine that offloads drawing operations to the GPU, a vector graphics processor for SVG and complex paths, and a typography engine for shaping and drawing characters with Unicode support. The project provides a cross-platform image codec for encoding and decoding standard image formats into raw pixel data across multiple operating systems. It also enables the development of user interfaces that maintain visual consistency a
2D graphics library with Vulkan backend.
WickedEngine est un moteur de jeu 3D en C++ et un framework conçu pour construire des applications tridimensionnelles et des projets graphiques haute fidélité. Il dispose d'un moteur de rendu graphique moderne qui implémente les normes actuelles pour produire une géométrie et un éclairage complexes sur différents matériels. Le moteur inclut un éditeur de scène visuel autonome pour concevoir des environnements et configurer des propriétés sans écrire de code. Il fournit également un environnement de script Lua intégré pour gérer la logique d'exécution et automatiser les tâches du moteur. Le framework couvre le rendu graphique 3D et le développement d'applications, y compris un système d'importation de modèles qui convertit les formats de fichiers externes en un format de scène natif. Son architecture intègre un backend graphique multi-API pour prendre en charge divers systèmes d'exploitation et interfaces matérielles.
Engine focused on performance and modern rendering.
NanoVG est un moteur de dessin 2D accéléré par matériel et une bibliothèque de primitives graphiques en C. Il fournit un moteur de rendu léger conçu pour des graphiques vectoriels anticrénelés de haute qualité utilisant un backend OpenGL. Le moteur se spécialise dans la construction et le rendu de chemins géométriques complexes. Il prend en charge la définition de formes précises utilisant des lignes, des courbes de Bézier et des arcs, avec des règles de remplissage intégrées pour créer des zones creuses et des formes composites. La bibliothèque couvre un large éventail de capacités graphiques vectorielles, incluant la composition de chemins et le rendu de formes anticrénelées. Ces outils permettent le développement de composants d'interface utilisateur personnalisés et de visualisations de données en temps réel.
OpenGL-based vector drawing library for UI and visualizations.
The Forge est une boîte à outils de bas niveau pour construire des moteurs graphiques et des applications haute performance sur les plateformes de bureau, mobiles et consoles. Il fournit un framework de moteur multiplateforme et un compilateur de shader dédié qui traduit une source unique en langages spécifiques à la cible pour diverses API graphiques et matériels. Le projet inclut un gestionnaire de mémoire et de ressources GPU qui utilise des signatures racines unifiées pour la liaison de ressources, ainsi qu'un pipeline de rendu par lancer de rayons (ray tracing) qui implémente des requêtes de lancer de rayons et de chemins accélérées par le matériel. La gestion d'état est traitée par un système d'entité-composant haute performance qui organise les données et la logique en composants discrets. Les domaines de capacités larges couvrent la surveillance des performances GPU via des breadcrumbs matériels et le micro-profilage, la gestion des entrées multiplateforme pour divers périphériques, et un système d'animation pour la lecture et le mélange squelettique. Le framework prend également en charge le chargement asynchrone de ressources, l'ombrage à taux variable (variable rate shading) et l'indexation de ressources non uniforme. La boîte à outils fournit une automatisation pour l'itération en temps réel, incluant la recompilation de shader en direct et la capacité de recharger des bibliothèques dynamiques à l'exécution.
Cross-platform rendering framework for major consoles and platforms.
Cinder est une bibliothèque de création de code C++ et une boîte à outils graphique native conçue pour développer des médias interactifs professionnels et de l'art visuel. Elle sert de framework multimédia multiplateforme pour générer de l'art numérique génératif haute performance et du rendu visuel en temps réel. Le framework fournit une suite professionnelle d'outils pour construire des installations intégrées au matériel et des visuels cinématographiques. Il se concentre sur la programmation graphique en temps réel et la production de graphismes de haute qualité pour des écrans professionnels. La bibliothèque inclut une couche d'abstraction multiplateforme et une architecture modulaire pour standardiser les opérations sur différents systèmes d'exploitation. Elle intègre un rendu accéléré par le matériel et une gestion des entrées pilotée par les événements pour traiter les interactions utilisateur et les données de capteurs.
App and graphics library for cross-platform development.
Magnum est une suite de middleware C++ pour le développement graphique multiplateforme et la visualisation de données en temps réel. Il fournit une couche de rendu agnostique au matériel qui traduit les commandes graphiques en appels spécifiques à la plateforme, assurant un comportement cohérent à travers différents pilotes GPU et API tels que Vulkan. Le projet se concentre sur le découplage de la logique d'application du matériel sous-jacent grâce à des utilitaires graphiques et système abstraits. Il dispose d'un importateur de ressources basé sur des plugins pour les actifs 3D et l'audio, d'un graphe de scène hiérarchique pour les transformations spatiales et d'un système d'événements basé sur des signaux haute performance pour la communication. Les capacités étendues incluent l'algèbre linéaire et les mathématiques vectorielles, le traitement de la géométrie de maillage et la gestion des contextes GPU. La boîte à outils couvre également la lecture audio spatiale, l'intégration matérielle VR et les optimisations de mémoire de bas niveau comme les mises en page stridées et les allocations alignées. La bibliothèque peut être intégrée dans des projets parents en tant que sous-projet CMake.
Modular graphics middleware for games and apps.
Ogre is a high-level 3D rendering engine designed for creating games, simulations, and visualizations without requiring low-level graphics API code. It functions as a framework for real-time 3D graphics processing, providing a physically based renderer to simulate lifelike surfaces and lighting. The engine includes specialized systems for skeletal animation to control character movement and a terrain generation system for producing large textured landscapes. These features are supported by automatic levels of detail and distance-based mesh management to maintain performance. The project cove
Scene-oriented, flexible 3D rendering engine.
DiligentEngine is a cross-platform graphics abstraction layer and physically-based rendering engine. It provides a unified interface for executing 3D graphics commands across multiple low-level rendering backends from a single codebase, including a dedicated system for importing 3D assets via the GLTF 2.0 format. The engine features an HLSL shader cross-compiler that allows a single set of shaders to run across different graphics APIs and operating systems. It supports advanced rendering capabilities such as ray-tracing, mesh shaders, variable rate shading, and bindless resources. The framew
Modern cross-platform graphics API abstraction.
Glium is no longer actively developed by its original author. That said, PRs are still welcome and maintenance is continued by the surrounding community.
Safe wrapper around the OpenGL API.
Easy to integrate Vulkan memory allocation library.
Library for simplified Vulkan memory management.
Intermediate Graphics Library (IGL) is a cross-platform library that commands the GPU. It provides a single low-level cross-platform interface on top of various graphics APIs (e.g. OpenGL, Metal and Vulkan).
Cross-platform graphics abstraction layer.
Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal
Thin abstraction layer for major graphics APIs.