При попытке сохранить изображение из three.js WebGL делают это выходит совершенно пустой, но она возвращает тонны символов:Three.js toDataUrl пустой
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAK8AAADICAYAAACeY7GXAAADt0lEQ…IF4M2+znB4GcgWgDf7OsPhZSBbAN7s6wyHl4FsAXizrzP8AS/TAMmecuTCAAAAAElFTkSuQmCC
У меня есть набор preserveDrawingBuffer истина, как так:
renderer = new THREE.WebGLRenderer({
alpha: true,
antialias: true,
preserveDrawingBuffer: true
});
И это, как я называю toDataUrl:
var getImageData = false;
function render() {
//camera.position.x += (mouseX - camera.position.x) * .005;
//camera.position.y += (- mouseY - camera.position.y) * .005;
camera.lookAt(scene.position);
renderer.render(scene, camera);
if(getImageData == true){
imgData = renderer.domElement.toDataURL("image/png");
window.setTimeout(10);
console.log(imgData);
getImageData = false;
}
requestAnimationFrame(render);
}
getImageData = true;
И вот что полотно выглядит до визуализации к изображению:
CanvasCode
<canvas width="175" height="200" style="width: 175px; height: 200px"></canvas>
Честно говоря, я не уверен, что еще сказать, кроме, какие-либо идеи относительно того, почему изображение подходит как совершенно пустой? Функция render() - это последняя вещь в нижней части кода.
Я до сих пор не могу получить его, чтобы сделать изображение, я гугл вокруг и пытался несколько различных способы сделать это, все еще все пути делают пустой образ. –