2010年2月12日 星期五

Jitter Tutorial 32 Camera View 摘要

  • Jit.window 加入 @depthbuffer 1 屬性,用來製造 depth buffer。depth buffer 允許 OpenGL 算圖器決定哪一個繪圖指令根據攝影機的幾何位置,可在指定的的像素上被呈現出來 (藉此產生遠近之別)。若無 depth buffer,則 OpenGL 常使用一般所謂的「繪圖者的準則」,亦即所繪圖指令所呈現的結果是根據指令執行時的順序而定。(p.280)
  • Jit.gl.gridshape 可用來繪製各種 3D 圖形,poly_mode 1 1 屬性使所繪圖形以網格方式呈現,poly_mode 0 0 則使所繪圖形以實心方式呈現。lighting_enable $1, smooth shading $1屬性用來設定光影。(p.281)
  • 算圖物件 jit.gl.render 預設值使用 projective projection  (透視投影),與我們一般在3D世界中看物體的方式相似,鏡頭角度加大時,可看到越多範圍,物體也變得越小。另一種 OpenGL 的投影方式為 orthographic projection (正交投影),以 ortho 1 設定之,是一種在 2D 面上表示 3D 物件的呈像方式,此種投影方式不會因為 camera 的位置而使物件的大小變小,然而更改鏡頭角度 (lens_angle $1),仍然會改變整體看到的範圍以及相對於此範圍之物件大小。(p.284)
  • Clipping planes 在 3D 會圖中,用來防止算圖時計算距離觀者極遠之表面,決定沿著觀者的視線所須算圖的範圍,在 OpenGL 中有 near clipping plane 與 far clipping plane 的設定,僅有在此兩者之間的範圍會被算圖。 clipping plane 以沿著視線方向、與攝影機的距離為計算方式,預設值中,near clipping plane = 0.1, far clipping plane = 100。(p.285)
  • jit.gl.handel 為一個使用者界面物件,用來將滑鼠在繪圖目標上的動作傳給 Max 系統,亦即產生與其相連的其他GL物件之 position 與 rotation 指令。與其他 GL 物件一般,jit.gl.handle 也須指定繪圖目標名稱。control + 滑鼠拖曳,可左右移動3D物件;alt + 滑鼠拖曳,可改變3D物件與觀者的距離。以上兩者,又可以加上 shift 鍵固定拖動的方向。(p.286)

沒有留言:

張貼留言