3D
togeæ°ã®æ å ±ã«ããã¨ï¼http://d.hatena.ne.jp/toge/20050519ï¼ CharMapã§æå®ããã®ã¯ãFTGLã«æ¸¡ãæååã®ã³ã¼ãã§ã¯ãªã使ç¨ãããã©ã³ãã®æåã³ã¼ãã ã¨ãããã¨ãããã ä½æ ãæ¼ãã¯FTGLãåæã«æåã³ã¼ãå¤æãã¦ãããããã ã¨æãè¾¼ãã§ããã½ããâ¦
http://d.hatena.ne.jp/i-saint/20050515 Windowsã§SJIS表示ã§ãããããã¨ã®æ å ±ããã£ããå®é¨ãã¦ã¿ããã¨ã«ãFTGLã®FTCharMap.hãèªãã¨ãSJISã«ã対å¿ãã¦ãããããªãã¨ãæ¸ããã¦ããã CharMapã«ã¨ã³ã³ã¼ãæ¹å¼ã渡ãã¦ããã°è¯ãããã ã ã¨ãããâ¦
http://d.hatena.ne.jp/m107/20050512/1115912015 FTGLã§æ¥æ¬èªã表示ã§ããªãã®ã§ã¯ï¼ã¨ããæ å ±ãæ°ã«ãªã£ã¦å¯ãã«å¯ãããå®é¨ã ãã«ãããã®ã«FreeTypeããglutãããå¿ è¦ã§æãã®ã»ãæéåã£ã¦ãã¾ã£ãããªãã¨ããã¢ããã°ã©ã ããã«ããã¦æ¥æ¬èªè¡¨â¦
è¡çªå¤å®ã§ã¡ãã£ã¨å°ã£ããã¨ã«ã ç¾å¨ã¯http://d.hatena.ne.jp/halo_w2/20050401#p3 ã®æ§æ³ã§ããã¹ã¦ã®ãªãã¸ã§ã¯ãã®ç¶æ æ´æ°ãçµäºãã段éã§ã¾ã¨ãã¦è¡çªå¤å®ãè¡ã£ã¦ããããªãã¸ã§ã¯ãç¶æ æ´æ°ã®é çªã«ä¾åããªããªãã¡ãªããããããã ãã©ãããã¤â¦
togeæ°ã®æ¥èª(id:toge:20050420)ãè¦ã¦æ¼ãæ¼ããã¨ãããã¨ã§å¾åãã«ãã¦ããARB_vertex_buffer_objectã試ãã¦ã¿ããã¨ã«ã OpenGLã§ã¯ãããã£ãæ¡å¼µæ©è½ã使ç¨ããå ´åã使ç¨ã§ããæ¡å¼µã®ãªã¹ããåå¾ãã¦ç®çã®æ¡å¼µã使ããã®ãã©ããã調ã¹ãå¿ è¦ãªé¢â¦
å¯è¦å¤å®ã®ããã®è¦éå°ã«ãªã³ã°ãå®è£ ãã¦ããã®ã ããã©æ¡ã®å®ãããã¾ãã£ãã ä½æ ãè¦éè§ã«ãã£ã¦åºé±ç®ãªçµæã«ãªãã¨æã£ãããã©ã¸ã¢ã³ã渡ãã¨ãã«ãªã¤ã©ã¼è§ã渡ãã¦ããããªãã¨ãåãããã«ãªã£ãç©ã®ãã©ããå¤å®æ¼ããããã¨æã£ãããã«ã¡ã©â¦
æ¨æ¥ã®ç¶ããé ç¹é åãOpenGLã«æ¸¡ãã¨ãã«ã¯glVertexPointer()ãglNormalPointer()ããªã©ã§é ç¹ãæ³ç·ã®ãã¼ã¿ãåå¥ã®é åã§æ¸¡ãã¦ããæ¹æ³ã¨ãglInterleaveArrays()ã§æå®ã®ãã¼ã¿æ§é ã®é åã渡ãã¦ããæ¹æ³ãããã // åå¥ã«é åãæå®ããå ´å glVertâ¦
ãããæé©åãªãã¨ã¯ããããããªã«éãã¡ãããªããªãã®ã§ãã¡ãã£ããã³ã¼ãæé©åã«ä¹ãåºãã¦ã¿ããã¨ã«ã ã¨ããã§VC7.1ã£ã¦ãããã¡ã¤ã©ãç¡ããã§ãã*1ãããç¥ã£ãã¨ãã®orzå æ¸ã¨ãã£ããã»ã»ã»ã¨ããããã§ã°ã°ã£ã¦è¦ã¤ããæ¥æ¬ã³ã³ãã¥ã¦ã§ã¢ãâ¦
ããä¸ã¤ã§ããããªã²ã¼ã ã«ä½¿ãåãããããªæ±ç¨çãªå½ããå¤å®ã¯ã©ã¹ãä½ããã¨ããä¼ã¦ãã¿ã¹ã¯ã·ã¹ãã ã¨ã®é¢ä¿ãã ã¨ããããã§ç¾æç¹ã§ã®æ§æ³ããã©ã·ã®è£çã«ã¾ã¨ãã è¡çªå¤å®ã管çã¯ã©ã¹ãä½ããããèªä½ãã¿ã¹ã¯ã¨ãã¦å®è¡ããã( CCollisionManâ¦
ããã«ã·ãã£ãã©ãã§ã¯ççºã®è¡¨ç¾ã«GL_POINTãå ç®åæãããã¼ãã£ã¯ã«ãç¨ãã¦ããã®ã ããã©ãæµç³ã«ããã ã¨å¤§éã«ççºãåºãã¨éããªãã®ã§ããã«ãã¼ãã¨ãã¯ã¹ãã£ã¢ãã¡ã¼ã·ã§ã³ã®ççºãä½ã£ã¦ã¿ããççºã¢ãã¡ã¼ã·ã§ã³ã®è¡¨ç¾ã«ã¯çºè²å¼¾ã¨ãããã¼â¦
ã¡ã¿ã»ã³ã¢ãã«ã®ãã¼ãã¼ãæ¹è¯ä¸ããªãã ããã©å¦ãªåé¡ã«ã¶ã¤ãã£ããã©ããã¦ãã¢ãã«ã®ã·ã§ã¼ãã£ã³ã°ããããããç°å¸¸ã«ãã¤ã©ã¤ãããã¤ãã£ããæãããããæ³ç·ã®è¨ç®ã«ã¼ãã³ããã°ã£ã¦ããã®ãã¨æãè¦ç´ãã¦ã¿ããåé¡ãªãæ§åãæ質ãã©ã¤ãã£â¦
OpenGLã®ä»ã¾ã§æ¸ãæ£ãããã³ã¼ãããé©å½ã«namespaceã§å²ãã¤ã¤ã¯ã©ã¹åãã¦ã¿ããããããä½æ¥ã¯æ¥½ããããã§ããªããªãã¹ãæ±ç¨çã«ä½¿ããããªã¯ã©ã¹è¨è¨ãå¿ããããã¨ããããè¡çªæ¤ç¥ãã¯ã©ã¹åãã¦æ±ç¨çã«ä½¿ãã¾ãããããã«ãããã¨ããä¼ã¦ãè¡çªâ¦
以ä¸å®å ¨ã«ãã©ã·ã®è£ã ã¾ããã²ã¼ã ä¸ã§ç¨ãããããå°å½¢ããã£ã©ã¯ã¿ã¼ãFPS表示ãã¹ã³ã¢è¡¨ç¤ºãªã©ã¯ãã¹ã¦CGameObjectã¨ãããæ´¾çããã¦ããã¦ãæ¯ãã¬ã¼ã å¼ã°ããCGameObject::update()ããããã mGameFrame->queueDraw( 0x0001 ); // ãã©ã¤ãªãªãã£â¦
id:halo_w2:20050305ã®ç¶ããI.Saintæ°ãgl_kanjiãªãæ¥æ¬èªè¡¨ç¤ºããã°ã©ã ãå ¬éããã¦ããã http://i-saint.abz.jp/pg/index.htmlBDFãã©ã³ããç¬èªãã©ã¼ãããã«å¤æãã¦ä½¿ç¨ãã¦ããããããç¬èªã®å§ç¸®ãæ½ãã¦ãã¦ããã©ã³ããã¡ã¤ã«ã®ãµã¤ãºã¯220KBâ¦
以ä¸å人çã¡ã¢ã æ··åé¢æ°ã«ã¤ã㦠glEnable(GL_BLEND);ã§æ··åæ©è½ãæå¹ã«ããå¿ è¦ãããããããããã ãã§ã¯ä½ã®å½¹ã«ãç«ããªãã®ã§ã glBlendFunc( src, dst );ã§æ··åå ã¨æ··åå ããããã®æ··åé¢æ°ãè¨å®ãã¦ããå¿ è¦ãããããã使ãã ããæ··åé¢æ°ã®â¦
OSãç°å¢ã«ä¾åããªãæ¹æ³ãèããã¨ãªããªãåä»ãªåé¡ã 1.ããããããã§æç»ãã æãä¸è¬çã«ä½¿ããã¦ãææ³ï¼æåã並ã¹ãç»åããããããä½æãã¦ããããã®ç»åããã¯ã¹ãã£ã¨ãã¦ããããã®æåã«å¿ãã¦æ¯ãåãã¦è¡¨ç¤ºãããå¼±ç¹ã¯ãããããããªâ¦
ãã¦ã³ãã£ã³ã°ããã¯ã¹(AABB - Axis Aligned Bounding Box)ãç¨ããé åå¤å®ãã«é¢ããå人çã¡ã¢ã class AABB { float min_x, min_y, min_z, max_x, max_y, max_z; };ã®ãããªãã¼ã¿æ§é ã«ãªãããã¦ã³ãã£ã³ã°ããã¯ã¹å士ã®äº¤å·®å¤å®ã¯ bool cross_test(â¦
ãªããOpenGLã®ããã¹ãã¹ããæå¹ã«ãªããªãåé¡ã§ãããä¸ãç´æ¹ä½ãé£ç¶ãã¦é ç½®ãã¦ããããæç»ãããããªããã°ã©ã ãæ¸ãã¦ããã ãã©ããªããããã¹ãã¹ããæå¹ã«ãªããªãçç¶ã«æ©ã¾ãããããã¡ãã¨DEPTH_TESTãæå¹ã«ãã¦ãããglClear(DEPTH_BUFâ¦
å½ç£æåï¼ï¼¤ã¢ãã©ã¼Metasequoiaã®ç¬èªãã¡ã¤ã«å½¢å¼MQOãèªã¿è¾¼ãã§ã¿ããã¨ã«ã ä¸èº«ã¯æ®éã®ããã¹ããã¡ã¤ã«ã ãããã¡ã¤ã«ã®æ§é ãåç´ãªã®ã§ãµã¯ãã¨ã§ããã ãã æ³ç·ã®è¨ç®ãããããã®ããããã¤ãã®ã¢ãã«ã§é°å½±è¡¨ç¤ºãå¦ãªãã¨ã«ã Torus Trooper â¦
ã¯ã©ã¼ã¿ããªã³ï¼ ãåå æ°ãã®ãã¨ãçªã£è¾¼ãã ãã¨ã¯é£ããæ°å¦ã®è©±ã«ãªããããã®ã§æ°ã«ããªããã¨ã«ãããï¼ï¼¤ç©ºéå ã®è»¸ã¨ããã®è»¸ãä¸å¿ã¨ããå転ã表ããã®ãã¯ã©ã¼ã¿ããªã³å士ã¯åæãè£å®ãã§ããã ãªã«ã便å©ï¼ å転ã®è»¸ã¨å転è§åº¦ã¯ã©ã¼ã¿ããªâ¦
å人çã¡ã¢ å¹³è¡æå½± é ãã®ãã®ãè¿ãã®ãã®ãåã大ããã§æããããï¼ï¼¤ã¢ããªã³ã°ã½ããã®ç»é¢ã¯ããããã¿ã¤ããgluOrtho(640,480,-1.0f, 100f);ã§è¨å®ããã æè¦å°å½± è¿ãã®ãã®ã¯å¤§ãããé ãã®ãã®ã¯å°ããæããããgluPerspective( 60.0, 640/480â¦