LightGL轻量级的WebGL 3D渲染库
jopen
9年前
这个库可以更容易地快速创建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>
例子:
简单的旋转立方体
多纹理
第一场景相机
现场操作
OpenGL的直接模式
渲染纹理
点光源阴影贴图
实时光线追踪
构造立体几何
GPU发光源
原文地址: github.com