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

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
regl-project avatar

regl-project/regl

0
View on GitHub↗
5,528 stele·330 fork-uri·JavaScript·mit·6 vizualizăriregl-project.github.io↗

Regl

regl is a declarative WebGL library that manages graphics state and GPU resources through functional commands instead of manual binding and state tracking. It provides a command-based drawing abstraction where shaders, attributes, and render state are encapsulated into reusable, compiled functions that can be executed efficiently.

What sets regl apart is its scoped state inheritance system, which allows nested drawing commands to inherit and override render state from parent scopes for organized rendering. The library automatically recovers from GPU context loss by restoring buffer and texture contents, and it supports property-based batch execution for running a compiled draw command once per entry in an array of configuration objects. Integrated performance profiling tracks draw call counts, GPU memory allocation, and CPU/GPU execution time per command.

Beyond its core state management, regl covers the full WebGL rendering lifecycle: creating and updating buffers, textures, framebuffers, and shaders; compiling and executing draw calls with instancing and off-screen rendering; and managing the per-frame loop with clear operations and pixel readback. Advanced techniques such as stencil shadow volumes and wide line rendering are also supported through the same declarative framework.

The library includes device capability queries and WebGL extension declaration, and provides both full documentation and a README with quick-start examples.

Features

  • WebGL Functional Wrappers - Manages WebGL state and GPU resources through functional commands instead of imperative binding.
  • WebGL 3D Techniques - Implements geometry instancing, multiple render targets, off-screen post-processing, and GPGPU computations in WebGL.
  • Reusable Draw Commands - Encapsulates render state into reusable commands with nested scopes and batch execution for complex draw scenarios.
  • Draw Command Compilers - Regl specifies a complete representation of graphics state as a command object and compiles it into optimized JavaScript for execution.
  • Animation Frame Coordination - Regl registers a callback that runs each animation frame, integrating with the browser’s animation loop and state management.
  • Functional GPU Resource Management - Provides functional handles for buffers, textures, and shaders without manual binding or state tracking.
  • GPU Command Abstractions - Encapsulates shaders and attributes into reusable, compiled functions for efficient GPU state management.
  • GPU Resource Allocation Tracking - Regl tracks the count and memory usage of allocated buffers, textures, framebuffers, and shaders for performance analysis.
  • GPU Resource Handle Wrappers - Regl provides simplified handles to buffers, textures, and framebuffers, abstracting away manual binding and state management.
  • GPU Resource Management - Creates, updates, and destroys shaders, buffers, textures, and framebuffers with automatic cleanup and context-loss recovery.
  • Index Buffer Creation - Regl creates GPU buffers to store vertex attributes and element index data for geometry, with support for dynamic and static data.
  • Mipmap Generation - Regl automatically generates mipmap chains for textures to enable level-of-detail filtering and reduce aliasing in scaled rendering.
  • Texture Subdata Updates - Regl updates existing textures with in-place subimage data, resizes them, and queries their format and filtering settings.
  • Multi-Media Texture Loaders - Regl creates 2D and cube map textures from images, arrays, videos, or canvases with configurable filtering and wrapping settings.
  • Property-Based Batching - Runs the same compiled draw command once per entry in an array of property objects for efficient batching.
  • WebGL Context Recovery - Automatically restores buffer and texture contents when the WebGL context is lost and regained.
  • WebGL Context Initializers - Initializes WebGL rendering contexts from canvas elements or headless environments with extension support.
  • Geometric Primitives - Regl draws triangles, meshes, points, and lines from vertex buffers and element index buffers with full state configuration.
  • Render State Scopes - Enables nested drawing commands to inherit and override render state from parent scopes.
  • Dynamic State Configurations - Regl configures viewport, scissor region, attributes, and uniforms with per-call update functions for flexible rendering.
  • Draw Call Profilers - Regl collects CPU and GPU timing data and draw call counts per command for rendering performance diagnostics.
  • Offscreen Framebuffer Managers - Regl resizes, reads from, and manages framebuffer objects, including cube map attachments, for dynamic off-screen rendering.
  • Buffer Content Updaters - Modifies vertex buffer content each frame for animation and performs in-place subdata updates.
  • Context Managers - Manages the graphics context lifecycle including explicit destruction and unsafe direct access.
  • Device Limit Inspection - Queries GPU limits such as maximum texture size, attribute count, and supported extensions.
  • Draw Command Batches - Regl executes a single drawing command once for each entry in an array of configuration objects for efficient batch processing.
  • GPU Context Loss Recovery Mechanisms - Regl automatically restores buffer and texture contents when the graphics context is lost and regained, and hooks into loss and creation events.
  • Shadow Volume Renderers - Implements stencil shadow volume rendering for realistic real-time shadows in WebGL.
  • Render-to-Texture Buffers - Regl outputs rendered scenes to textures, cube maps, or multiple render targets using framebuffer objects for off-screen use.
  • Mesh Instancing - Regl draws multiple copies of a mesh in a single call using hardware instancing with per-instance attributes for efficient batching.
  • WebGL Extension Management - Declares mandatory and optional WebGL extensions during context creation and checks availability at runtime.
  • Offscreen Framebuffer Creation - Creates framebuffer objects with color, depth, and stencil attachments for off-screen rendering.
  • Graphics and Rendering - Functional WebGL library.
  • Web Graphics Libraries - Functional abstraction for WebGL development.

Istoric stele

Graficul istoricului de stele pentru regl-project/reglGraficul istoricului de stele pentru regl-project/regl

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Regl

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Regl.
  • oframe/oglAvatar oframe

    oframe/ogl

    4,540Vezi pe GitHub↗

    ogl is a WebGL graphics library and 3D scene graph engine designed for rendering three-dimensional scenes. It provides a lightweight framework for managing geometries and coordinating spatial transformations within a hierarchical system. The project includes a PBR shader system for creating realistic materials and a GPGPU computation framework for performing large-scale general-purpose calculations and particle simulations on the graphics processor. It also features a post-processing suite for applying visual filters to rendered scenes via frame buffers. The library covers broader capabiliti

    JavaScript
    Vezi pe GitHub↗4,540
  • gfx-rs/wgpuAvatar gfx-rs

    gfx-rs/wgpu

    17,382Vezi pe GitHub↗

    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
    Vezi pe GitHub↗17,382
  • gfx-rs/gfxAvatar gfx-rs

    gfx-rs/gfx

    5,398Vezi pe GitHub↗

    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
    Vezi pe GitHub↗5,398
  • overv/vulkantutorialAvatar Overv

    Overv/VulkanTutorial

    3,675Vezi pe GitHub↗

    VulkanTutorial is a comprehensive educational guide and instructional resource for implementing low-level rendering and compute pipelines using the Vulkan API. It serves as a GPU programming course and a step-by-step guide for building high-performance graphics applications from scratch. The project provides detailed instruction on the full graphics pipeline, including the compilation of shaders to SPIR-V bytecode, the configuration of rasterization states, and the implementation of 3D graphics pipelines. It also covers general-purpose GPU compute programming, focusing on the execution of par

    C++computer-graphicscppgraphics-programming
    Vezi pe GitHub↗3,675
Vezi toate cele 30 alternative pentru Regl→

Întrebări frecvente

Ce face regl-project/regl?

regl is a declarative WebGL library that manages graphics state and GPU resources through functional commands instead of manual binding and state tracking. It provides a command-based drawing abstraction where shaders, attributes, and render state are encapsulated into reusable, compiled functions that can be executed efficiently.

Care sunt principalele funcționalități ale regl-project/regl?

Principalele funcționalități ale regl-project/regl sunt: WebGL Functional Wrappers, WebGL 3D Techniques, Reusable Draw Commands, Draw Command Compilers, Animation Frame Coordination, Functional GPU Resource Management, GPU Command Abstractions, GPU Resource Allocation Tracking.

Care sunt câteva alternative open-source pentru regl-project/regl?

Alternativele open-source pentru regl-project/regl includ: oframe/ogl — ogl is a WebGL graphics library and 3D scene graph engine designed for rendering three-dimensional scenes. It provides… gfx-rs/wgpu — This project is a cross-platform graphics and compute framework that provides a unified, hardware-agnostic abstraction… overv/vulkantutorial — VulkanTutorial is a comprehensive educational guide and instructional resource for implementing low-level rendering… gfx-rs/gfx — gfx is a hardware-agnostic graphics API abstraction that translates a unified set of graphics and compute commands… amandaghassaei/gpu-io — This library is a web-based framework designed for general-purpose parallel processing and high-performance… lwjgl/lwjgl3 — LWJGL is a cross-platform library that provides Java bindings to native APIs for graphics, audio, compute, windowing,…