Repolode
regl-project

regl-project/regl

Un wrapper funcional de WebGL que elimina el estado compartido de la GPU y permite describir las llamadas de dibujo como comandos y compilarlas en JavaScript optimizado.

Estrellas
5,594
Forks
328
Issues abiertos
127
Último commit
hace 22 días

¿Qué es?

regl es una biblioteca de JavaScript que envuelve la API de WebGL con dos abstracciones: recursos, que son referencias a objetos de la GPU como buffers, texturas y framebuffers; y comandos, que describen por completo el estado de WebGL necesario para una llamada de dibujo. Al definir un comando, los desarrolladores combinan valores estáticos y dinámicos, y regl genera JavaScript optimizado a partir de esa descripción, lo que evita la mayor parte de la sobrecarga por llamada de WebGL sin procesar.

La biblioteca está diseñada para ser minimalista. No incluye un grafo de escena, un motor de videojuegos ni utilidades de matemáticas vectoriales; todas las funciones de WebGL siguen estando disponibles, incluidas las extensiones como los múltiples destinos de renderizado y el instancing. No tiene dependencias, incluye una compilación en forma de script independiente junto con el paquete de npm y ofrece una amplia suite de pruebas con verificaciones de validación activadas en el modo de desarrollo.

Funciones clave

  • 01Envuelve WebGL con abstracciones de recursos y comandos para reducir el estado compartido.
  • 02Compila las definiciones de comandos en JavaScript optimizado mediante evaluación parcial.
  • 03Despliega automáticamente arrays anidados en arrays tipados para los buffers.
  • 04Proporciona regl.frame para requestAnimationFrame con gestión del viewport.
  • 05Expone todas las funciones de WebGL, incluidas extensiones como el instancing.
  • 06No tiene dependencias en tiempo de ejecución y ofrece una compilación en forma de script independiente.

Casos de uso

  • Crear visualizaciones de datos personalizadas aceleradas por GPU en el navegador.
  • Desarrollar gráficos o simulaciones basados en shaders que requieran control directo de WebGL.
  • Crear aplicaciones web de larga duración que dependan de una API de renderizado estable y de bajo nivel.

Inicio rápido

  1. 1

    Instala regl desde npm en tu proyecto

    npm i -S regl
  2. 2

    Carga regl con require y crea una instancia; después, dibuja con regl.frame

Antes de usarlo

  • Las comprobaciones de errores del modo de desarrollo se eliminan al empaquetar con browserify, a menos que uses la opción --debug.

En colecciones

Temas

Preguntas frecuentes

¿Qué es regl?
Un wrapper funcional de WebGL que elimina el estado compartido de la GPU y permite describir las llamadas de dibujo como comandos y compilarlas en JavaScript optimizado. regl es una biblioteca de JavaScript que envuelve la API de WebGL con dos abstracciones: recursos, que son referencias a objetos de la GPU como buffers, texturas y framebuffers; y comandos, que describen por completo el estado de WebGL necesario para una llamada de dibujo. Al definir un comando, los desarrolladores combinan valores estáticos y dinámicos, y regl genera JavaScript optimizado a partir de esa descripción, lo que evita la mayor parte de la sobrecarga por llamada de WebGL sin procesar.
¿regl es gratuito? ¿Qué licencia tiene?
regl es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿regl sigue mantenido?
Mantenimiento activo. El último commit de regl fue el 17 oct 2026.
¿Para qué puedo usar regl?
Crear visualizaciones de datos personalizadas aceleradas por GPU en el navegador. Desarrollar gráficos o simulaciones basados en shaders que requieran control directo de WebGL. Crear aplicaciones web de larga duración que dependan de una API de renderizado estable y de bajo nivel.
¿Cómo se instala regl?
Instala regl desde npm en tu proyecto: npm i -S regl Carga regl con require y crea una instancia; después, dibuja con regl.frame
¿Dónde consigo regl?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/regl-project/regl

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados