基於three.js的shader入門教程 九

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才能從幀緩衝區把東西弄出來。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章