gre/gl-react

gl-react – React library to write and compose WebGL shaders

View on GitHub ↗Jump to charts ↓

gre/gl-react has 3k+ stars and 150+ forks on GitHub, is written in TypeScript, and was last pushed on Oct 14, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 1 hour ago
Added to GitGenius on September 23rd, 2026
Created on August 17th, 2015
Open Issues & Pull Requests: 22 (+0)
GitHub issues: Enabled
Number of forks: 162
Total Stargazers: 3,012 (+0)
Total Subscribers: 41 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 75.6 days
Mean response time: 872.0 days
90th percentile: 3282.5 days
Tracked items: 29

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 2
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,135 days
Stale 30+ days: 1
Stale 90+ days: 1

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (3)
  • help wanted (3)
  • Expo (2)
  • video (2)
  • feature (1)
  • question (1)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

gl-react is a React library for writing and composing WebGL shaders as reusable components.

The library solves the problem of managing complex WebGL effects by bringing React's component model to shader programming. Instead of writing imperative WebGL code, developers describe shader effects declaratively as React components that can be composed together. The approach leverages React's virtual DOM paradigm and lifecycle methods to handle partial GL re-rendering, so only component updates trigger redraws. Each component node maintains its own framebuffer state that updates when the component changes.

The tool suits developers building interactive graphics applications who want to write shaders once and reuse them across different platforms. gl-react is universal and requires pairing with a platform-specific implementation: gl-react-dom for web browsers, gl-react-native or gl-react-expo for iOS and Android via React Native, or gl-react-headless for Node.js server-side rendering. The library handles uniform bindings from JavaScript to GLSL types and includes an extensible texture loader supporting images, videos, and canvas elements. React DevTools integration allows inspection and debugging of the component stack.

Development activity shows consistent maintenance with regular updates to the codebase. The project maintains multiple platform implementations as separate packages within a monorepo structure, indicating active support across different environments. Documentation includes a cookbook of examples runnable locally and references to shader learning resources, suggesting ongoing investment in developer experience.