LightGL輕量級的WebGL 3D渲染庫
這個庫可以更容易地快速創建WebGL應用程序原型。它比許多其它的WebGL庫更底層,它不提供場景圖(scene graph),它重新實現了OpenGL的modelview/投影矩陣堆棧,并提供類似的功能。它還重新推出GLSL的一些內置服務(如 gl_Vertex和gl_ModelViewProjectionMatrix)和OpenGL的直接模式。
編繹這個庫
python build.py: 在src目錄構建 lightgl.js
python build.py debug:內容改變后將立即從src重新編繹
python build.py release:運行時需要使用谷歌JS編譯器,假設你已經安裝了 compiler.jar
docco的src / * JS: 這是在文檔生成目錄
示例代碼
<!DOCTYPE html> <html><body> <script src="lightgl.js"></script> <script>var angle = 0; var gl = GL.create(); var mesh = GL.Mesh.cube(); var shader = new GL.Shader('\ void main() {\ gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\ }\ ', '\ void main() {\ gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);\ }\ ');
gl.onupdate = function(seconds) { angle += 45 * seconds; };
gl.ondraw = function() { gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); gl.loadIdentity(); gl.translate(0, 0, -5); gl.rotate(30, 1, 0, 0); gl.rotate(angle, 0, 1, 0);
shader.draw(mesh); };
gl.fullscreen(); gl.animate();
</script> </body></html></pre>
例子:
原文地址: github.com