threejs截屏为黑色问题

更新时间: 2021-06-09 10:02:47

# 问题描述

工作的时候,有个需求是将threejs渲染的画面保存成图片,但是当我用renderer.documentElement.toDataUrl得到的始终是黑色的图片。

# 找寻原因

其实这是 webgl 缓冲数据问题,你可以理解为会不停的清空画布然后再往上画下一帧,所以截屏的时候画布被清空了得到的是黑色的。

# 解决问题

解决问题就很简单了,只需要在截屏的代码前加上renderer.render(scene, camera),就可以解决问题了