2

我已经编写了一些 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 的文章,但这是在服务器端,我们在这里谈论的是客户端。我真的不想将所有内容都保存在一个文件中,因为我想要做的最终将是一个非常大的应用程序,我真的不希望将所有内容都放在一个地方。提前致谢!

4

1 回答 1

1

对于我的 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 项目的简单示例。

于 2012-03-18T14:21:24.327 回答