# @luma.gl/gltools

> WebGL2 API Polyfills for WebGL1 WebGLRenderingContext

Latest version **8.5.21** (published 2023-09-13) · MIT license · 0 weekly downloads

## Install

```sh
npm install @luma.gl/gltools
pnpm add @luma.gl/gltools
yarn add @luma.gl/gltools
bun add @luma.gl/gltools
```

## Health

**Score 40/100 (D)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high maintenance score.

Warnings: low downloads.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 8.5.21 |
| Published | 2023-09-13 |
| First published | 2019-11-08 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 5 |
| Unpacked size | 713.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 2472 |
| Maintainers | felixpalmer, pessimistress, ibgreen, gnavvy, alasarr, dryabinin, belom88 |
| Keywords | webgl2, webgl, polyfill |

## Links

- npm: https://www.npmjs.com/package/@luma.gl/gltools
- Repository: https://github.com/visgl/luma.gl
- Homepage: https://github.com/visgl/luma.gl#readme
- Issues: https://github.com/visgl/luma.gl/issues
- npm.io page: https://npm.io/package/@luma.gl/gltools

## Dependencies (5)

- [@probe.gl/env](https://npm.io/package/@probe.gl/env.md) ^3.5.0
- [@probe.gl/log](https://npm.io/package/@probe.gl/log.md) ^3.5.0
- [@babel/runtime](https://npm.io/package/@babel/runtime.md) ^7.0.0
- [@luma.gl/constants](https://npm.io/package/@luma.gl/constants.md) 8.5.21
- [@types/offscreencanvas](https://npm.io/package/@types/offscreencanvas.md) ^2019.7.0

## Recent versions

- 8.5.21 (latest) — 2023-09-13
- 9.0.0-alpha.21 (beta) — 2023-05-25
- 9.0.0-alpha.20 — 2023-05-10
- 9.0.0-alpha.19 — 2023-05-10
- 9.0.0-alpha.17 — 2023-05-02
- 8.5.20 — 2023-05-01
- 9.0.0-alpha.16 — 2023-04-25
- 8.5.19 — 2023-03-23
- 9.0.0-alpha.15 — 2023-01-03
- 9.0.0-alpha.14 — 2023-01-01
- 9.0.0-alpha.13 — 2022-12-23
- 9.0.0-alpha.12 — 2022-12-20
- 9.0.0-alpha.11 — 2022-12-05
- 9.0.0-alpha.10 — 2022-12-03
- 9.0.0-alpha.9 — 2022-12-01
- … 77 more at https://npm.io/package/@luma.gl/gltools/versions

## README

<p align="right">
  <a href="https://www.npmjs.com/package/@luma.gl/core">
    <img src="https://img.shields.io/npm/v/@luma.gl/core.svg?style=flat-square&label=npm%20package" alt="npm package version" />
  </a>
  <a href="https://github.com/visgl/luma.gl/blob/master/LICENSE">
    <img src="https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square" alt="MIT license" />
  </a>
  <a href="https://www.npmjs.com/package/@luma.gl/core">
    <img src="https://img.shields.io/npm/dm/@luma.gl/core.svg?style=flat-square&label=downloads" alt="npm downloads" />
  </a>
  <a href="https://coveralls.io/github/visgl/luma.gl?branch=master">
    <img src="https://img.shields.io/coveralls/visgl/luma.gl.svg?style=flat-square&label=coverage" alt="coverage" />
  </a>
  <a href="https://github.com/visgl/luma.gl/stargazers">
    <img src="https://img.shields.io/github/stars/visgl/luma.gl.svg?style=flat-square&label=stars" alt="GitHub stars" />
  </a>
</p>

<h1 align="center">luma.gl | <a href="https://luma.gl">Docs</a></h1>

<h5 align="center">Portable WebGPU and WebGL rendering, GPU compute, and open 3D assets.</h5>

<p align="center">
  <a href="https://www.w3.org/TR/webgpu/">
    <img src="website/static/img/standards/webgpu.svg" alt="WebGPU" height="52" />
  </a>
  &nbsp;&nbsp;
  <a href="https://www.khronos.org/webgl/">
    <img src="website/static/img/standards/webgl.svg" alt="WebGL" height="52" />
  </a>
  &nbsp;&nbsp;
  <a href="https://www.khronos.org/gltf/">
    <img src="website/static/img/standards/gltf.svg" alt="glTF" height="52" />
  </a>
  &nbsp;&nbsp;
  <a href="https://www.khronos.org/anari/">
    <img src="website/static/img/standards/anari.svg" alt="ANARI" height="52" />
  </a>
</p>

<p align="center"><small>WebGPU logo by <a href="https://www.w3.org/">W3C</a>, licensed under CC BY 4.0. Khronos marks belong to The Khronos Group.</small></p>

## Overview

luma.gl is a modular GPU toolkit for the web. Its portable device API stays close to WebGPU while
supporting both WebGPU and WebGL 2, from low-level shaders and resources to physically based scenes,
open 3D assets, animation, and data visualization.

- Portable graphics resources, render pipelines, and compute capabilities where WebGPU supports
  them.
- Composable GLSL/WGSL shader modules, physically based materials, lighting, and image-based
  environments.
- Shared scenegraph, animation, morph-target, model, and resource-management primitives.
- First-class glTF 2.0 assets, physical materials, skeletal/morph animation, and supported glTF
  extensions.
- An experimental, private retained scene interface built in the spirit of the ANARI object model.

Applications can adopt the modules they need without taking on an independent renderer, a
parallel material implementation, or a monolithic scene runtime.

> **Standards identity:** The private `@luma.gl/scenes` workspace is independently developed and
> inspired by concepts from the Khronos ANARI standard. It is not an official ANARI implementation, is not certified or
> conformant, and is not affiliated with or endorsed by The Khronos Group. glTF, WebGL, and ANARI
> trademarks belong to their respective owners.

While generic enough to be used for general 3D rendering, luma.gl's mandate is primarily to support GPU needs of data visualization frameworks in the vis.gl suite, such as:

- [kepler.gl](https://github.com/keplergl/kepler.gl) a powerful open source geospatial analysis tool for large-scale data sets
- [deck.gl](https://github.com/visgl/deck.gl) a WebGL-powered framework for visual exploratory data analysis of large data sets
- [streetscape.gl](https://github.com/uber/streetscape.gl) A visualization toolkit for autonomy and robotics data encoded in the XVIZ protocol

# Installation, Running Examples etc

For details, please refer to the extensive [online website](https://luma.gl).

---
_Source: https://npm.io/package/@luma.gl/gltools · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
