Una biblioteca gráfica mínima en C++20 para Metal 4 y Vulkan 1.4 que sustituye los buffers y los descriptor sets por punteros de GPU y descriptor heaps.
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
Instala regl desde npm en tu proyecto
npm i -S regl - 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
Una biblioteca 3D de JavaScript que facilita crear y renderizar escenas 3D en el navegador con WebGL y WebGPU.
Biblioteca de postprocesamiento para three.js que encadena efectos de imagen a pantalla completa, como bloom, SSAO y gradación de color, en escenas WebGL.
Colección abierta de más de 100 transiciones GLSL creadas por la comunidad para animar el paso entre dos imágenes, compatibles con la web, móviles, Apple, Android, Rust y herramientas de video.
Renderizador oceánico en tiempo real para three.js (WebGL2), con olas FFT, rompientes, espuma, cáusticas, vista submarina y objetos flotantes.
Motor de juegos 3D y renderizado en JavaScript/TypeScript que funciona en el navegador con WebGL, WebGPU y WebXR.