awesome-repositories.com
Blog
MCP
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
floooh avatar

floooh/sokol

0
View on GitHub↗
9,620 Stars·614 Forks·C·zlib·5 Aufrufefloooh.github.io/sokol-html5↗

Sokol

Sokol is a C hardware abstraction layer and cross-platform graphics library designed for managing windowing, input, and audio across different operating systems. It functions as a GPU resource manager and multimedia application framework, providing a unified API for rendering 2D and 3D graphics across WebGL, Metal, Direct3D, and OpenGL.

The project is distinguished by its single-header implementation, which simplifies integration and portability. It utilizes a stateless render pass definition and a one-update-per-frame model to synchronize CPU data to GPU memory and manage resource lifecycles through descriptor structures.

Its broader capability surface includes GPU compute programming via compute shaders, asynchronous data fetching for files and network requests, and callback-driven audio streaming. The framework also covers system integration tasks such as user input processing, command line argument parsing, and the integration of immediate-mode user interfaces.

Additional tooling is provided for observability, including memory allocation tracking, frame statistics, and high-resolution execution time measurement.

Features

  • Cross-Platform Graphics Tooling - Provides the core rendering backends and platform adapters to enable consistent 2D and 3D graphics across multiple operating systems.
  • Graphics API Translators - Wraps multiple low-level graphics backends (Metal, Direct3D, OpenGL, WebGL) into a single unified C API.
  • Cross-Platform Frameworks - Provides a unified C framework for managing windowing, 3D contexts, and input across multiple operating systems.
  • Buffer Content Updaters - Copies data from system memory to GPU buffers and images using a controlled one-update-per-frame model.
  • Resource Lifecycle Management - Manages vertex buffers, textures, and compute shaders using a one-update-per-frame model and descriptor structures.
  • Frame-Synchronized GPU Updates - Synchronizes CPU data to GPU memory using a restricted one-update-per-frame window to prevent pipeline stalls.
  • Resource Descriptor Definitions - Uses static descriptor structures to define GPU buffers and textures prior to hardware allocation.
  • Stateless Render Pass Definitions - Defines rendering targets and attachment actions through configuration objects rather than sequential API calls.
  • Backend-Agnostic Rendering Pipelines - Provides a backend-agnostic rendering pipeline that decouples C API logic from specific graphics APIs like Metal and OpenGL.
  • 3D Graphics Pipelines - Provides a cross-platform architecture for geometric processing and 3D graphics pipeline execution.
  • 3D Scene Renderers - Implements hardware-accelerated pipelines for real-time 3D scene visualization and geometry rendering.
  • WebGL & GPU Rendering - Provides a unified API to execute WebGL commands and graphics state for 2D and 3D primitives.
  • Multimedia Application Frameworks - Provides a comprehensive framework for integrating graphical windows, text rendering, and audio playback into interactive applications.
  • Hardware Abstraction Layers - Provides a lightweight C hardware abstraction layer for managing windowing, input, and audio across platforms.
  • Resource Lifecycle Management - Manages the creation and explicit destruction of immutable GPU objects using descriptor structures and resource IDs.
  • User Input Processing - Handles system keyboard and mouse events to drive interactive graphical interfaces across platforms.
  • Asynchronous Data Fetching - Implements non-blocking asynchronous data retrieval from local files and network requests.
  • Storage Buffers - Provides mechanisms to pass large arrays of random-access data to the GPU for vertex pulling and instanced rendering.
  • Real-Time Rendering Telemetry - Provides real-time telemetry, memory tracking, and frame statistics tools to monitor application performance.
  • Single-Header Libraries - Distributes the entire library as a single-header C file to simplify cross-platform integration.
  • Sample-Based Buffer Callbacks - Implements a callback-driven mechanism to feed PCM audio samples to platform backends for steady playback.
  • Audio Playback Engines - Provides an engine for executing sound playback and managing audio streams within an application.
  • Raw Audio Sample Streaming - Forwards mono or stereo 32-bit float samples to platform-specific audio backends using callback or push-based models.
  • Pass State Management - Controls the rendering lifecycle through stateless render pass definitions and target action bindings.
  • Instance Offsets - Supports rendering geometry from specific buffer sections using vertex and instance offsets without re-binding buffers.
  • Compute Shader Dispatchers - Enables the dispatch and execution of general-purpose parallel processing tasks on the GPU using compute shaders.
  • Text Rendering - Provides capabilities for rendering formatted text and custom fonts onto the screen.
  • Texture Management Systems - Provides systems for loading and manipulating image formats, cubemaps, and 3D textures for surface mapping.
  • Framebuffer Renderers - Supports rendering pixels directly to a memory buffer in direct-color or color-palette mode without a GPU.
  • GPU Computations - Enables general-purpose data processing on the GPU using compute shaders and storage buffers.
  • Cross-Platform Asynchronous I/O Abstractions - Offers unified, non-blocking interfaces for performing network and file I/O across different operating systems.
  • Immediate Mode UI Frameworks - Integrates immediate-mode user interface libraries and custom overlays into the graphics pipeline for tools and debugging.
  • Core Libraries and Runtimes - Cross-platform C/C++ libraries for graphics and compute.
  • Graphics and Games - Cross-platform C/C++ graphics libraries.

Star-Verlauf

Star-Verlauf für floooh/sokolStar-Verlauf für floooh/sokol

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Sokol

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Sokol.
  • gfx-rs/wgpuAvatar von gfx-rs

    gfx-rs/wgpu

    17,382Auf GitHub ansehen↗

    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

    Rustd3d12gpuhacktoberfest
    Auf GitHub ansehen↗17,382
  • pygame/pygameAvatar von pygame

    pygame/pygame

    8,620Auf GitHub ansehen↗

    Pygame is a framework for building interactive 2D applications and games using the Python programming language. It functions as a 2D graphics rendering engine, a game input and event manager, and a multimedia audio toolkit. The project serves as a wrapper for the Simple DirectMedia Layer, providing a Python interface for low-level access to graphics, audio, keyboard, mouse, and joystick hardware. Its capabilities cover 2D graphics rendering and image manipulation, digital audio playback and streaming, and the management of game entities and physics simulations. It also includes tools for rea

    Cgame-devgame-developmentgamedev
    Auf GitHub ansehen↗8,620
  • bkaradzic/bgfxAvatar von bkaradzic

    bkaradzic/bgfx

    17,161Auf GitHub ansehen↗

    bgfx is a cross-platform, graphics rendering abstraction layer designed for high-performance applications. It provides a unified interface that maps high-level rendering commands to native graphics APIs, allowing developers to maintain a single codebase that executes consistently across diverse operating systems and hardware architectures. The library distinguishes itself through a multi-threaded command submission model that decouples rendering logic from the main application thread, effectively minimizing CPU bottlenecks. It utilizes a backend-agnostic command buffer and a deferred resource

    Cd3d11d3d12directx
    Auf GitHub ansehen↗17,161
  • gfx-rs/gfxAvatar von gfx-rs

    gfx-rs/gfx

    5,398Auf GitHub ansehen↗

    gfx is a hardware-agnostic graphics API abstraction that translates a unified set of graphics and compute commands into native instructions for multiple GPU drivers. It provides a common interface for cross-platform rendering and general-purpose GPU compute programming. The project features an intermediate-representation shader translation system that converts source code and SPIR-V into target-specific languages. It employs a data-driven reference test framework to verify that graphics output remains consistent across different hardware platforms. Capabilities include parallel command buffe

    Rustdx11dx12gfx
    Auf GitHub ansehen↗5,398
Alle 30 Alternativen zu Sokol anzeigen→

Häufig gestellte Fragen

Was macht floooh/sokol?

Sokol is a C hardware abstraction layer and cross-platform graphics library designed for managing windowing, input, and audio across different operating systems. It functions as a GPU resource manager and multimedia application framework, providing a unified API for rendering 2D and 3D graphics across WebGL, Metal, Direct3D, and OpenGL.

Was sind die Hauptfunktionen von floooh/sokol?

Die Hauptfunktionen von floooh/sokol sind: Cross-Platform Graphics Tooling, Graphics API Translators, Cross-Platform Frameworks, Buffer Content Updaters, Resource Lifecycle Management, Frame-Synchronized GPU Updates, Resource Descriptor Definitions, Stateless Render Pass Definitions.

Welche Open-Source-Alternativen gibt es zu floooh/sokol?

Open-Source-Alternativen zu floooh/sokol sind unter anderem: gfx-rs/wgpu — This project is a cross-platform graphics and compute framework that provides a unified, hardware-agnostic abstraction… pygame/pygame — Pygame is a framework for building interactive 2D applications and games using the Python programming language. It… bkaradzic/bgfx — bgfx is a cross-platform, graphics rendering abstraction layer designed for high-performance applications. It provides… gfx-rs/gfx — gfx is a hardware-agnostic graphics API abstraction that translates a unified set of graphics and compute commands… orillusion/orillusion — Orillusion is a WebGPU 3D rendering engine designed for high-fidelity scenes and visual effects in the browser. It… pixijs/pixijs — PixiJS is a high-performance 2D rendering engine designed for building interactive visual content and browser-based…