我使用headless-gl与节点一起在服务器端渲染高分辨率生成的WebGL图像。这取决于所选的分辨率,工作正常。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();
后增加的宽度/高度的一些点值的pixels阵列填充有仅零为RGBA像素值。我猜测我在某处遇到内存/缓冲区限制,但我不确定哪一个。根据nvidia-smi的说法,GPU内存(12GB)在运行时无处不在。
webgl的理论最大分辨率是多少?它依赖于什么?
+0
您可能还想通过调用'gl.getError()' –