LightGL轻量级的WebGL 3D渲染库

jopen 7年前

这个库可以更容易地快速创建WebGL应用程序原型。它比许多其它的WebGL库更底层,它不提供场景图(scene graph),它重新实现了OpenGL的modelview/投影矩阵堆栈,并提供类似的功能。它还重新推出GLSL的一些内置服务(如 gl_Vertex和gl_ModelViewProjectionMatrix)和OpenGL的直接模式。

LightGL轻量级的WebGL 3D渲染库

编绎这个库

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>

例子:


简单的旋转立方体
多纹理
第一场景相机
现场操作
OpenGL的直接模式
渲染纹理
点光源阴影贴图
实时光线追踪
构造立体几何
GPU发光源


原文地址: github.com