iPhoneã§ã3Dã¯ã¡ã ããåããã¾ã§åå¼·æ¹æ³ã®æµã(æ¦è¦)
ä»åãã3Dã¯ã¡ã ãããåããã¾ã§ã«ã©ã®ãããªãµã¤ããæ¬ãåèã«å¦ç¿ãé²ãããç´¹ä»ãã¾ããè¯ããã°åèã«ãã¦ä¸ããã
ã¨ããããå®éã«é²ããé çªã§æ¸ãã¾ãããã£ã¨å¹ççãªé çªããã®äººã«æã£ãé çªãªã©ãæãã¨æãã®ã§å®éã«è©¦ãã¨ãã¯é©å®èªåã«ãã£ãé çªã§ãã£ã¦ã¿ã¦ä¸ããã
1. OpenGLã®å ¥éã¬ãã«ã®ããã°ã©ã ãMacã§ä½ã£ã¦ã¿ãã
ã¨ããããESã©ãããOpenGLèªä½ã®ããã°ã©ã ããããã¨ãç¡ãã£ãã®ã§OpenGLå ¥éããå§ãã¾ãããåèã«ããã®ã¯ä»¥ä¸ã®ãµã¤ããæ¬ã§ããé çªã«è§£èª¬ãã¦è¡ãã¾ãã
khronos(ã¯ããã¹)ã®ãµã¤ã
http://www.khronos.org/
ã¨ããã»ããã¼ã®æ親ä¼ã§OpenGLã®è©±ãçãä¸ãã£ãã¨ãã«ãOpenGLã£ã¦ããã§ãããSGIãä½ã£ã3Dã©ã¤ãã©ãªã®ï¼ãã£ã¦è©±ããã¨ãã«ä»ã¯khronos(ã¯ããã¹)ã£ã¦ã¨ããã管çãã¦ãã£ã¦èãã¦ã·ã§ãã¯ãåãããã¨ãããã¾ããã
ç¾å¨ã¯khronosã管çãã¦ããã®ã§ç¬¬ä¸æ å ±ãè¦ããå ´åã¯ãã¡ãã®ãµã¤ããè¦ããã¨ã«ãªãã¾ã(SGIã®ãµã¤ãã«ãå¤å°ãæã®ãã¼ã¸ã§ã³ã®æ å ±ãæ®ã£ã¦ããã¿ããã§ã)ã
こちらã§ç´¹ä»ããæ§ã«ãªãã¡ã¬ã³ã¹ã確èªã§ããã®ã§ãã使ãã¾ãã(ä»ã¯èµ¤æ¬ã®ç¿»è¨³æ¬ã«ãããããã§ã(ç¬))ã
ä»ã«ããã¡ãã®ãµã³ãã«ã³ã¼ãããã¥ã¼ããªã¢ã«ã®ãªã³ã¯éã®ãã¼ã¸ãªã©ãæç¨ã§ãã
OpenGL API Beginning OpenGL Sample Code & Tutorials
http://www.opengl.org/code/category/C22
OpenGL® Programming on Mac OS® X: Architecture, Performance, and Integration
- ä½è : Robert P. Sullivan, J. D. Kuehne
- åºç社/ã¡ã¼ã«ã¼: Addison-Wesley Professional
- çºå£²æ¥: 2007/12/17
- ã¡ãã£ã¢: ãã¼ãã¼ããã¯
- ã¯ãªãã¯: 2å
- ãã®ååãå«ãããã° (6件) ãè¦ã
ãã¡ãã¯ãã¨ãããããããä¸ã«ãããµã³ãã«ãã³ã³ãã¤ã«ãããã¨ããã¨ãMacã®å ´åã«ã¡ãã£ã¨åæãéãããã§ã³ã³ãã¤ã«ã§ããªãã£ãããã«è³¼å ¥ãã¾ãããMacç¹æã®OpenGLã使ãã¨ãã«å¿ è¦ãªä½æ¥ã解説ãã¦ããã¾ããここã§è§£èª¬ããæ§ãªæé ã§è¡ãã°Macã§ã³ã³ãã¤ã«ã§ããã¨ç解ã§ããã®ã§ããã£ãã®ã§ãããããç解ããã ãã«ãããè³¼å ¥ããã®ã¯ã¡ãã£ã¨å¤§ããã ã£ãããªã¨æãã¾ãã
Macã§ã©ã£ã·ãOpenGLãããäºå®ãããã®ã§ããã°è³¼å ¥ããã®ãè¯ãã§ããiPhoneä¸å¿ã§é²ããäºå®ã®äººã«ã¯å¿ è¦ãªãããªï¼ã¨ããå°è±¡ã§ãã
赤æ¬(red book)ã®ãªã³ã©ã¤ã³ç
http://www.glprogramming.com/red/
â»ä»ãã¢ã¯ã»ã¹ãã¦ã¿ãã¨ãããªããç¹ããã¾ããã§ããã
ã¡ãã£ã¨å¤ããããã§ããå ¥éã¬ãã«ã®åå¼·ã«ã¯åé¡ãªãããªã¨æããã¨ãããã主ãªããã°ã©ã ãã³ã³ãã¤ã«ãã¦ã¿ã¾ããã
NeHe Productions
http://nehe.gamedev.net/
æµ·å¤ã ã¨OpenGLã®ãã¥ã¼ããªã¢ã«ã¯ããã§ãããã¿ãããªåå¨ã®æ§ã§ããå·¦å´ã®ã¡ãã¥ã¼ã®ãOpenGL Tutorialsããããã¥ã¼ããªã¢ã«ã®ãã¼ã¸ã«ç§»åã§ãã¾ããå ¥éã¬ãã«ããã®ä¸å¯§ãªè§£èª¬ããã¦æãã¨ã¦ãè¯ããµã¤ãã ã¨æãã¾ãã
åãã¼ã¸ã®æå¾ã«ã¯æ§ã ãªæ¹ãæ§ã ãªããã°ã©ãã³ã°è¨èªã§åæ§ã«å®è£ ãããµã³ãã«ã¸ã®ãªã³ã¯ãæããã¡ããæç¨ã§ã(ãã¥ã¼ããªã¢ã«ãé²ãã»ã©ã«æ°ãæ¸ã£ã¦ãã®ãæ®å¿µã§ãã)ã
Intel Macã®å ´åã¯ãMac OS X/Cocoaãããã¦ã³ãã¼ãããã®ãè¯ãã§ãããããã¼ã¸ã§ã³ãå¤ãæ§ãªã®ã§ãã®ã¾ã¾ã§ã¯éãã¾ããã§ãããæ¡å¼µåã .pbproj ã®ãã¡ã¤ã«ã .xcodeproj ã«å¤æ´ãã¦éãã¨ãã¢ãããã¼ããã¾ããï¼ãã¨è¡¨ç¤ºãåºãã®ã§ã¢ããã¼ãããã¨éããã¨ãã§ãã¾ããã¢ãããã¼ããããã¡ã¤ã«ã¯åãååã ã¨ä¿åã§ããªãã®ã§å¥ã®ååãä»ãã¦ä¸ããã
åãåããããã§éãã¾ãããã©ãã£ã¨ã¾ã£ã¨ããªã¢ãããã¼ãã®ä»æ¹ãæãããããã¾ãã(ãåç¥ã®æ¹æãã¦ãã ãã¼ã)ã
Nate Robins - OpenGL - Tutors
http://www.xmission.com/~nate/tutors.html
ãã¯ã¹ãã£ãã©ã¤ããªã©ã®ãã©ã¡ã¼ã¿ããªã¢ã«ã¿ã¤ã ã«å¤æ´ãã¦ãã©ã®ããã«å¤åãçºçãããã確èªã§ãããµã³ãã«ãå ¬éããã¦ãã¾ãã
ãªã¼ãã³ã½ã¼ã¹ã§ããGUIé¨åãä¸å¯§ã«ä½ããã¦ããã®ã§ã¡ã¤ã³ã®æç»é¨å以å¤ã®æç»å¦çãå¤æ°è¨è¿°ããã¦ããã®ã§åå¿è ããããªããã®ã½ã¼ã¹ãåèã«åå¼·ãé²ããã®ã¯ã¡ãã£ã¨é£æ度ãé«ãæ§ã«æãã¾ãã
æåã¯ããããã®ããã°ã©ã ãå®è¡ããã¦ãã©ã¡ã¼ã¿ãå¤æ´ããã¨ãã®å¤åã確èªããææã¨ãã¦ä½¿ã£ãããã³ãã³ãåã§æ¤ç´¢ãããã¦ãã³ãã¤ã³ãã§åç §ãããªã©ã®ä½¿ãæ¹ãè¯ãã¨æãã¾ãã
ãã®æ§ã«è±èªã®ãµã¤ããä¸å¿ã«åå¼·ãé²ããã®ã§ããè±èªã翻訳ããªããã ã£ãã®ã§å¹çãæªãã¦æ¥æ¬èªã®ãµã¤ãã§è¯ãã®ã¯ç¡ãããªãã¨æ¢ããã¨ãã«ãã¡ãã®ãµã¤ããè¦ã¤ããã¾ããã
GLUTã«ãããææããOpenGLå ¥é
http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html
åæ山大å¦ã®åºäºæµ©å¹³ã¨ããåææã®æ¹ãæ¸ããã¦ãããµã¤ãã§ããåãä¸å¯§ãªè§£èª¬ã§åãããããã£ãã§ãã
2. iPhoneã§åä½ãããã
ãã¦ãå ¥éã¬ãã«ã¯ã¯ãªã¢ããã®ã§ããããiPhoneã§åä½ãããããªãï¼ãªã©ã¨æããMacä¸ã§æ£å¸¸ã«åä½ãã¦ããããã°ã©ã ãiPhoneã«ã³ãã¼ãã¦ã¿ã¾ããã
å®éã«ã¯Appleã®GLGravityã¨ãããã£ã¼ãããã表示ããããµã³ãã«ã®ä¸é¨ãå·®ãæ¿ããã¹ããã¦ã¿ã¾ããã
ã¨ãããã¨ã©ã¼ãçºçããã³ã³ãã¤ã«ãéãã¾ããã§ãããã¨ã©ã¼ã¯æç»ãéå§ã®ãããã¯ã表ãbegin()ã®ã³ãã³ãã§çºçãã¦ãã¾ããã調ã¹ãã¨ããOpenGL ESã§ã¯begin()ãend()å½¢å¼ã®æç»ã使ããªãæ§ã§ããã
ã³ã¡ã³ãã¢ã¦ãããå ã®ããã°ã©ã ã確èªãã㨠glDrawElements() ã¨ããã³ãã³ãã使ã£ã¦ãã¾ããããããããã¡ãã¯æç»ããã¦ããã£ã½ãã¨ãããé çªã«ã³ã¡ã³ãã¢ã¦ããã¦è¦ã¤ããã ãã§å®éã«ã¯ã©ããããã¨ããã¦ããã®ãã¯ãã£ã±ãåãã£ã¦ãã¾ããã§ããã
glDrawElements(GL_TRIANGLE_STRIP, new_teapot_indicies[i], GL_UNSIGNED_SHORT, &new_teapot_indicies[i+1]);
3. ãããããªãã®ã§ä¸ç´ã¬ãã«ã®ãåå¼·ãé²ãã
ãµã³ãã«ã³ã¼ããã³ããããåä½ããªããã¨ãå¤æããã®ã§ãããããªãä¸ç´ã¬ãã«(ãªã®ããªï¼)ã®åå¼·ãé²ãããã¨ã«ãã¾ããã
ããããä¸ç´ã¬ãã«ã®æ å ±ã¯ã¨ã«ããå°ãªãã§ããããã£ã½ãã®è¦ã¤ãã¦ãå®éã¯begin()ãend()å½¢å¼ã§ãã£ã¦ãããã®ããããã¯éã«ããªãé«åº¦ããã¦ãã³ãã³ã«ã³ãã³ãªãã®ã°ããã§ããã
ãããªãã¨ããããå ´åã¯æ¸ç±ãè¯ãã®ããªãï¼ã¨æã調ã¹ãã¨ããã¨ããããOpenGL ESã«ã¤ãã¦æ¤ç´¢ããããã¨ä»¥ä¸ã®æ¬ãè¦ã¤ããã¾ããã
Mobile 3D Graphics: with OpenGL ES and M3G (The Morgan Kaufmann Series in Computer Graphics)
- ä½è : Kari Pulli,Tomi Aarnio,Ville Miettinen,Kimmo Roimela,Jani Vaarala
- åºç社/ã¡ã¼ã«ã¼: Morgan Kaufmann
- çºå£²æ¥: 2008/03/31
- ã¡ãã£ã¢: ãã¼ãã«ãã¼
- è³¼å ¥: 1人 ã¯ãªãã¯: 29å
- ãã®ååãå«ãããã° (5件) ãè¦ã
è¯ããããªæ¬ã§ã¯ãã£ãã®ã§ããAmazon.comã«ã¯å¨åº«ããã®ã«Amazon.co.jpã§ã¯ä½æ ãå¨åº«åãã§ãããæ±äº¬é§ è¿ãã®å «éæ´²ããã¯ã»ã³ã¿ã¼ã«ã¯ç½®ãã¦ãã£ãã®ã§ããå価ããããªãé«é¡ã§ãã£ãããããããã¾ããã
代ããã«è³¼å ¥ããã®ããã¡ãã§ãã
OpenGL® SuperBible: Comprehensive Tutorial and Reference
- ä½è : Richard S. Lipchak, Benjamin Haemel, Nicholas S Wright
- åºç社/ã¡ã¼ã«ã¼: Addison-Wesley Professional
- çºå£²æ¥: 2007/06/18
- ã¡ãã£ã¢: ãã¼ãã¼ããã¯
- ã¯ãªãã¯: 7å
- ãã®ååãå«ãããã° (9件) ãè¦ã
OpenGL ESã®è§£èª¬ãããããã ãããã®æ¬1åã§èµ¤æ¬ãéæ¬ãå ¼ãããããªæ¬ã ã¨ç¥ããé«ããã©ãããªããå¾ããªã¨æãè³¼å ¥ãã¾ãããææ³ã¨ãã¦ã¯ç¢ºãã«è¯ãæ¬ã£ã½ããã©è±èªãªã®ã§ç¿»è¨³ãã¤ã¤èªãã®ã§å¹çãæªãã£ãã§ããããã¦ã½ã¼ã¹ã³ã¼ãã®ããªã¥ã¼ã å¤ãã§ããã¨ããå°è±¡ã§ãã(ã¡ãªã¿ã«OpenGL ESã«ã¤ãã¦ã¯ãããªã«ã¯ãã¼ã¸æ°ã¯å¤ããªãã§ã)ã
ç解ã¯é²ããã©ã¡ãã£ã¨å¹çæªãããªï¼ãã¦ã©ããããã¨å度ãæ¤è¨ããããã¨ã«ãã¾ããã
ããã§åç¹ã«ç«ã¡æ»ãOpenGLããã°ã©ã ãå§ããåããååã ãã¯ç¥ã£ã¦ãã赤æ¬ã®ç»å ´ã§ãã
OpenGLããã°ã©ãã³ã°ã¬ã¤ã åè第5ç
- ä½è : OpenGLçå®å§å¡ä¼,æ¾ç°æä¸
- åºç社/ã¡ã¼ã«ã¼: ãã¢ã½ã³ã¨ãã¥ã±ã¼ã·ã§ã³
- çºå£²æ¥: 2006/12/19
- ã¡ãã£ã¢: 大åæ¬
- è³¼å ¥: 2人 ã¯ãªãã¯: 71å
- ãã®ååãå«ãããã° (45件) ãè¦ã
OpenGL(R) Programming Guide: The Official Guide to Learning OpenGL(R), Version 2.1 (6th Edition)
- ä½è : OpenGL Architecture Review Board,Dave Shreiner,Mason Woo,Jackie Neider,Tom Davis
- åºç社/ã¡ã¼ã«ã¼: Addison-Wesley Professional
- çºå£²æ¥: 2007/08/09
- ã¡ãã£ã¢: ãã¼ãã¼ããã¯
- è³¼å ¥: 1人 ã¯ãªãã¯: 18å
- ãã®ååãå«ãããã° (5件) ãè¦ã
ããã¾ã§ã¯Webä¸ã«ãã¥ã¼ããªã¢ã«ãããããªãã¡ã¬ã³ã¹ãæããããªãã¨ãã£ã¦ãå¤æ®µé«ãã®ã§èºèºãã¦ã¾ãã(ç¹ã«ç¿»è¨³æ¬ãªãã13,650åããã¾ãã)ã
ã§ãããããèªåã®å®åã§ã¯æã¤æãç¡ããªã£ãã®ã§æ¬å±ããã«ã¦ç«ã¡èªã¿ããã¨ããããã¯ä½¿ãããã ã¨ãããã¨ã確èªã§ããã®ã§è³¼å ¥ãããã¨ã«æ±ºãã¾ããã
ããããã¯æ¯æ¥ã赤æ¬ã¨ã®ã«ããã£ããªæ¥ã ã§ãã翻訳æ¬ãªã®ã§è§£èª¬ã®æç« ã«ã¤ãã¦ã¯ãµã¯ãµã¯èªãäºãã§ãããªãå¹ççã«é²ããã¾ãããããã¦ãP.65ããã®é ç¹é åãP.81ããã®ãããã¡ãªãã¸ã§ã¯ãã®é¨åã®åå¼·ãå®äºããã辺ãã§ä½ã¨ããã¯ã¡ã ããã表示ãããã¨ãã§ãã¾ããã
ã¨ã¾ãã以ä¸ã®æ§ã«iPhoneã§ä½¿ããã¦ããOpenGLã¯OpenGL ESã§ãããã¯ã¡ã ããã¾ã§ã¯OpenGLã®åå¼·ã ãã§åé¡ãªãã£ãã§ãããã£ã¨åã£ããã¨ãããã¨ããæé©åãé²ããå ´åã«ã¯å¿ è¦ã«ãªãã®ã§ã¯ãªããã¨æã£ã¦ãã¾ãã
ãã¨ã赤æ¬ãè²·ã£ã¦ããã¯ãã¡ããè¦ãã°å¤§ä¸å¤«ã«ãªã£ãã®ã§ããããã¾ã§ã¯ãã¡ãã®OpenGL ESã®ãªãã¡ã¬ã³ã¹ãæ¥æ¬èªç¿»è¨³ããã¦ããæ¹ã®ãµã¤ãã大å¤åèã«ãªãã¾ããã
ã¾ã¨ã
以ä¸ãã¾ã¨ããã¨ããã£ã±ã赤æ¬æå¼·ï¼ããªãé«ããã©OpenGLãããªãè²·ã£ã¨ããã£ã¦ãã¨ã«ãªããã¨æãã¾ãã
OpenGLã®ãªãã¡ã¬ã³ã¹ã¯Webä¸ã«ãããã¾ããç´ æ©ãã¯æ¤ç´¢ãã¥ããã§ãããå®éã«ä½¿ãã«ã¯ä½¿ç¨ä¾ã¨ãã¦ä½¿ãããµã³ãã«ã®æ¤ç´¢ãªã©ãå¿ è¦ã¨ãªãå ´åãããããå¹ççã«é²ãããã¨ãã§ãã¾ããã
以ä¸ãåã®å ´åã®åå¼·ã®é²ãæ¹ã§ãã
è±èªã®å¾æãªäººãªã©ã§ããã°ã¾ãéã£ãé çªã¯æ¹æ³ã§é²ãæ¹ããããã¨æãã¾ããã¿ãªããã®iPhoneã§ã®OpenGL ESã®åå¼·ã®å©ãã«ãªãã°å¹¸ãã§ãã
â»ãã®ãã¡æ
å ±ãæ´çã§ãããiPhoneã§ã®OpenGL ESã®ä½¿ãæ¹è¬åº§ã¿ãããªã¨ã³ããªã¼ããããã°ã¨æã£ã¦ãã¾ãã
â»ãã¨ãã¿ãªãããä½ãè¯ãOpenGL/OpenGL ESã®ãµã¤ããªã©è¦ã¤ãããã¾ãããã³ã¡ã³ãæ¬ã«ã¦æãã¦ä¸ããããé¡ããã¾ã<(_ _)>