我已经编写了一些WebGL代码,实际上我正在使用这里的示例。不管怎样,我决定写三个独立的伪类,我只在这里显示其中一个,以保留空间,因为我认为其他类与问题无关。
var Buffer = (function() {
/* PRIVATE MEMBERS */
var currentBuffer;
var itemSize = 3;
var numberItems;
var localWebGLContext;
/* CONSTRUCTOR */
var BufferConstructor = function(webGLWorker, vertices) {
localWebGLContext = webGLWorker.getWebGLContext();
currentBuffer = localWebGLContext.createBuffer();
localWebGLContext.bindBuffer(localWebGLContext.ARRAY_BUFFER, currentBuffer);
localWebGLContext.bufferData(localWebGLContext.ARRAY_BUFFER, new Float32Array(vertices), localWebGLContext.STATIC_DRAW);
numberItems = vertices.length / itemSize;
};
return BufferConstructor;
})();
所以我想知道什么是最好的方式,我可以将它们包含(要求)在一个单独的文件中,这个文件将引导一切。我读过关于CommonJS的文章,但这是在服务器端,这里我们谈论的是客户端。我真的不想把所有东西都放在一个文件里,因为我想做的最终会成为一个很大的应用程序,我真的也不想把它们都放在同一个地方。提前感谢!
对于我的WebGL项目,我使用Require.js。语法不如Node的CommonJS实现好,但它与客户端的异步特性配合得很好。快速示例:
require([
"renderer",
"util"
], function(Renderer, Util) {
// Use the code from your required files in here!
});
为其定义一个模块也同样简单:
define([
"matrix" // Dependencies for this module
], function(Matrix) {
return {
DrawSuff: function() { /*...*/ }
}
});
在WebGL项目中,您可以看到一个简单的例子。