如何将拆分为三个文件的 WebGL 代码"require"为一个引导程序文件?



我已经编写了一些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项目中,您可以看到一个简单的例子。

最新更新