原创 OpenGL構建簡單物體

1.幾何圖形類 1.1點 1.2平面圓 1.3圓柱體 2.物體構建器 2.1用三角扇(GL_TRIANGLE_FAN)構造圓 2.2用三角形(GL_TRIANGLE_STRIP)構造圓柱體側面 3.將要生成的物體封裝

原创 OpenGL調節屏幕的寬高比

1.正交投影 投影線垂直於投影面的投影屬於正交投影 ,也稱爲平行投影。一般2D畫面採用這種投影方式。 2.orthoM(m, mOffset, left, right, bottom, top, near, far)方法 該

原创 OpenGL天空盒

1.把立方體貼圖加載到OpenGL中,貼圖選擇大小相同的正方形圖片,立方體貼圖的慣例是:在立方體內部使用左手座標系統,而在立方體外部使用右手座標系統。 2.創建立方體,使用索引數組繪製,減少內存使用 3.增加天空盒着色

原创 操作型模式之Interpreter(解釋器)模式

1.如果你期望各個類都實現一個操作,對每種不同的組合結構使用不同的操作實現,可使用Interpreter(解釋器)模式 2.舉例 //抽象表達式 public abstract class Expression { ab

原创 OpenGL ES 2.0結合着色器開發

1.步驟 1.1創建GLSurfaceView實例 1.2檢查系統是否支持opengl es2.0 1.3爲opengl es2.0配置渲染表面(即創建自定義渲染器,主要的相關操作都在此處進行) 1.4.顯示GLSurfa

原创 OpenGL紋理使用

1.紋理座標(UV紋理座標) 1.1可以通過調整紋理座標或者通過拉伸或壓扁紋理本身來適應被繪製的形狀 1.2計算機圖像默認座標 2.opengl紋理過濾模式 參考:http://blog.csdn.net/pizi04

原创 擴展型模式之Visitor(訪問者)模式

1.如果你期望允許開發者定義新操作,而無需更改類層次,可使用Visitor(訪問者)模式 2.舉例 //訪問者接口 interface IVisitor { void visit(Node node); } //節點抽象

原创 OpenGL粒子系統

1.粒子在內存的佈局(座標、顏色、向量、創建時間) float[] particels position.x <—- particel0 position.y position.z color.r color.g

原创 OpenGL添加觸控

1.glSurfaceView添加監聽觸控事件 //4.glSurfaceView添加監聽觸控事件 glSurfaceView.setOnTouchListener(new OnTouchListener() {

原创 擴展型模式之Decorator(裝飾器)模式

1.如果你期望允許開發者動態組合對象的行爲,可使用Decorator(裝飾器)模式 2.舉例 //人接口:Component角色 public interface Person { void doSomethings()

原创 OpenGL光照

1.不同光源分類 1.1環境光(Ambient light):天空 1.2方向光(Directional light):太陽、月亮 1.3點光(Point light):燈泡、蠟燭 1.4聚光(Spot light):手電

原创 擴展型模式之Iterator(迭代器)模式

1.如果你期望提供順序地訪問集合元素的方法,可使用Iterator(迭代器)模式 2.舉例 //迭代器接口 interface Iterator { Object next(); boolean hasNext(

原创 Android屏幕內容製作成GIF圖方式

1.方式 1.1方式一:先把App操作過程錄製成視頻,然後根據視頻轉換成Gif 參考:http://www.jb51.net/article/78236.htm 1.2方式二:採用截屏的方式得到bitmaps數組,然後根據b

原创 操作型模式之Strategy(策略)模式

1.如果你期望封裝一個操作,使其實現可以互相替換,可使用Strategy(策略)模式 2.舉例 //策略抽象類 public abstract class Strategy { abstract void doIt();

原创 OpenGL繪製地形

1.創建頂點緩衝區對象(VertexBuffer) 2.創建索引緩衝區對象(IndexBuffer) 3.加載高度圖(Heightmap) 3.1把位圖像素轉換爲高度圖數據(頂點數據):高度圖在每個方向上都是1個單位寬,且其