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

联合创作 · 2023-09-29 19:12

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();
    }
}
浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报