這邊推薦一下個人覺得不錯的iOS OpenGL Programming的教學網站
http://iphone-3d-programming.labs.oreilly.com/
個人覺得寫得不錯
若不習慣看網頁的話 它也有出實體書 (天瓏有在賣)
2011年2月26日 星期六
2011年2月6日 星期日
WonderWitch #1
以前的筆記...手動compile/link wonderwitch program...
這邊備份一下
compile + link
%lsic86ww%\bin\lcc86.exe -noconf -X%lsic86ww%\bin -T%TEMP% -B -cn -I%wwitch%\include -I%lsic86ww%\include -DLSI_C_WW -DLSI_C -O -L%wwitch%\lib -L%lsic86ww%\lib -k"-Fc -T 20000 -TDATA 10000" -o %project%.bin %source% -a%crt0% -llibww -llibwwc -lruntime
link only
C:\WWitch\lsic86ww\bin\lld.exe -LC:\WWitch\lib -LC:\WWitch\lsic86ww\lib\s -Fc -T 20000 -TDATA 10000 -o sound1.bin sound1.obj test.obj -ls/crt0jpn2.obj -ls/libww -ls/libwwc -ls/runtime
當初研究很久...
這邊備份一下
compile + link
%lsic86ww%\bin\lcc86.exe -noconf -X%lsic86ww%\bin -T%TEMP% -B -cn -I%wwitch%\include -I%lsic86ww%\include -DLSI_C_WW -DLSI_C -O -L%wwitch%\lib -L%lsic86ww%\lib -k"-Fc -T 20000 -TDATA 10000" -o %project%.bin %source% -a%crt0% -llibww -llibwwc -lruntime
link only
C:\WWitch\lsic86ww\bin\lld.exe -LC:\WWitch\lib -LC:\WWitch\lsic86ww\lib\s -Fc -T 20000 -TDATA 10000 -o sound1.bin sound1.obj test.obj -ls/crt0jpn2.obj -ls/libww -ls/libwwc -ls/runtime
當初研究很久...
標籤:
Programming,
Wonderwitch
2011年2月1日 星期二
iOS dev / My 2D game engine dev筆記 #1
iOS Application的生命週期說明
The core application design
其實大多iOS dev的書都不去提這個東西,但個人覺得瞭解這些東西會對iOS dev很有幫助。
瞭解iOS Application的生命週期後,就可以開始規劃整個engine的運作流程。
基本上大致概念就是engine產生一GLView,將此View加入為某一window的subview,然後讓此window makeKeyAndVisable,此GLView就能被顯示在螢幕上。
另外透過NSThread撰寫一GameLoop物件並且在GLView正式被顯示在畫面上後啟動此gameloop物件,遊戲就能開始運作。至於遊戲相關的流程控制及運作都在gameloop內控制好即可。
外部只須視目前系統呼叫的methods來作對應gameloop的暫停或啟動等動作。
想法是各個遊戲可以implement自己的gameloop物件,但engine也有提供一範本供開發人員使用。
Engine內部大致分為幾個部份:
GLView, GraphManager, RenderManager, AudioManager, AnimationManager, InputManager
1.GLView主要功能就是初始化opengl相關的設定,建立framebuffer與相關renderbuffer,並能提供GLSharegroup給gameloop thread使用。
2.GraphManager主要功能就是載入外部圖檔成為texture讓RenderManager內的各method能夠利用
3.RenderManager主要就是提供各種繪圖method,如DrawPixel, DrawLine, DrawRectangle, DrawGraph等等。畫面更新部份則交由GLView去更新。
4.AudioManager主要就是放音與錄音。目前是用OpenAL實作。
5.AnimationManager播放由Graph所組成的動畫,會自成一個thread來更新目前frame。
6.InputManager接收使用者的輸入,如按鍵或觸控螢幕。
Engine本體使用Singleton來撰寫。
Objective-C的Singleton撰寫方式可以看此連結的討論或是Apple官方Creating a Singleton Instance的說明
The core application design
其實大多iOS dev的書都不去提這個東西,但個人覺得瞭解這些東西會對iOS dev很有幫助。
瞭解iOS Application的生命週期後,就可以開始規劃整個engine的運作流程。
基本上大致概念就是engine產生一GLView,將此View加入為某一window的subview,然後讓此window makeKeyAndVisable,此GLView就能被顯示在螢幕上。
另外透過NSThread撰寫一GameLoop物件並且在GLView正式被顯示在畫面上後啟動此gameloop物件,遊戲就能開始運作。至於遊戲相關的流程控制及運作都在gameloop內控制好即可。
外部只須視目前系統呼叫的methods來作對應gameloop的暫停或啟動等動作。
想法是各個遊戲可以implement自己的gameloop物件,但engine也有提供一範本供開發人員使用。
Engine內部大致分為幾個部份:
GLView, GraphManager, RenderManager, AudioManager, AnimationManager, InputManager
1.GLView主要功能就是初始化opengl相關的設定,建立framebuffer與相關renderbuffer,並能提供GLSharegroup給gameloop thread使用。
2.GraphManager主要功能就是載入外部圖檔成為texture讓RenderManager內的各method能夠利用
3.RenderManager主要就是提供各種繪圖method,如DrawPixel, DrawLine, DrawRectangle, DrawGraph等等。畫面更新部份則交由GLView去更新。
4.AudioManager主要就是放音與錄音。目前是用OpenAL實作。
5.AnimationManager播放由Graph所組成的動畫,會自成一個thread來更新目前frame。
6.InputManager接收使用者的輸入,如按鍵或觸控螢幕。
Engine本體使用Singleton來撰寫。
Objective-C的Singleton撰寫方式可以看此連結的討論或是Apple官方Creating a Singleton Instance的說明
標籤:
Game,
iPhone,
Programming
訂閱:
文章 (Atom)