three.jsでのviewport領域のclearについて

ビューポートを変更しながら描画しても一度に全体を描画しないと消えるのを回避するには
preserveDrawingBufferをtrueにする
部分描画のときに全体クリアがはしるのを防ぐにはautoClearをfalseにする

var renderer = new THREE.WebGLRenderer({
                    preserveDrawingBuffer: true
                });
renderer.autoClear = false;

ビューポートを設定したあとその領域だけクリアして描画するには以下のようにする。

renderer.setViewport(rect.x, rect.y, rect.w, rect.h);
renderer.setScissorTest(true);
renderer.setScissor(rect.x, rect.y, rect.w, rect.h);
renderer.clear();
renderer.setScissorTest(false);
renderer.render(scene, camera);

今のところ正常に動いてるっぽい。