G3D - 基于 WebGL 的 Javascript 3D 绘图引擎


Apache 2.0
跨平台
JavaScript

软件简介

G3D 是阿里巴巴开源的一款基于 WebGL 的 javascript 3D 绘图引擎。与其他的 WebGL 3D 引擎相比,G3D
是更加「纯粹」的渲染引擎,也就是说,它完全不依赖任何 DOM API,而是仅仅依赖一个 canvas 对象(或者类 canvas 对象)。该特性使得 G3D
不仅能够运行在浏览器环境中,也能够运行在一些非浏览器的 js 终端环境下(hybrid 环境),比如 GCanvas 环境(基于 Weex 或
ReactNative)。

Try play with G3D

function run(G3D, canvas){

    // create 3d engine
    const engine = new G3D.Engine(canvas);    // create a scene
    const scene = new G3D.Scene(engine);    
    // create camera
    const camera = new G3D.ArcRotateCamera(scene);
    camera.alpha = 45;
    camera.beta = 30;
    camera.radius = 12;
    camera.fov = 60;    
    // create 3 lights
    const light1 = new G3D.DirectionalLight(scene);
    light1.direction.x = -1;
    light1.direction.y = 0;
    light1.direction.z = 1;    
    const light2 = new G3D.HemisphereLight(scene);    
    // create mesh
    const mesh = G3D.MeshBuilder.createCube(scene, 6);    
    Object.assign(mesh.materials.default.diffuseColor, {r: 200, g: 100, b: 100});    Object.assign(mesh.materials.default.specularColor, {r: 200, g: 100, b: 100});
    mesh.materials.default.glossiness = 10;    
    return function () {
        mesh.rotation.y +=1;
        scene.render();
    }
}