LightGL轻量级的WebGL 3D渲染库


发布者 ourjs  发布时间 1433988826711
关键字 JS开源  开源 
这个库可以更容易地快速创建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发光源






回复 (3)
  • #
  • #1 曾行成 1434292269180

    汗!编辑也太不认真了吧!“编译”都写“编绎”了。

  • #2 ourjs 1434292591377

    @曾行成 #0

    感谢指出,已经更正

  • #3 open-node 1434342580490

    这个代码也太丑了吧。

微信扫码 立即评论




 热门文章 - 分享最多
  1. 我是怎么从顾虑到热爱ReactJS的(与AngularJS经典MVC数据绑定的对比)
  2. 基于JavaScript的DDoS首次通过安全的浏览器发动攻击(百度被劫持攻击Github的原理和过程)
  3. 编写高性能HTML网页应用
  4. 几款开源的图形化Redis客户端管理软件
  5. WordPress 4.3核心功能将放弃PHP并使用Node.JS重写[4.1]
  6. JavaScript变量作用域(Variable Scope)和闭包(closure)的基础知识
  7. Image Lazy Load:那些延时加载图片的开源插件(jQuery)
  8. 创建自定义的jQuery补间动画运动函数及其实现的数学原理
  9. JSON序列化(stringify)对象时排除某些属性的两种方法
  10. JavaScript中的哈希表(Hash Maps的最佳实践)

 相关阅读
  1. JSGraphs目前最全的JavaScrtip开源图表库集合
  2. Waveform基于JavaScript的开源多声道音乐波形编辑器
  3. Image Lazy Load:那些延时加载图片的开源插件(jQuery)
  4. NativeScript的竞争者React Native:又一个用JavaScript写原生iOS应用的项目
  5. 6款基于Node.JS的开源内容管理和静态网站生成系统
  6. trim-html:NodeJS的HTML文本截取库(自动生成正文摘要)
  7. history.js 一个无刷新就可改变浏览器栏地址的插件(不依赖jquery)
  8. 使用Node.JS监听文件夹变化
  9. 服务器端(NodeJS)使用jQuery选择器操作DOM(HTML/XML)
  10. Oracle发布官方版Node.JS数据库驱动

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA