我最近在我的WebGLRenderer创建中添加了preserveDrawingBuffer:true,以便能够通过toDataUrl()生成屏幕截图。 但是,现在我的画布保持白色,直到我手动调整窗口(以及渲染器)的大小,然后渲染才能正常工作。
我正在使用以下选项创建WebGLRenderer:
renderer = new THREE.WebGLRenderer({
preserveDrawingBuffer: true,
antialias: true
});
如果省略antialias或preserveDrawingBufffer,则立即渲染场景。
可以通过https://jsfiddle.net/ytdoo72k/8/来访问使用three.js v68的精简示例 Firefox v36显示了上述行为,chrome v41似乎有效。
https://jsfiddle.net/ytdoo72k/9/使用r71并显示一些奇怪的白色矩形。