私はheadless-glをノードと共に使用して、サーバ側で高解像度のWebGLイメージをレンダリングしています。これは、選択した解像度に応じて正常に動作します。幅/高さがpixels
アレイはRGBAピクセルのための唯一のゼロ値で満たされる値増加のいくつかの時点後WebGLの最大解像度?空のピクセルを返すgl.readPixels
'use strict';
const Gl = require('gl');
const width = 7200;
const height = 10800;
// Setup renderer using headless-gl
const gl = Gl(width, height, { preserveDrawingBuffer: true })
// Clear screen to red
gl.clearColor(1, 0, 0, 1)
gl.clear(gl.COLOR_BUFFER_BIT)
// Get pixels
const pixels = new Uint8Array(width * height * 4);
gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, pixels);
// Is first color indeed red?
if (pixels[0] === 255) {
console.log('OK');
}
process.exit();
。私はどこかでメモリ/バッファ制限を打っていると推測していますが、どちらが確実かわかりません。 nvidia-smiによると、これを実行するとGPUメモリ(12GB)は枯渇することはありません。
webglの理論上の最大解像度は何ですか?それは何に依存していますか?
また、 'gl.getError()'を呼び出してエラーをチェックしたいかもしれません。 – gman