2010年2月27日 星期六

Jitter Tutorial 37 Geometry Under the Hood 摘要

  • maxtrixoutput $1 指令用來指定是否GL物件的 geometry 資料是直接在相關的物件中做算圖,或是使其由物件的左下方輸出口送出陣列 (geometry matrix)。一般而言,jitter matrix 是以四個 plane 的 character data 的方式表示,但 geometry matrix 則是以 float32 的格式表示,包含 3, 5, 8, 12, 或 13 個 plane。plane 0-2 指定 x, y, z 的位置,plane 3-4 指定貼圖的座標 s 與  t,plane 5-7 指定 normal vector nx, ny, nz 藉以用來計算燈光效果,plane 8-11 則用來指定 RGBA 的 vertex color,plane 12 指定 edge flag e (註:Edge flags 是用來標明 vertex 是否在 boundary edge 上)。jit.gl.gridshape 的陣列輸出有 12 個 plane,範例中的 plane 3-12被忽略)。
  • 利用 matrixoutput 1 指令連接至 jit.gl.gridshape, jit.gl.nurbs, jit.gl.plato 等物件,可以將3D物件的輸出,轉變成 Jitter 陣列資料,而得以運用非 3D 的 jitter 運算物件來處理之。(p.327)
  • jit_matrix [matrix-name] [drawing primitive] 訊息指令(亦即在陣列的輸出資料之後,補上所指定的圖元)被送往 jit.gl.render 物件時,可以使 jit.gl.redner 依照該指令所指定的圖元(primitive) 來繪圖。若沒有指定圖元時,則會使用當前 jit.gl.render 物件所使用的圖元來繪圖。有效的圖元可包括:points, lines, line_strip, line_loop, triangles, tri_strip, tri_fan, quads, quad_strip, polygon, tri_grid, quad_grid。此時也可以藉由下 dim $1 $2 指令給 jit.gl.gridshape,藉此設定輸出的陣列之維度(預設值為 20 x 20)。
  • jit.gl.handel 直接連接至 jit.gl.render,而非 jit.gl.gridshape ,主要目的在於使 jit.gl.handel 可用來對整體場景做旋轉、位置改變等。 但此時需在 jit.gl.handle 的屬性中加上 inherit_transform 1 訊息指令,以避免旋轉時的算圖上所產生的不正確混淆。

沒有留言:

張貼留言