我正在尝试在WebGl中进行挑选。我渲染了两个形状,每个形状都映射了不同的纹理。我试图在某些坐标上抓取像素。这是示例。varpixelValues=newUint8Array(4);gl.readPixels(10,35,1,1,gl.RGBA,gl.UNSIGNED_BYTE,pixelValues);console.log(pixelValues);但是像素值总是包含[0,0,0,0]。我究竟做错了什么?我需要做一些与帧缓冲区相关的事情吗? 最佳答案 您不需要preserveDrawingBuffer:true来调用readPi
我正在使用headless-gl在Node.js上运行webGL,在服务器上动态创建图像。创建后,图像将存储在数据库(MongoDB)中,然后用户可以通过API再次访问图像。下面是生成图片的部分:varpixels=newUint8Array(width*height*4)gl.readPixels(0,0,width,height,gl.RGBA,gl.UNSIGNED_BYTE,pixels)然后将像素转换为base64(因为这似乎是在客户端HTML中由Image加载的推荐方式)。varbase64Image=newBuffer(pixels,'binary').toString(
我正在使用headless-gl在Node.js上运行webGL,在服务器上动态创建图像。创建后,图像将存储在数据库(MongoDB)中,然后用户可以通过API再次访问图像。下面是生成图片的部分:varpixels=newUint8Array(width*height*4)gl.readPixels(0,0,width,height,gl.RGBA,gl.UNSIGNED_BYTE,pixels)然后将像素转换为base64(因为这似乎是在客户端HTML中由Image加载的推荐方式)。varbase64Image=newBuffer(pixels,'binary').toString(