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(); } }