opengl的版本
os系統預設支援opengl es1.0、es2.0以及es3.0 3個版本,三者之間並不是簡單的版本公升級,設計理念甚至完全不同,在開發opengl專案前,需要根據業務需求選擇合適的版本。通過eaglcontext指定es版本號
eaglcontext *mcontext = [[eaglcontext alloc] initwithapi:keaglrenderingapiopengles2]; 還有1.0和3.0opengl座標系
opengl座標系不同於uikit座標系,其實它是這樣的
glkviewcontroller & glkview
系統對opengl進行了簡單的封裝,繼承glkviewcontroller定義了自己的viewcontroller,clkviewcontroller的view為clkview類
glkviewcontroller渲染並非nsrunloopcommonmodes,而是nsdefaultloopmode,因此在uikit使用clkviewcontroller,當滑動介面的時候,opengl是不會渲染的
eaglcontext
eaglcontext與uikit中的cgcontextref相識,eaglcontext相當於opengl繪製控制代碼或者上下文,在繪製圖之前需要指定使用建立的上下文繪製。
[eaglcontext setcurrentcontext:self.mcontext];渲染場景的**
- (void)glkview:(glkview *)view drawinrect:(cgrect)rect {glclear-清除viewport的快取區glclearcolor(0.3f, 0.6f, 1.0f, 1.0f);
glclear(gl_color_buffer_bit | gl_depth_buffer_bit);
//啟動著色器
[self.meffect preparetodraw];
gldrawelements(gl_********s, self.mcount, gl_unsigned_int, 0);
gl_api void gl_apientry glclear (glbitfield mask);
gl_api void gl_apientry glclearcolor (glfloat red, glfloat green, glfloat blue, glfloat alpha);// 清除顏色的設定
gl_api void gl_apientry glcleardepthf (glclampf depth);
gl_api void gl_apientry glclearstencil (glint s);
gl_color_buffer_bit: 當前可寫的顏色緩衝
gl_depth_buffer_bit: 深度緩衝
gl_accum_buffer_bit: 累積緩衝
gl_stencil_buffer_bit: 模板緩衝
OpenGL學習筆記 動畫基本概念
幀速 一秒鐘展現的畫面超過24幅,人眼就會以為是連續的。平時 的電視,一般是25到30幅之間。對乙個正常人來說,每秒60到120幅圖畫是最合適的,速度過快,人眼就反應不過來了。換而言之,整個動畫的速度,往往取決於顯示時間最慢的那個畫面。如果用c語言偽 來描述這一過程,就是 for i 0 i 這個w...
基本概念 C 基本概念
由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...
基本概念 數控系統基本概念
第一章 基本概念 數控工具機cnc是一種按事先編制好的加工零件程式進行加工的高效 自動化加工裝置。是 computer numerical control machine tools 的簡稱。數控工具機較好地解決了複雜 精密 小批量 多品種的零件加工問題,是一種柔性的 高效能的自動化工具機。西門子系...