ã¿ãªããããã«ã¡ã¯ïŒ ä»æ¥ã¯ãã³ã³ãã¥ãŒã¿ãŒã²ãŒã ãã¢ãã¡ãŒã·ã§ã³æ ç»ãå·¥æ¥ãã¶ã€ã³ã·ã¹ãã ã«é¢é£ããªãã¬ã³ããªã³ã°ã«ã€ããŠã話ããããšæããŸãã ãããžã§ã¯ãMAPS.MEã®ãããããªã¢ã«ã¿ã€ã ã§ã¬ã³ããªã³ã°ããããã®ãšã³ãžã³ã«ã€ããŠã§ãã ãã®æçš¿ã§ã¯ããšã³ãžã³ã®äžè¬çãªååãšãç§ãã¡ãèžã¿èŸŒãã ããã€ãã®ã¬ãŒãïŒããã³æ£åžžã«åé¿ãããã¬ãŒãïŒã«ã€ããŠèª¬æããŸãã 倧éã®ããŒã¿ãç¹ã«ã«ãŒãã°ã©ãã£ãã¯ã®ããŒã¿ãã¬ã³ããªã³ã°ããå Žåãç§ãã¡ã®çµéšãããªãã®ãããžã§ã¯ãã«åœ¹ç«ã€ããå°ãªããšãèå³ãããããšãé¡ã£ãŠããŸãã ç«ã«èå³ããã人ã¯èª°ã§ãèããŠãã ããã
MAPS.MEãšã¬ã³ããªã³ã°ã«ã€ããŠ
MAPS.MEã¯ããŠãŒã¶ãŒãæ€çŽ¢ãããã²ãŒã·ã§ã³ãããŸããŸãªæ©èœãåããå®å šãªãªãã©ã€ã³ããããããã€ã¹äžã§ååŸã§ããã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã§ãã OpenStreetMapããå°å³ããŒã¿ãååŸãåŠçãããã±ãŒãžåããã¢ããªã±ãŒã·ã§ã³ãéããŠãŠãŒã¶ãŒã«æäŸããŸãã ä»æ¥ãOpenStreetMapã¯ããªãé«ã詳现床ã§å šäžçãã«ããŒããŠããŸããããã€ã¹äžã§å°å³ãã¬ã³ããªã³ã°ããå¿ èŠãããã衚瀺ãããå°å³ããŒã¿ã®éã¯éåžžã«éèŠã§ãã ãããããŒã¿ãå¹ççã«è¡šç€ºããããã«ãMAPS.MEã§ã¯DrapeãšåŒã°ãããšã³ãžã³ãéçºããŸããã ãã®ãšã³ãžã³ã¯ãªãªãŒã¹ã®æºåãæŽããŸãããå€ãã®ç¹ã§çŸåšã®ã°ã©ãã£ãã¯ã©ã€ãã©ãªãããåªããŠãããããä»æ¥ïŒå°ãåã«ïŒDrapeã«ã€ããŠèª¬æããŸãã
æ¢åã®ãããžã§ã¯ãã«æ°ããã°ã©ãã£ãã¯ãšã³ãžã³ãäœæãããšãã決å®ããŒãããçããã®ã§ã¯ãªãããšã¯æããã§ãã以åã®ã¬ã³ããªã³ã°ã¡ã«ããºã ã§ã¯ããããžã§ã¯ããç®çã®æ¹åã«éçºã§ããŸããã§ããã å€ãã®ïŒç¹ã«gamedevã®äººãã¡ïŒã¯ãããšã³ãžã³ã©ã€ã¿ãŒãã«å¯ŸããŠå®å®ããïŒãŸã£ããæ確ãªïŒæ 床ãæã£ãŠããŸãã æ®å¿µãªããããã®åéã§ã¯ãµãŒãããŒãã£éçºã®éžæè¢ãéåžžã«ä¹ãããã¬ã³ããªã³ã°ã«ãŒãã®èŠä»¶ã¯ã²ãŒã ã®ã¬ã³ããªã³ã°ã®èŠä»¶ãšã¯å€§ããç°ãªããŸãã ã²ãŒã éçºã«ãããã°ã©ãã£ãã¯éçºè ã®äž»ãªæŽ»åã¯ãã²ãŒã ã®ã¹ã¿ã€ã«ã«åŸã£ãŠä»®æ³äžçã衚瀺ããããšã§ãã åžžã«æå©ã«åå ã§ããã²ãŒã ãã¶ã€ããŒãã¢ãŒãã£ã¹ããã¢ãã©ãŒã¯ãäŒçµ±çã«ã²ãŒã ã°ã©ãã£ãã¯ããã°ã©ããŒã®é£ã«ç«ã¡ãŸãïŒã¢ãŒãã£ãã¡ã¯ããé ããªã£ããç®ç«ããªãããã«ãããªãŽã³ã¢ãã«ãæžããããããã¯ã¹ãã£ãåæç»ããããã²ãŒã ã¬ãã«ãåæ§ç¯ãããããŸãã ããã«ããªãŒãã³ã³ãã¥ããã£ã®äººã ã«ãã£ãŠãããã³ã°ãããçŸå®ã®äžçãæããŸãã ãããã³ã°ã®æåãããªãé«ãã«ãããããããOpenStreetMapã«ã¯å€ãã®ãã¯ã¿ãŒããŒã¿ãå«ãŸããŠãããå ã®åœ¢åŒã§ã¯è¡šç€ºã«ã¯ããŸãé©ããŠããŸããã ããŒã¿ã®ååŠçã¢ã«ãŽãªãºã ã«æºãã£ãŠãã人ãã¡ã®ãããã§ãå°å³ãæãããšãã§ããŸãã ãããã£ãŠãç§ãã¡ã®ããžãã¹ã§ã¯ãã¬ã³ããªã³ã°ãšããŒã¿ååŠçã¢ã«ãŽãªãºã ãæé©åããèœåã®ã¿ã«é Œãããšãã§ããŸãã ç§ãã¡ã®äž»ãªã¿ã¹ã¯ã¯ãå€ãã®ãªããžã§ã¯ãã§æ§æããããããããã§ããã ãéããçŸãããç²ç®çã«ä¿¡é Œã§ããªãããŒã¿ã«åŸã£ãŠæç»ããããšã§ãã ç§ãã¡ã®ãã¬ãŒããšã³ãžã³ã解決ããã®ã¯ãã®åé¡ã§ãããç§ãã¡ã®ååã¯é 調ã«é²ãã§ããŸãã
ãã¬ãŒããšã³ãžã³ã®æ§è³ªã«ã€ããŠ
Webã§æ £ããŠããã«ãŒãã«ã€ããŠè©±ããšãã»ãšãã©ã®ã¢ããªã±ãŒã·ã§ã³ã¯ã¿ã€ã«è¡šç€ºã¢ãã«ã䜿çšããŠããŸãã ã¿ã€ã«ã¯ãç¹å®ã®è©³çŽ°ã¬ãã«ã®ãããã®äžéšãå«ãç»åã§ãã ãããã䜿çšããããŸããŸãªæäœïŒã¹ã±ãŒã«ããã³ãããŒãïŒã®éã«ããµãŒããŒããå¿ èŠãªã¿ã€ã«ãååŸãããã©ãŠã¶ãŒã«è¡šç€ºããŸãã ãããã¯ãã¹ãŠããŠãŒã¶ãŒåŽã§ã¿ã€ã«ããã£ãã·ã¥ããå Žåããªã³ã©ã€ã³ã§ããããã«ãªãã©ã€ã³ã§ãæ£åžžã«æ©èœããŸãã ããããå®å šãªãªãã©ã€ã³ãããã«ã€ããŠèãå§ãããšããã«ããã®ã¢ãããŒãã¯åãå ¥ããããŸããã çŸæç¹ã§ã¯ããŠãŒã¶ãŒã®ã¢ãã€ã«ããã€ã¹ã«ååãªãã£ã¹ã¯é åãããããã«ãäºåã«æºåãããã©ã¹ã¿ãŒããŒã¿ãå§çž®ããããšã¯éåžžã«å°é£ã§ãã ãããã£ãŠãDrapeã§ã¯ãã¯ã¿ãŒããŒã¿ãæäœããŠãªã¢ã«ã¿ã€ã ã§å°å³ãã¬ã³ããªã³ã°ããŸãã Drapeãšã³ãžã³ã¯ãC ++ã§èšè¿°ãããã¯ãã¹ãã©ãããã©ãŒã ã®ãã«ãã¹ã¬ããã·ã¹ãã ã§ãã ãšã³ãžã³èªäœã¯ã3ã€ã®ã¡ã€ã³ã¹ã¬ããã§åäœããŸãã
- UIã¹ããªãŒã ã ãã®ã¹ã¬ããã§ã¯ããŠãŒã¶ãŒã¢ã¯ã·ã§ã³ãèšé²ãããç¹å®ã®ãã©ãããã©ãŒã ïŒiOSãAndroidïŒã«åºæã®ã³ãŒããå®è¡ãããŸãã ãã®ã¹ã¬ããã¯ãã¢ããªã±ãŒã·ã§ã³ãå®è¡ãããŠãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ãã£ãŠçæãããŸãã
- FRã¹ããªãŒã ïŒããã³ããšã³ãã¬ã³ãã©ãŒã®ç¥ïŒã ãã®ã¹ããªãŒã ã®äž»ãªã¿ã¹ã¯ã¯ãæºåãããé ç¹ãããã¡ãŒãšã€ã³ããã¯ã¹ãããã¡ãŒãç»é¢ã«ã¬ã³ããªã³ã°ããããšã§ãã ãã®ã¹ããªãŒã ã¯ããšã³ãžã³èªäœã«ãã£ãŠçæãããŸãã
- BRã¹ããªãŒã ïŒããã¯ãšã³ãã¬ã³ãã©ãŒã®ç¥ïŒã ãã®ã¹ããªãŒã ã§ã¯ãFRã§ã®ã¬ã³ããªã³ã°çšã«é ç¹ãããã¡ãŒãšã€ã³ããã¯ã¹ãããã¡ãŒããã³ãã®ä»ã®ããŒã¿ã圢æãããŸãã ãã®ã¹ããªãŒã ããšã³ãžã³ã«ãã£ãŠçæãããŸãã
ã¹ã¬ããéã®çžäºäœçšã¯ãã¡ãã»ãŒãžã³ã°ã«ãã£ãŠæšæºåãããŠããŸãã FRããã³BRã¹ããªãŒã ã«ã¯ã¡ãã»ãŒãžãã¥ãŒãå«ãŸããŠãããå¶éãªãã§çžäºã«ããŒã¿ã亀æã§ããŸãã ãŸããUIã¹ã¬ããã§ã³ãŒãã®å®è¡ãèŠæ±ããæ©èœããããŸãã UIã¹ã¬ããã¯ãæ®ãã®ã¹ã¬ããã®ããããã«ã¡ãã»ãŒãžãéä¿¡ããå¿ èŠã«å¿ããŠãã¡ãã»ãŒãžãåŠçããããŸã§èªèº«ããããã¯ã§ããŸãã ãšã³ãžã³ã®æŠç¥å³ã以äžã«ç€ºããŸãã
ãã®ä»çµã¿ãæ³åããããããããã«ãäŸãæããŠèª¬æããŸãã è§åºŠã®åº§æšïŒãã®å Žåã¯ã¡ã«ã«ãã«å³æ³ã®æ圱å³ïŒã§å®çŸ©ããããããã®é·æ¹åœ¢ã®æçããæå®ããã解å床ã§ç»é¢äžã«æç»ããå¿ èŠããããšããŸãã ãšã³ãžã³ã¯æ¬¡ã®æ¹æ³ã§ãã®åé¡ã解決ããŸãã
- UIã¹ã¬ããã§ã¯ããŠãŒã¶ãŒã¢ã¯ã·ã§ã³ïŒãã®å Žåã¯éã¢ã¯ã·ã§ã³ïŒãããã³ãã¥ãŒããŒãã®èšç®ã«å¿ èŠãªãã¹ãŠãåéãããããã±ãŒãžåãããŠFRã«éä¿¡ãããŸãã
- å
¥åããŒã¿ã«å¿ããFRã¯ããã¥ãŒããŒãïŒäžçã®ãããªãã¯ã¹ããã¥ãŒãæ圱ïŒã圢æããå°å³ããŒã¿ã®è©³çŽ°ã¬ãã«ã決å®ããŸãã èšç®ãããããŒã¿ã¯ãããããã¿ã€ã«ããªãŒã«æ圱ãããŸãã ãã®ããªãŒã¯ãã°ã©ãã£ãã¯ãšã³ãžã³ã§ã·ãŒã³ã¬ã³ããªã³ã°ãæé©åããããã«åºã䜿çšãããŠããæªåé«ãã¯ã¯ããããªãŒã«ãã䌌ãŠããŸãã ã¯ã¯ããããªãŒã®å Žåãšåæ§ã«ãã¿ã€ã«ããªãŒã§ã¯ãã¹ãã¹ããŒã¹ã®æŠå¿µããµããŒããããŠããŸãã ããšãã°ã第7ã¬ãã«ã®è©³çŽ°ã®4ã¿ã€ã«ã¯ã第6ã¬ãã«ã®1ã¿ã€ã«ã«ãªããŸãã åŸæ¥ã®ã¯ã¯ããããªãŒãšã¯ç°ãªããããªãŒã¯çŸåšè¡šç€ºãããŠããã¿ã€ã«ã®ã»ããã«å¿ããŠæ§é ãåæ§ç¯ããŸãã ã€ãŸã çŸæç¹ã§ç¬¬6ã¬ãã«ã®è©³çŽ°ã®ã¿ã®ã¿ã€ã«ã衚瀺ãããŠããå ŽåãããªãŒã¯ãªã¹ãã«çž®éããŠããŸãã ãŸãããŠãŒã¶ãŒãçªç¶ãããã®ç¬¬7ã¬ãã«ã®è©³çŽ°ã«ãºãŒã ã€ã³ãããšã第7ã¬ãã«ã®ã¿ã€ã«ã¯å¯Ÿå¿ãã第6ã¬ãã«ã®ã¿ã€ã«ã®åããŒãã«ãªããŸãã 7çªç®ã®ã¬ãã«ã®4ã€ã®ã¿ã€ã«ãã¬ã³ããªã³ã°ã®ããã«æºåããããšã6çªç®ã®ã¬ãã«ã®å¯Ÿå¿ããã¿ã€ã«ãã¿ã€ã«ããªãŒãã匷å¶çã«åé€ãããŸãã ããã§ãã¿ã€ã«ãšã¯äºåã«æºåãããç»åãæå³ãããã®ã§ã¯ãªãããšãæ確ã«ããå¿
èŠããããŸãã ããªãŒã¯ã空éã®é åãšãããã®é åã«é¢é£ä»ããããã°ã©ãã£ãã¯ããŒã¿ïŒé ç¹ããã³ã€ã³ããã¯ã¹ãããã¡ãŒããã¯ã¹ãã£ãã·ã§ãŒããŒãªã©ïŒã§ã®ã¿åäœããŸãã
ã¿ã€ã«ããªãŒã®æ§è³ªã«ã€ããŠç°¡åã«èª¬æããåŸãFRã«æ»ããŸãããã æ°ãããã¥ãŒããŒããèªç±ã«äœ¿çšã§ããããã«ãªããšãFRã¯ã衚瀺ãããªããªã£ãã¿ã€ã«ããªãŒã®ããŒããããŒã¯ããæ°ãããã¥ãŒããŒããå®å šã«ã«ããŒããããã«ããªãŒã«è¡šç€ºããã¿ã€ã«ã決å®ããŸãã ãã®ããŒã¿ã¯ãã¹ãŠã¡ãã»ãŒãžã«ãŸãšããããBRã¹ããªãŒã ã«éä¿¡ãããŸãã ãã®æç¹ã§ã®FRã¹ããªãŒã ã¯ãæ°ãããããªãã¯ã¹ãèæ ®ã«å ¥ããŠãçŸåšã®å 容ãåŒãç¶ã衚瀺ããŸãã - BRã¯ã¡ãã»ãŒãžãåä¿¡ããæ°ããã¿ã€ã«ã®ãžãªã¡ããªïŒããã³ãã®ä»ã®é¢é£ããã°ã©ãã£ãã¯ããŒã¿ïŒã®çæãéå§ããŸãã è€æ°ã®è£å©ã¹ã¬ããã䜿çšããŠçæã䞊ååããŸãã ã¿ã€ã«ã®ã°ã©ãã£ãã¯ããŒã¿ã圢æããããšããã«ãããã«FRã¹ããªãŒã ã«ã¡ãã»ãŒãžã§éä¿¡ãããŸãã ãã®æç¹ã§ä»ã®ã¿ã€ã«ã¯ãŸã çæäžã§ãã
- FRã¯ãã¿ã€ã«ã®ã°ã©ãã£ãã¯ããŒã¿ãåä¿¡ããã¿ã€ã«ããªãŒå ã®å Žæãæ€çŽ¢ããçŸåšã®ç¶æ³ã«å¿ããŠããªãŒã®æ§é ãåç·šæããŸãã 次ã®ãã¬ãŒã ã«æ°ããããŒã¿ããã§ã«æç»ã§ããŸãã æéã®çµéãšãšãã«ãFRã¯ãã¹ãŠã®ã¿ã€ã«ã®ããŒã¿ãåä¿¡ããUIã¹ããªãŒã ããæ°ãããã¥ãŒããŒããå°çãããŸã§ã·ã¹ãã ã¯åæ¢ããŸãã
ãã¡ããããšã³ãžã³ã®äž»ãªåçã«é¢ããäžèšã®èª¬æã¯é«åºŠãªãã®ã§ãã ããããã¹ãŠãC ++ã³ãŒãã§å ·äœåãããšãèšå€§ãªæ°ã®ãã¥ã¢ã³ã¹ãããµããŸããããã®ããã€ãã次ã«æ€èšããŸãã
ãã¥ã¢ã³ã¹ã«ã€ããŠ
ã¹ã¬ããã®åæãšããã©ãŒãã³ã¹
æ°é ãã®ããèªè ã¯ããŠãŒã¶ãŒãã«ãŒããåãããç¶æ³ã§ã¹ã¬ãããäºãã«ç©æ¥µçã«ã¡ãã»ãŒãžã亀æãããšæšæž¬ã§ããŸãã ããã€ã¹ã®ç»é¢äžã®æã®åãã¯éåžžã¹ã ãŒãºã§ããã€ãŸããFRã¹ããªãŒã ã«å€§éã®ã¡ãã»ãŒãžãéä¿¡ããããããããFRããBRã«å€æ°ã®ã¡ãã»ãŒãžãçæããŸããããã«ã¯ãéããžãªã¡ããªçææäœã䌎ããŸãã ããªããç解ããããã«ãèŠèŸŒã¿å®¢ã¯äžå¿«ã§ãã ãã®åé¡ãå æããããã«ãç§ãã¡èªèº«ã®æã®åãèžãã§ããã¥ãŒããŒããèšå®ããããã«ã¡ãã»ãŒãžã䜿çšããããšãæåŠããŸããã ããã¯ãUIã¹ããªãŒã ããã®ããŒã¿ããã¥ãŒããã€ãã¹ããŠFRã¹ããªãŒã ã«çŽæ¥ããã·ã¥ãããå Žåã®ã¿ã§ãã ãŸãããã¥ãŒããŒãã¯ãã¬ãŒã ããšã«1åæŽæ°ãããŸãã
äžè¬ã«ãã¹ã¬ããã»ãŒããã¥ãŒãããå Žåãåžžèçã«ãã¡ãã»ãŒãžãã©ãã£ãã¯ã¯å¯èœãªéãäœãããå¿ èŠããããŸãã ã¡ãã»ãŒãžãå°ãªãã»ã©ãæžã蟌ã¿/èªã¿åãæã«ãããã¯ããããã¥ãŒãå°ãªããªããŸãã çæããã»ã¹ã®æåŸã«ãBRããFRã«ã°ã©ãã£ãã¯ããŒã¿ãéä¿¡ãããå€æ°ã®ã¡ãã»ãŒãžããããŸãã ãã®åé¡ãå æããããã«ãããŒã¿ã®éçŽãéå§ããããŸããŸãªãžãªã¡ããªãå ±éã®ãããã¡ãŒã«åéããŸããïŒããã¯ãæç»åŒã³åºããæå°éã«æããããã«ã¬ã³ããªã³ã°ããå Žåã«ã䟿å©ã§ãïŒã ãã®çµæããããã¡ã®ãµã€ãºã16ãããã€ã³ããã¯ã¹ã§ã¢ãã¬ã¹æå®ããéã«èš±å¯ãããŠããæ倧å€ã«è¿ã¥ããŠããããšã«ãªããŸããã
OpenGL ESããã®çãããããªæšæ¶
OpenGL ESãšãã«ãã¹ã¬ããã¯éåžžã«ããããªçµã¿åããã§ãã ç¹ã«Android OSã§ã¯ãã¢ãã€ã«ã°ã©ãã£ãã¯ãããã®ãã©ã€ããŒã«ãã£ãŠç¶æ³ãæªåããŠããŸãã åé¡ã¯ãéçºã®å šéçšã§å®éã«çºçããçŸåšçºçããŠããŸããæ®å¿µãªãããçºçããªããªããšããäºå®ã®åææ¡ä»¶ã¯ãããŸããã
- OpenGLã³ã³ããã¹ãã¯ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ãã£ãŠäœæãããFRããã³BRã¹ããªãŒã ã«ç¬èªã®ãã®ã§ãã OpenGLä»æ§ã§ã¯ãäœæãããã¹ããªãŒã ã®å€éšã®ã³ã³ããã¹ããžã®ã¢ã¯ã»ã¹ãçŠæ¢ãããŠããŸãã ãã ããã°ã©ãã£ãã¯ãªãœãŒã¹ïŒå°ãªããšãäžéšïŒã¯ã¹ã¬ããéã§å ±æã§ããŸãã ããã ãã§ããªãœãŒã¹ã®éåæããããžã§ãã³ã°ãå¯èœã«ãªããŸãã OpenGLã³ã³ããã¹ãã§åäœãã2ã€ã®ã¹ã¬ãããããããããã®ã³ã³ããã¹ãã®æå¹æéãå¶åŸ¡ãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã¹ã¬ãããããããšãããããŸãã ããšãã°ãAndroid OSã§ã¯ãã¢ããªã±ãŒã·ã§ã³ãããã¯ã°ã©ãŠã³ãã«ç§»è¡ãããšãOpenGLã³ã³ããã¹ããå¹³åçã«æ¶æ» ããå¯èœæ§ããããŸãã ãããŠãã®æç¹ã§ãã³ã³ããã¹ãã䜿çšããäž¡æ¹ã®ã¹ã¬ããã¯ããã¹ãŠã®ãªãœãŒã¹ã解æŸããOpenGLã³ãã³ãã®å®è¡ãåæ¢ããã¯ãã§ãã ããã«ãããã·ã¹ãã ã¹ã¬ãããå®äºããåã«FRã¹ã¬ãããšBRã¹ã¬ããã®å¯¿åœãå¶åŸ¡ããããã«ããããã®ã¹ã¬ãããå®äºããããã«äœåãªåªåãããå¿ èŠããããŸãã
- ãã©ã³ãã®ã°ãªããBRã¹ããªãŒã ã«çšæãããŠããŸãã ãããã¯ãæåã«FreeTypeã©ã€ãã©ãªã䜿çšããŠããŒããããSDFïŒ ç¬Šå·ä»ãè·é¢ãã£ãŒã«ã ïŒã¢ã«ãŽãªãºã ã«ãã£ãŠåŠçããã次ã«glTexSubImage2Dé¢æ°ã䜿çšããŠãã¯ã¹ãã£ã«ç§»åãããŸãã äžæ¹ã®ã¹ããªãŒã ïŒBRïŒã¯ãã¯ã¹ãã£ã«æžã蟌ã¿ãä»æ¹ïŒFRïŒã¯ã¬ã³ããªã³ã°æã«ãã®ãã¯ã¹ãã£ããèªã¿åããŸãã æ®å¿µãªããããã¹ãŠã®ãã©ã€ããŒããã®ã¿ã¹ã¯ã«å¯Ÿå¿ããããã§ã¯ãªãã glTexSubImage2Dãžã®åŒã³åºããã¬ã³ããªã³ã°ã¹ããªãŒã ã«è»¢éããå¿ èŠããããŸããã BRã¹ããªãŒã ã ãã§ã¬ã³ããªã³ã°çšã®ããŒã¿ãæºåãããããã§ã¯ãªãããšãããããŸããã
- ã·ã§ãŒããŒããªã³ã¯ããçŽåŸã«glDetachShaderãåŒã³åºã ãã·ã§ãŒããŒã§0ãæãããšäºæž¬ã§ããªãçµæãçããå Žåã glGetActiveUniformãåäœããªãTegra 3ãããã«ç¹ã«æºè¶³ããŠããŸãã
幟äœåŠçãªæŽæ°
ã¬ã³ããªã³ã°ããã»ã¹äžã«ãžãªã¡ããªãæŽæ°ããå¿ èŠãããå Žåã«ãç¶æ³ãçºçããããšããããŸãã 以äžã¯é ç¹ã¢ãã¡ãŒã·ã§ã³ã«ã€ããŠãåœãŠã¯ãŸããŸãããé ç¹ã¢ãã¡ãŒã·ã§ã³ã«ã€ããŠã話ããŠããŸããã ç§ãã¡ã®å Žåãäž»ãªäŸã¯ããããã®çž®å°ºã«å¿ããŠé ç¹ããŒã¿ãæŽæ°ããããšã§ãã ããšãã°ãæ²³å·ã®æµãã®æ¹åã瀺ãç¢å°ã®å Žåã®ããã«ãã¹ã±ãŒã«ã«é¢ä¿ãªããã¯ã¹ãã£ãã¿ãŒã³ã®ãµã€ãºãä¿æããå Žåã¯ãé ç¹ããŒã¿ãæŽæ°ããå¿ èŠããããŸãã å Žåã«ãã£ãŠã¯ãé ç¹ãããã¡ãŒã®é·ãã«çããåäžå€æ°ã®é åãå¿ èŠã«ãªããããåäžå€æ°ã䜿çšãããœãªã¥ãŒã·ã§ã³ã¯å¿ ãããé©åã§ã¯ãããŸããã ãã®åé¡ã解決ããããã«ã次ã®ããªãã¯ã䜿çšããŸããã é ç¹ãããã¡ãŒã®äžå€éšåãæšæºçãªæ¹æ³ã§ããã¯ããŸããããšãã°ã次ã®ãšããã§ãã
{ [ 1, 1] [ 2, 2] ⊠[ N, N] }
é ç¹ã®å€æ°ã³ã³ããŒãã³ãã«ã€ããŠã¯ãåå¥ã®ãããã¡ãŒã圢æããŸãã
{ [ 1] [ 2] ⊠[ N] }
ãã¯ã¹ãã£åº§æšãæŽæ°ããå¿ èŠãããå Žåãé ç¹ãããã¡ã1ã€ã ãæžãæããŸããããã«ãããGPUã«éä¿¡ãããããŒã¿éãå€§å¹ ã«åæžãããŸãã
ãªããžã§ã¯ãã®äº€å·®ç¹
ã«ãŒãã«ã¯ã倧éã®ããã¹ããšèšå·è¡šèšããããŸãã ãºãŒã ã¢ãŠããããšããããã®ã·ã³ãã«ãéãªãå§ããããããèªã¿ã«ãããªããŸãã 1ã€ã®å»ºç©ã«ã¯ãç¬èªã®ååãšã¢ã€ã³ã³ãä»ããå€ãã®æœèšãããã倧èŠæš¡ã§ãã£ãŠãéè€ããŸãã ãããã£ãŠããã®ã°ã©ãã£ãã¯æ å ±ã«åªå é äœãä»ããéè€ããŠè¡šç€ºãããã®ãé²ãã¡ã«ããºã ãå¿ èŠã§ããã ãã®ã¡ã«ããºã ã¯ãªãŒããŒã¬ã€ããªãŒãšåŒã°ããŸãã ãã®ã¡ã«ããºã ã®æ¬è³ªã¯éåžžã«åçŽã§ããã¬ã³ããªã³ã°æããã¹ãŠã®ããã¹ããšæåããŒã¿ã¯ãç»é¢äžã®äœçœ®ã«åŸã£ãŠkdããªãŒã圢æããŸãã ããªãŒãããçŸæç¹ã§è¡šç€ºããå¿ èŠããããªããžã§ã¯ãã決å®ãããããã®ãªããžã§ã¯ãã®åªå é äœãäœçšããŸãã ãã®çµæã衚瀺ãããæãåªå 床ã®é«ãééè€è¡šèšã®ã»ãããååŸããŸãã ããããããã§1ã€ã®äžå¿«ãªåé¡ã«çŽé¢ããŠããŸãã ã¢ãã¡ãŒã·ã§ã³äžãç¹ã«ãããã®å転äžãããªãŒããã¬ãŒã ããšã«åæ§ç¯ããããããããã¹ããšã¢ã€ã³ã³ã匷ãç¹æ» ãå§ããŸããã ãããåé¿ããããã«ãããªãŒãåæ§ç¯ããã¡ã«ããºã ã«æ £æ§ãå°å ¥ããããšãäœåãªããããŸããã
æªæ¥ã«ã€ããŠ
ãã®æçš¿ã§ã¯ãããããã¬ã³ããªã³ã°ããããã®ãšã³ãžã³ãäœæããããã«äœ¿çšãããã¹ãŠã®ãã¯ãããžãŒãåãäžããŠããããã§ã¯ãããŸããã SDFã¢ã«ãŽãªãºã ã䜿çšããããã¹ãã®ã¬ã³ããªã³ã°ãéè·¯ãšã«ãŒãã®ãžãªã¡ããªãçæããã¢ã«ãŽãªãºã ãã¢ã³ããšã€ãªã¢ã¹ãããã«å¥ã®æçš¿ã«å€ããã¯ããã«äŸ¡å€ã®ãããã®ã¯ãç¹ç¯ããŸããã§ããã ç§ãã¡ãäœãããŠããã®ããå°ãªããšãèå³ãæã£ãŠããã ããã°å¹žãã§ãã ãããããªããå°æ¥ãç§ãã¡ã®ã¬ã³ããªã³ã°ãšããã¡ããããã¬ãŒããšã³ãžã³ã®ãªãªãŒã¹ã«é¢ããæ°ããæçš¿ãèŠã€ããã§ãããã
PS玳士ãã°ã©ãã£ãã¯éçºè ããã®æçš¿ãèªãã§ãããšãã«