gpt4 book ai didi

javascript - WebGL 最大分辨率? gl.readPixels 返回空像素

转载 作者:太空宇宙 更新时间:2023-11-04 02:11:52 26 4
gpt4 key购买 nike

我正在使用headless-gl与 Node 一起在服务器端渲染生成的高分辨率 WebGL 图像。根据所选的分辨率,这可以正常工作。

'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 的理论最大分辨率是多少?它取决于什么?

最佳答案

存在最大视口(viewport)大小,该大小与 GPU 内存量无关。

您可以使用gl.getParameter查看限制:

console.log(gl.getParameter(gl.MAX_VIEWPORT_DIMS))
console.log(gl.getParameter(gl.MAX_RENDERBUFFER_SIZE))

我的猜测是您达到了 MAX_VIEWPORT_DIMS 限制。

关于javascript - WebGL 最大分辨率? gl.readPixels 返回空像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41722799/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com