同一個場景中能夠有多個攝像機,同一個屏幕緩衝區能夠分塊繪製不一樣的物體。canvas
WeblGLRender 中autoClear 設定爲false以後, 每次繪製不會清空緩衝區;函數
setSize 設定canvas的大小date
setViewport 設定繪製的位置的大小構造函數
clear() 手動清空繪製緩衝區margin
例若有兩個攝像機A B;top
將autoClear設定爲false,移動
在繪製函數中 di
開始手動清空緩衝區clear()co
setViewport (0 0, Width/2, height) 左側能夠繪製第一個攝像機的看到的場景,background
render()
setViewport(width/2, 0, width/2, height) 右側能夠繪製第二個攝像機的場景
render()
這樣就能夠在一個屏幕上繪製兩個攝像機的看到的場景。
CameraHelper:
THREE 中有 CameraHelper類能夠幫助肯定場景中攝像機的位置,和可視見範圍, 本質上是一個場景節點。
CameraHelper 自己是一個Object3D, 能夠做爲攝像機的子節點, 這樣就能夠保證和攝像機一塊兒移動。
CameraHelper的update函數, 當觀察的攝像機參數改變, 好比fov, far平面, 則須要更新helper的狀態。
構造函數 CameraHelper(camera) 傳入要觀察的攝像機