2012年7月12日 星期四

Introduction to Stage3D: Part3

Stage3D 基本介紹及教學
物件透過變形與透視可以呈現出 3D 顯示效果,

Matrix3D 處理 3D 變形
m = new Matrix3D();
沿著 Y 軸旋轉
m.appendRotation(getTimer()/30, Vector3D.Y_AXIS);
沿著 X 軸旋轉
m.appendRotation(getTimer()/10, Vector3D.X_AXIS);
沿著 Z 軸方向平移 2
m.appendTranslation(0, 0, 2);


PerspectiveMatrix3D 處理 3D 透視
projection = new PerspectiveMatrix3D();
建立 3D 透視空間
45 度: fieldOfView 介於 0 和 180 度之間的角度(角度愈大顯示物件愈小)
4/3: 長寬比例
0.1: 最小 Z 值
1000: 最大 Z值
projection.perspectiveFieldOfViewLH(45*Math.PI/180, 4/3, 0.1, 1000);
最後加上透視矩陣
m.append(projection);
最後計算出來的矩陣 m 設定為 vc0,AGAL 運算會用到
context.setProgramConstantsFromMatrix(Context3DProgramType.VERTEX, 0, m, true);
最後 render 結果,輸出到螢幕。

沒有留言:

張貼留言