我现在正努力学习WebGL和JavaScript,因为我想使用图形化编程技巧来创建3D web应用程序。我已经习惯了用OpenGL进行C++编程。
现在,在做一些教程时,我遇到了一些变量,据我所见,这些变量既不是在任何地方声明的,也不是从其他脚本中包含的。以下是两个例子:
khronos wiki教程经常使用变量g,例如:
g.program = simpleSetup( /* ... */ );g从未在此范围内声明过。如何找出它所代表的意义?当然,谷歌不会对'g‘或'javascript g’进行太多搜索。
另一个例子是体素初学者指南,它使用mat4,从如下所示开始:
mat4.identity(mvMatrix);由于了解了OpenGL,我理解这一行代码:从模型视图获取标识矩阵,但是mat4从哪里来?在我自己的项目中使用这一行代码会破坏我的脚本。谷歌为“mat4”这份文件提供了产品,但它也表示只需使用:
mat4.create();..。如果不采取进一步的措施,这显然是行不通的。
我在这里错过了什么?当我在示例/教程/文档中看到未知变量时,是否总是需要猜测/挖掘?如何在我的脚本中包括mat4?什么是g?
请给我解释一下。
发布于 2013-07-10 17:02:42
关于变量"g“的问题,它只是一个全局可访问的变量,包含了许多其他有用的变量。
在全局范围内,声明var g = {};,然后通过执行g.myGlProgram = simpleSetup(...)或g.myVertexBuffer = ctx.createBuffer(...)将成员添加到g
这只是一个不错的JavaScript技巧
发布于 2013-07-10 06:16:48
我发现mat4来自js/math/gl-matrix-min.js
下面是我如何使用谷歌Chrome做这件事:
mat4,结果看起来它不是一个内置对象,因为我可以看到紧凑的源代码mat4.set mat4.transpose ..。哦,第一行建议源代码来自https://github.com/toji/gl-matrix/
https://stackoverflow.com/questions/17563369
复制相似问题