@maptalks/fusiongl

0.7.2 • Public • Published

fusion.gl

Build Status npm version

一个WebGL沙盒库,它能基于同一个WebGL Context,扩展出多个沙盒WebGL环境,方便不同WebGL框架共享同一个WebGL Context。

它的主要特性:

  • 模拟了全部WebGL1和部分WebGL2接口
  • 每个沙盒WebGLContext的状态管理
  • 切换沙盒时,自动设置WebGL Context上的状态值,例如stencil,depth,blend的相关状态
  • 性能提升,如果检测到某个WebGL语句设置的状态已经被设置过,则不去运行该指令

示例程序

import { GLContext } from '@maptalks/fusiongl';

const options = { alpha: true, depth: true };
const gl = canvas.getContext('webgl', options);
gl.wrap = () => {
  return new GLContext(this.gl);
};

// 在fusion.gl中的沙盒Context上创建Three的renderer
const renderer = new THREE.WebGLRenderer({ 'context': gl.wrap(), alpha: true });

Readme

Keywords

none

Package Sidebar

Install

npm i @maptalks/fusiongl

Weekly Downloads

166

Version

0.7.2

License

UNLICENSED

Unpacked Size

30 kB

Total Files

4

Last publish

Collaborators

  • fuzhenn