研究生: |
許志遠 Chih-Yuan Hsu |
---|---|
論文名稱: |
OpenGL ES著色語言於Android之應用與分析 Application and Analysis of OpenGL ES Shading Language on Android |
指導教授: |
張鈞法
Chang, Chun-Fa |
學位類別: |
碩士 Master |
系所名稱: |
資訊工程學系 Department of Computer Science and Information Engineering |
論文出版年: | 2013 |
畢業學年度: | 101 |
語文別: | 中文 |
論文頁數: | 46 |
中文關鍵詞: | 馮式著色 、凹凸映射 、紋理映射 、立方環境映射 、安卓 、開放式圖形語言於嵌入式系統 |
英文關鍵詞: | Phong Shading, Bump Mapping, Relief Mapping, Cube Mapping, Android, OpenGL ES |
論文種類: | 學術論文 |
相關次數: | 點閱:675 下載:6 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
Android發展自2003年,廣用於手機、平板等mobile裝置,其市占率於2013年已達75%,可見其重要性。在使用者對於解析度、畫質等需求越高的情況下,純粹使用2D繪圖已稍嫌不足夠,如何將3D繪圖加以應用已為趨勢。
嵌入式系統在硬體上較受限制,所以我們考量如何在效能與畫質兼具的情況下達到3D視覺效果,經過介紹OpenGL ES的繪圖環境,本論文透過使用OpenGL ES Shading Language(GLSL ES),讓3D繪圖的應用在Android有更大的展現,實現Phong Shading、Bump Mapping、Relief Mapping、Cube Mapping等不同的繪圖(render)方式,分別介紹不同繪圖理論及作法。
除了上述提供各種適用於嵌入式的繪圖作法外,透過實作的FPS測量數據以提供硬體規格上效能考量的切換,並可作為程式開發人員選用何種繪圖方式開發的參考依據,另外,介紹Android NDK(Android Native Development Kit),由C++所寫的程式專案能夠過NDK移植到Android,帶來另一種在Android上開發3D繪圖的想法。
參考文獻
[Bli78] Blinn, J.-F.: Simulation of Wrinkled Surfaces, Computer Graphics, Vol. 12 (3), pp. 286-292 SIGGRAPH-ACM, August 1978.
[BM08] Blythe, D., Munshi, A.: OpenGL ES Common/Common-Lite Profile Specification Version 1.1.12 (Difference Specification) (Annotated), 2008.
[Gre86] Greene, N.: Environment mapping and other applications of world projections, 1986.
[Mik08] Mikkelsen, M.: Simulation of Wrinkled Surfaces Revisited, March 26, 2008
[ML08] Munshi, A., Leech, J.:OpenGL ES Common/Common-Lite Profile Specification Version 1.1.12 (Full Specification), 2008
[ML10] Munshi, A., Leech, J.: OpenGL ES Common Profile Specification Version 2.0.25 (Full
Specification), November 2, 2010.
[NRH04] Ng, R., Ramamoorthi, R., Hanrahan, P.: Triple Product Wavelet Integrals for All-Frequency Relighting. ACM SIGGRAPH, 2004.
[Pho75] Phong, B.-T.: Illumination for Computer Generated Pictures, Comm. ACM, Vol 18(6):311-317, June 1975.
[POC05] Policarpo, F., Oliveira, M.-M, Comba, J.-L.: Real-Time Relief Mapping on Arbitrary Polygonal Surfaces, ACM 2005.
其他參考資料
[1] ARIESS.: OpenGL ES:Tegra 5才完全支援,未來或融合到OpenGL中 - 電腦硬體情報版 - 鐵之狂傲. http://www.gamez.com.tw/thread-580832-1-1.html.
[2] Android and Me.: HTC leaks new features of Android 4.3 [Updated] | Android and Me. http://androidandme.com/2013/05/news/htc-leaks-new-features-of-android-4-3/.
[3] Android Developers.: Android NDK | Android Developers. http://developer.android.com/tools/sdk/ndk/index.html.
[4] Andreassen, Ø., Helgeland, A.: Introduction to UNIK-4660/TMA-4235. http://prosjekt.ffi.no/unik-4660/lectures04/chapters/Introduction.html.
[5] Android Developers.: Building an OpenGL ES Environment | Android Developers. http://developer.android.com/training/graphics/opengl/environment.html.
[6] Android Developers.: OpenGL | Android Developers.
http://developer.android.com/guide/topics/graphics/opengl.html.
[7] Construct Wiki.: SourceForge.net: Bumpmapping - construct. http://sourceforge.net/apps/mediawiki/construct/index.php?title=Bumpmapping.
[8] Friedrich, A.-L.: How to create realistic skies with POV-Ray - part 9 - Cubic Environment Mapping: skyboxes and cubemaps. http://www.f-lohmueller.de/pov_tut/backgrnd/p_sky9.htm.
[9] IDL Online Help.: About Shader Programs.
http://climserv.ipsl.polytechnique.fr/documentation/idl_help/About_Shader_Programs.html. 2007.
[10] iOS Developer Library.: OpenGL ES Programming Guide for iOS: OpenGL ES on iOS. http://developer.apple.com/library/iOS/#documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/OpenGLESontheiPhone/OpenGLESontheiPhone.html.
[11] Javed , S.: OpenGL ES 2.0 examples for Android, 2011. https://code.google.com/p/androidshaders/source/browse/?r=dfb2745160cb5f98da1b135218a0d192922a5e36.
[12] Khronos Group.: OpenGL ES - The Standard for Embedded Accelerated 3D Graphics. http://www.khronos.org/opengles/1_X/.
[13] Khronos Group.: OpenGL ES 2_X - The Standard for Embedded Accelerated 3D Graphics. http://www.khronos.org/opengles/2_X/.
[14] Khronos Group.: Khronos Releases OpenGL ES 3.0 Specification to Bring Mobile 3D Graphics to the Next Level - Khronos Group Press Release. http://www.khronos.org/news/press/khronos-releases-opengl-es-3.0-specification.
[15] Oliveira, M.-M.: Manuel's Relief Texture Mapping Page. http://www.inf.ufrgs.br/~oliveira/RTM.html.
[16] OpenGL Wiki.: Vertex Shader - OpenGL.org. http://www.opengl.org/wiki/Vertex_Shader.
[17] Photonics Wiki.: Propagation, Reflection and Refraction - CMDITRWIKI. http://photonicswiki.org/index.php?title=Propagation,_Reflection_and_Refraction.
[18] Wikipedia.: Bump mapping - Wikipedia, the free encyclopedia. Retrieved July 19, 2013, from http://en.wikipedia.org/wiki/Bump_mapping#cite_note-Mikkelsen-2.
[19] Wikipedia.: Cube mapping - Wikipedia, the free encyclopedia. Retrieved July 19, 2013, from http://en.wikipedia.org/wiki/Cube_mapping.
[20] Wikipedia.: Normal mapping - Wikipedia, the free encyclopedia. Retrieved July 19, 2013, from http://en.wikipedia.org/wiki/Normal_mapping.
[21] Wikipedia.: OpenGL - Wikipedia, the free encyclopedia. Retrieved July 19, 2013, from http://zh.wikipedia.org/wiki/OpenGL.
[22] Wikipedia.: OpenGL ES - Wikipedia, the free encyclopedia. Retrieved July 19, 2013, from http://en.wikipedia.org/wiki/OpenGL_ES.
[23] Wikipedia.: Phong shading - Wikipedia, the free encyclopedia. Retrieved July 19, 2013, from http://en.wikipedia.org/wiki/Phong_shading#cite_ref-3.
[24] Wikipedia.: Phong reflection model - Wikipedia, the free encyclopedia. Retrieved July 19, 2013, from http://en.wikipedia.org/wiki/Phong_reflection_model.
[25] Wikipedia.: Reflection mapping - Wikipedia, the free encyclopedia. Retrieved July 19, 2013, from http://en.wikipedia.org/wiki/Reflection_mapping.
[26] Wikipedia.: Shader - Wikipedia, the free encyclopedia. Retrieved July 19, 2013, from http://en.wikipedia.org/wiki/Shader.