Я использую 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 (12 ГБ) никуда не годится при запуске.
Каково теоретическое максимальное разрешение для webgl и на что оно зависит?
Возможно, вы захотите также проверить наличие ошибок, вызвав 'gl.getError()' – gman