Headless-glはWebGLのみを提供します。それは
var images = require('images');
var img = images('/path/to/img.jpg');
var raw = img.toBuffer(images.TYPE_RAW);
var pixels = new Uint8Array(raw.buffer, 12); // skip the raw header
を動作するはずのWebGL自体の一部ではない画像の読み込みを提供しない、画像がHTML5
の一部であるあなたは、このようなデータ何かをロードし、取得するにはimages package
を試すことができません
これで、画像
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, img.width(), img.height(),
0, gl.RGBA, gl.UNSIGNED_BYTE, pixels);
をアップロードするか、画像
用のWebGL APIをエミュレートするためのラッパーを作ることができます
gl.texImage2D = function(origFn) {
return function(bind, mip, internalFormat) {
var width;
var height;
var border;
var format;
var type;
var data;
if (arguments.length === 9) {
// sig1: bind, mip, internalFormat, width, height, border, format, type, data
width = arguments[3];
height = arguments[4];
border = arguments[5];
format = arguments[6];
type = arguments[7];
data = arguments[8];
} else if (arguments.length === 6) {
// sig2: bind, mip, internalFormat, format, type, image
format = arguments[3];
type = arguments[4];
img = arguments[6];
var raw = img.toBuffer(images.TYPE_RAW);
data = new Uint8Array(raw.buffer, 12); // skip the raw header
width = img.width();
height = img.height();
border = 0;
} else {
throw "Bad args to texImage2D";
}
gl.texImage2D(bind, mip, internalFormat, width, height,
border, format, type, data);
};
}(gl.texImage2D);
readmeはhttps://github.com/stackgl/headless-gl#how-are-image-and-video-elements-implemented –