threejs交流羣511163089
上回說到這個後期,可以塗鴉,或許你的作品是一張靜止的很好看的圖片,所以想要保留吶,咋個將圖片弄到本地吶。
let pixelBuffer = new Uint8ClampedArray(4 * w * h);
renderer.readRenderTargetPixels(renderTarget, 0, 0, w, h, pixelBuffer);
let imgData = new ImageData(pixelBuffer, w, h);
createImageBitmap(imgData).then(function (bmp) {
let canvas = document.createElement('canvas');
canvas.width = w;
canvas.height = h;
let context = canvas.getContext('2d');
context.drawImage(bmp, 0, 0, w, h);
let url = canvas.toDataURL('image/png');
});
利用了ImageBitMap這個東西,將rendertarget的紋理內容讀入buffer,這裏我只知道用renderer來讀取這一種方法。至於別的辦法,當然你也可以把那副畫弄到默認繪製緩衝區,然後直接把畫布導出。
吶,需要綁定frameBuffer才能從幀緩衝區把東西弄出來。