WebGLã¡ãã·ã¥ã·ã§ãŒããŒã®åãæ¢æ±ããæç¶ãåãžãªã¡ããªçæã§ãäžçäžã®äººã ã«ãªã¢ã«ã¿ã€ã 3Dã°ã©ãã£ãã¯ã¹ã®æ°ããªå¯èœæ§ãè§£ãæŸã¡ãŸãã
WebGLã¡ãã·ã¥ã·ã§ãŒã㌠ãžãªã¡ããªå¢å¹ ïŒã¢ãã³Webåãæç¶ãåãžãªã¡ããªçæ
ãŠã§ãäžã®ãªã¢ã«ã¿ã€ã 3Dã°ã©ãã£ãã¯ã¹ã®é²åã¯ç®èŠãŸãããã®ã§ãããéçã¢ãã«ããåçã·ãŒã³ãŸã§ãWebGLã®èœåã¯çå®ã«æ¡å€§ããŠããŸããããã®é²åã«ããã倧ããªé£èºã¯ãã¡ãã·ã¥ã·ã§ãŒããŒã®åºçŸã𿥿é·äžã®æ¡çšã§ãããããã®åŒ·åãªããŒã«ã¯ãæç¶ãåãžãªã¡ããªçæã«æŽ»çšããããšãäžçäžã®éçºè ã«ãšã£ãŠåµé çãã€æè¡çãªå¯èœæ§ã®æ°ããªæ¬¡å ãåãéããŸãã
ãã®å æ¬çãªã¬ã€ãã§ã¯ãWebGLã¡ãã·ã¥ã·ã§ãŒããŒã®è€éããšãããããè€éãªãžãªã¡ããªã®å³æçæã«é©çšããæ¹æ³ã«ã€ããŠè©³ããæãäžããŠãããŸããåºæ¬çãªæŠå¿µãåŸæ¥ã®ã¡ãœããã«å¯Ÿããå©ç¹ãå®çšçãªãŠãŒã¹ã±ãŒã¹ããããŠãã®å€é©çãªæè¡ãäžçäžã®ããŸããŸãªæ¥çã«ããããå°æ¥çãªå¯èœæ§ãæ¢ããŸãã
WebGLã«ãããã¡ãã·ã¥ã·ã§ãŒããŒã®åã®çè§£
åŸæ¥ããŠã§ãäžã®3Dãžãªã¡ããªã¯ãé ç¹ã·ã§ãŒããŒãšãã©ã°ã¡ã³ãã·ã§ãŒããŒã䜿çšããŠã¬ã³ããªã³ã°ãããŠããŸãããé ç¹ã¯åå¥ã«åŠçããããã©ã°ã¡ã³ãïŒãã¯ã»ã«ïŒã¯ããã«å¿ããŠè²ä»ããããŸããã广çã§ã¯ãããŸããããã®ãã€ãã©ã€ã³ã«ã¯ãéåžžã«è€éãŸãã¯åçãªãžãªã¡ããªãæ±ãéã«åºæã®å¶éããããŸããéåžžã«å€ãã®è€éãªåœ¢ç¶ãçæããããè€éãªã·ãã¥ã¬ãŒã·ã§ã³ã«åå¿ãããããããšã¯ãå€ãã®å Žåãèšç®ã³ã¹ããé«ããå¶çŽçã§ããããšã蚌æãããŸããã
ã¡ãã·ã¥ã·ã§ãŒããŒã¯ãææ°ã®ã°ã©ãã£ãã¯ã¹APIïŒãããŠçµæçã«WebGPUã®é²æ©ãéããŠWebGLã«å°å ¥ïŒã§æ¡åŒµæ©èœãšããŠå°å ¥ããããã©ãã€ã ã·ããã衚ããŠããŸããã°ã©ãã£ãã¯ã¹ãã€ãã©ã€ã³ã«æ°ããã¹ããŒãžãã€ãŸãã¡ãã·ã¥ã·ã§ãŒãã£ã³ã°ã¹ããŒãžãå°å ¥ãããŸããããã®ã¹ããŒãžã«ããããžãªã¡ããªã®çæãšåŠçã«å¯Ÿãããããæè»ã§ããã°ã©ã å¯èœãªã¢ãããŒããå¯èœã«ãªããŸãã
ã¡ãã·ã¥ã·ã§ãŒãã£ã³ã°ãã€ãã©ã€ã³ïŒæ°ããã¢ãããŒã
ã¡ãã·ã¥ã·ã§ãŒãã£ã³ã°ãã€ãã©ã€ã³ã¯ã倧ãŸãã«2ã€ã®äž»èŠãªã¹ããŒãžã«åããããŸãã
- ã¿ã¹ã¯ã·ã§ãŒããŒïŒ ãã®ã·ã§ãŒããŒã¯ã幟äœããªããã£ãïŒç¹ãç·ãäžè§åœ¢ïŒãçæããæ¬¡ã®ã¹ããŒãžã«ãã£ã¹ããããã圹å²ãæ ããŸããããã¯ã¯ãŒã¯ã°ã«ãŒãåäœã§åäœãã䞊åå®è¡ãšå¹Ÿäœã¿ã¹ã¯ã®å¹ççãªç®¡çãå¯èœã«ããŸãããžãªã¡ããªã®éåçãã€ãŸã建ç¯å®¶ã®ãããªãã®ãšèããŠãã ããã
- ã¡ãã·ã¥ã·ã§ãŒããŒïŒ ãã®ã·ã§ãŒããŒã¯ãã¿ã¹ã¯ã·ã§ãŒããŒã«ãã£ãŠçæãããããªããã£ããåãåããããã«æŽç·ŽãããŸããé ç¹ãããªããã£ãããŒã¿ãããã³å¶åŸ¡ããªããã£ãããããžãåºåã§ããŸãããã®ã¹ããŒãžã§ã¯ããžãªã¡ããªã®åŸ®èª¿æŽãšè©³çŽ°ãªæ§ç¯ãè¡ãããŸããã€ãŸããæ§é ãç¶¿å¯ã«äœæãããã«ããŒã®ãããªãã®ã§ãã
éèŠãªã®ã¯ããã®ãã€ãã©ã€ã³ã§ã¯å¯å€ããªããã£ãæ°ãèš±å¯ãããŠããããšã§ããé ç¹ãšããªããã£ãã®æ°ãåºå®ãããŠããããåŸã ã«å€æŽãããããšãå€ãåŸæ¥ã®ã¡ãœãããšã¯ç°ãªããã¡ãã·ã¥ã·ã§ãŒããŒã¯ãåŒã³åºãããšã«ä»»æã®æ°ã®é ç¹ãšããªããã£ããåçã«çæã§ããŸããããã¯ãè€éãªã·ãŒã³ã«ãšã£ãŠå€§ããªå€åããããããŸãã
æç¶ãåãžãªã¡ããªçæïŒãªãéèŠãªã®ã
æç¶ãåãžãªã¡ããªçæãšã¯ãæåã¢ããªã³ã°ã§ã¯ãªããã¢ã«ãŽãªãºã ã䜿çšããŠ3Dã¢ãã«ãšã·ãŒã³ãäœæããããšãæããŸããã¢ãŒãã£ã¹ãã现éšãŸã§äž¹å¿µã«åœ«å»ãã代ããã«ãã¢ã«ãŽãªãºã ã¯ãžãªã¡ããªãçæããã«ãŒã«ãšãã©ã¡ãŒã¿ãŒãå®çŸ©ããŸãããã®ã¢ãããŒãã¯ä»¥äžãæäŸããŸãã
- ã¹ã±ãŒã©ããªãã£ïŒ æå°éã®ã¹ãã¬ãŒãžèŠä»¶ã§ãåºå€§ã§è€éãªã·ãŒã³ãçæã§ããŸãã
- æè»æ§ïŒ ãã©ã¡ãŒã¿ãç°¡åã«å€æŽããŠãã¢ãã«ãŸãã¯ã·ãŒã³ã®ç¡éã®ããªãšãŒã·ã§ã³ãäœæã§ããŸãã
- è©³çŽ°ïŒ æåã§ã¢ãã«åããã«ã¯å®çšçã§ã¯ãªãéåžžã«é«ãã¬ãã«ã®è©³çްãäœæã§ããŸãã
- ãã€ãããºã ïŒ ã·ãã¥ã¬ãŒã·ã§ã³ãŸãã¯ãŠãŒã¶ãŒã®å ¥åãåºã«ããªã¢ã«ã¿ã€ã ã§åå¿ãå€åãããžãªã¡ããªãçæã§ããŸãã
æŽå²çã«ãæç¶ãåçæã¯ãªãã©ã€ã³ã¬ã³ããªã³ã°ãšã²ãŒã éçºã®å®çªãšãªã£ãŠããŸãããããããã®ã¬ãã«ã®è€éããšãã€ãããºã ãWebããªã¢ã«ã¿ã€ã ã«ããããããšã¯ã倧ããªèª²é¡ã§ãããããã§ãã¡ãã·ã¥ã·ã§ãŒããŒãWebGLïŒãããŠãŸããŸãWebGPUïŒãšçµã¿åããããŠèŒããæŸã¡ãŸãã
çžä¹å¹æïŒã¡ãã·ã¥ã·ã§ãŒã㌠+ æç¶ãåãžãªã¡ããª
ã¡ãã·ã¥ã·ã§ãŒããŒãšæç¶ãåãžãªã¡ããªçæã®çµã¿åããã¯ãçã®éæ³ãèµ·ããå Žæã§ããã¡ãã·ã¥ã·ã§ãŒããŒã¯ãæç¶ãåçæã®ã¢ã«ãŽãªãºã çãªæ§è³ªã«æ¬è³ªçã«é©ããŠããŸãããã®çç±ã¯æ¬¡ã®ãšããã§ãã
1. é«è©³çްãžãªã¡ããªã®å¹ççãªçæ
ã¡ãã·ã¥ã·ã§ãŒããŒã¯ããªã³ããã³ãã§ã®ãžãªã¡ããªçæã«åªããŠããŸããæ°çŸäžã®é ç¹ãŸãã¯è€éãªããããžæ§é ãçæããå¯èœæ§ãããæç¶ãåã¢ã«ãŽãªãºã ã®å Žåãã¡ãã·ã¥ã·ã§ãŒããŒãã€ãã©ã€ã³ã¯æ¬¡ã®ããšãã§ããŸãã
- ããã»ã¬ãŒã·ã§ã³ã®çæïŒ æ¢åã®ããªããã£ããåçã«åå²ããŠãå¿ èŠã«å¿ããŠè©³çްã远å ããç»é¢ç©ºéãŸãã¯ã·ãã¥ã¬ãŒã·ã§ã³èŠä»¶ã«é©å¿ããŸããã«ã¡ã©ãè¿ã¥ãã»ã©å°åœ¢ã詳现ã«ãªããæç¶ãçã«çæãããå±±èãæ³åããŠãã ããããã¹ãŠããã®å Žã§çæãããŸãã
- ã¹ããã€ãã®ã€ã³ã¹ã¿ã³ã¹åïŒ åŸæ¥ã®ã€ã³ã¹ã¿ã³ã¹åãã¡ãã·ã¥å šäœãç¹°ãè¿ãã®ã«å¯Ÿããã¡ãã·ã¥ã·ã§ãŒããŒã¯ãåäžã®ãããŒã³ãŒã«å ã§è€éãªã€ã³ã¹ã¿ã³ã¹åããããžãªã¡ããªã®ããªãšãŒã·ã§ã³ãçæã§ãããã倿§ã§è©³çްãªãªããžã§ã¯ãéå£ã«ã€ãªãããŸããããããã圢ç¶ãšèã®ååžã«ãããŠãŠããŒã¯ãªãæç¶ãçã«çæãããæšã ã§æ£®ãåãå°œããããšãèããŠãã ããã
2. åçã§é©å¿åã®ãžãªã¡ããª
æç¶ãåçæã«ã¯ãåçèŠçŽ ãããå«ãŸããŸããã¡ãã·ã¥ã·ã§ãŒããŒã¯ããããã®å€åã«é©å¿ã§ããŸãã
- ãªã¢ã«ã¿ã€ã ã·ãã¥ã¬ãŒã·ã§ã³ïŒ é²è¡äžã®ç©çã·ãã¥ã¬ãŒã·ã§ã³ãæµäœãã€ããã¯ã¹ããŸãã¯ç²åç³»ãåæ ãããžãªã¡ããªãçæããŸããWebGLã¢ããªã±ãŒã·ã§ã³ã¯ãæé·äžã®çµæ¶æ§é ãã·ãã¥ã¬ãŒãããã¡ãã·ã¥ã·ã§ãŒããŒããã®è€éãªãã¡ã»ããããªã¢ã«ã¿ã€ã ã§çæã§ããŸãã
- 詳现ã¬ãã«ïŒLODïŒïŒ ã«ã¡ã©ã®è·é¢ãããã©ãŒãã³ã¹ã®å¶çŽããŸãã¯ã·ãã¥ã¬ãŒã·ã§ã³ã®è€éãã«åºã¥ããŠãé©åãªè©³çްã¬ãã«ã§ãžãªã¡ããªãåçã«çæããŸããããã¯ãè€éãªWebããŒã¹ã®3Dãšã¯ã¹ããªãšã³ã¹ã§ã¹ã ãŒãºãªãã¬ãŒã ã¬ãŒããç¶æããããã«äžå¯æ¬ ã§ãã
3. CPUããã«ããã¯ã®åæž
è€éãªæç¶ãåçæãWebã«ããããäžã§ã®å€§ããªããŒãã«ã®1ã€ã¯ãCPUã®ãªãŒããŒãããã§ãããåŸæ¥ã倧éã®ãžãªã¡ããªãçæããã«ã¯ãåºç¯ãªCPUèšç®ãå¿ èŠãšãªãããã®åŸGPUã«ã¢ããããŒããããŠããŸãããã¡ãã·ã¥ã·ã§ãŒããŒã¯ããã®èšç®è² è·ã®å€§éšåãGPUã«ç§»è¡ããããã§äžŠåã«ãã¯ããã«å¹ççã«åŠçã§ããŸãã
ã€ãŸããéçºè ã¯æ¬¡ã®ããšãã§ããŸãã
- èšç®ããªãããŒãïŒ GPUããžãªã¡ããªäœæã®äž»èŠãšã³ãžã³ãšãªããCPUãã²ãŒã ããžãã¯ãAIããŸãã¯ãŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ãªã©ã®ä»ã®éèŠãªã¿ã¹ã¯ããè§£æŸããŸãã
- ãã倧ããªããŒã¿ã»ããã®åŠçïŒ ä»¥åã¯Webãã©ãŠã¶å ã§å¯èœã ã£ããããã¯ããã«è€éãªã·ãŒã³ãšãªããžã§ã¯ããçæããŠã¬ã³ããªã³ã°ããŸãã
å®çšçãªã¢ããªã±ãŒã·ã§ã³ãšã°ããŒãã«ãªäŸ
WebGLã¡ãã·ã¥ã·ã§ãŒããŒãšæç¶ãåãžãªã¡ããªçæã®çžä¹å¹æã¯ãäžçäžã®ããŸããŸãªæ¥çã§æ°å€ãã®ãšããµã€ãã£ã³ã°ãªã¢ããªã±ãŒã·ã§ã³ãéããŸãã
1. ã²ãŒã ãšã€ã³ã¿ã©ã¯ãã£ããšã³ã¿ãŒãã€ã³ã¡ã³ã
WebããŒã¹ã®ã²ãŒã ã¯ã以åã¯ãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã§ã®ã¿å¯èœã ã£ãèŠèŠçãªå¿ å®åºŠãšè€éããå®çŸã§ããããã«ãªããŸãããããã«ãããé«å質ãªã²ãŒã äœéšãæ°äž»åãããå¹ åºãããã€ã¹ãšãã©ãããã©ãŒã ã§å©çšã§ããããã«ãªããŸãã
- ç¡éã®äžçïŒ ãã©ãŠã¶å ã§ãªã¢ã«ã¿ã€ã ã«ã¬ã³ããªã³ã°ãããããŠããŒã¯ãªé¢šæ¯ã忀ç©ãåããåºå€§ãªãæç¶ãçã«äœæãããã²ãŒã ã®äžçãçæããŸãããã¹ãŠã®ãã¬ã€äžã«æ°ããããŠããŒã¯ã«çæãããç°å¢ãæäŸãããã©ãŠã¶ããŒã¹ã®ãªãŒãã³ã¯ãŒã«ãæ¢çŽ¢ã²ãŒã ãèããŠã¿ãŸãããã
- åçç°å¢ïŒ ãã¬ãŒã€ãŒã®è¡åãŸãã¯ã·ãã¥ã¬ãŒããããã€ãã³ãã«åºã¥ããŠé²åãå€åããã²ãŒã ç°å¢ãäœæããŸããæç¶ãçã«çæããã建ç©ããªã¢ã«ã¿ã€ã ã§å»ºèšããã³å€æŽãããéœåžå»ºèšã²ãŒã ãæ³åããŠã¿ãŠãã ããã
- è€éãªãã£ã©ã¯ã¿ãŒãšå°éå ·ã®çæïŒ ããããã®åºäŒããã¢ã€ãã ãåºå¥ãããè€éãªè©³çްãåãããŠããŒã¯ãªãã£ã©ã¯ã¿ãŒãçãç©ããŸãã¯å°éå ·ãçæããŸãã
2. ããŒã¿èŠèŠåãšç§åŠã·ãã¥ã¬ãŒã·ã§ã³
è€éãªããŒã¿ã»ãããšç§åŠçŸè±¡ãèŠèŠåããã«ã¯ãæŽç·Žãããã¬ã³ããªã³ã°æè¡ãå¿ èŠã§ããã¡ãã·ã¥ã·ã§ãŒããŒãæèŒããæç¶ãåãžãªã¡ããªçæã¯ããããã®èŠèŠåã«ããããŸã§ã«ãªã詳现ããšã€ã³ã¿ã©ã¯ãã£ãæ§ãããããããšãã§ããŸãã
- è€éãªç§åŠã¢ãã«ïŒ é©å¿çãªè©³çްãåããè€éãªååæ§é ã倩äœç©çåŠççŸè±¡ããŸãã¯è€éãªçç©åŠçã·ã¹ãã ãèŠèŠåããŸããç ç©¶è ã¯ãã¿ã³ãã¯è³ªã®æãç³ã¿ã®æç¶ãçã«çæãããã¢ãã«ããªã¢ã«ã¿ã€ã ã§æ¢çŽ¢ãããžãªã¡ããªãã·ãã¥ã¬ãŒã·ã§ã³ã®é²è¡ã«åãããŠé©å¿ããããšãã§ããŸãã
- ã€ã³ã¿ã©ã¯ãã£ããªéœåžèšç»ïŒ å€§èŠæš¡ãªéœåžéçºãèŠèŠåãããã©ã³ããŒã建ç©ã®ã¬ã€ã¢ãŠãã亀éã®æµããç°å¢ãžã®åœ±é¿ãæç¶ãçã«çæã§ããããã«ãããã¹ãŠWebãã©ãŠã¶ã§ã€ã³ã¿ã©ã¯ãã£ãã«ããã²ãŒãã§ããŸãã
- å°ç空éããŒã¿ïŒ å°åœ¢ãæ°è±¡ãã¿ãŒã³ã人å£å¯åºŠãªã©ãå°çããŒã¿ã®éåžžã«è©³çްã§åçãªè¡šçŸãã¬ã³ããªã³ã°ãããºãŒã ã¬ãã«ã«åºã¥ããŠè©³çްã調æŽããŸãã
3. 建ç¯èŠèŠåãšèšèš
建ç¯å®¶ããã¶ã€ããŒã¯ããããã®ãã¯ãããžãŒã掻çšããŠããã¶ã€ã³ã®æ²¡å ¥åã§ã€ã³ã¿ã©ã¯ãã£ããªãã¬ãŒã³ããŒã·ã§ã³ãäœæããã°ããŒãã«ã«ã¢ã¯ã»ã¹ã§ããŸãã
- ãã©ã¡ããªãã¯ãã¶ã€ã³ã®æ¢æ±ïŒ ã¯ã©ã€ã¢ã³ãã建ç©ãŸãã¯ã€ã³ããªã¢ã®ãã¶ã€ã³ãã©ã¡ãŒã¿ãŒãã€ã³ã¿ã©ã¯ãã£ãã«å€æŽã§ããããã«ãããžãªã¡ããªããªã¢ã«ã¿ã€ã ã§æŽæ°ãããŸãããã¶ã€ããŒã¯ãã¯ã©ã€ã¢ã³ããææãéšå±ã®ã¬ã€ã¢ãŠãããŸãã¯ãã¡ãµãŒãèŠçŽ ã倿ŽããæŽæ°ããã3Dã¢ãã«ãå³åº§ã«ç¢ºèªã§ãã建ç©èšèšã玹ä»ã§ããŸãã
- åçèŠçŽ ãåããããŒãã£ã«ãã¢ãŒïŒ æ€çãç §æãããã«ã¯ä»®æ³çŸ€è¡ãªã©ã®èŠçŽ ãæç¶ãçã«çæããŠã¢ãã¡ãŒã·ã§ã³åã§ãããéåžžã«è©³çްã§ãªã¢ã«ãªããŒãã£ã«ãã¢ãŒãäœæããŸãã
4. ãžã§ãã¬ãŒãã£ãã¢ãŒããšããžã¿ã«ã¡ãã£ã¢
èžè¡ã³ãã¥ããã£ã¯ãããžã¿ã«ã¢ãŒãå¶äœãšã€ã³ã¿ã©ã¯ãã£ããªã€ã³ã¹ã¿ã¬ãŒã·ã§ã³ã®æ°ããããã³ãã£ã¢ãæ¢æ±ã§ããŸãã
- ã€ã³ã¿ã©ã¯ãã£ããªã¢ãŒãã€ã³ã¹ã¿ã¬ãŒã·ã§ã³ïŒ ãŠãŒã¶ãŒã®å ¥åãç°å¢ããŒã¿ããŸãã¯ã¢ã«ãŽãªãºã ã«åå¿ãããã¹ãŠã®ãã¥ãŒã¢ã«ãŠããŒã¯ãªèŠèŠäœéšãçæãããã©ãŠã¶ããŒã¹ã®ã¢ãŒãäœåãäœæããŸãã
- æç¶ãåã³ã³ãã³ãäœæããŒã«ïŒ ã¢ãŒãã£ã¹ããçŽæçãªã€ã³ã¿ãŒãã§ã€ã¹ã«ãã£ãŠå¶åŸ¡ãããæç¶ãåææ³ã䜿çšããŠããŠããŒã¯ãªãã¯ã¹ãã£ã3Dã¢ã»ããããŸãã¯æœè±¡çãªãã©ãŒã ãçæã§ãããWebããŒã¹ã®ããŒã«ãéçºããŸãã
æè¡çãªèæ ®äºé ãšå®è£ ã®èª²é¡
å¯èœæ§ã¯ç¡éã§ãããæç¶ãåãžãªã¡ããªçæã«ã¡ãã·ã¥ã·ã§ãŒããŒãå®è£ ããããšã«ã¯ãç¬èªã®æè¡çèæ ®äºé ã䌎ããŸãã
1. å°æ¥ã®WebGPU
WebGL 2.0ã¯åºç€çãªåºç€ãç¯ããŠããŸããããã¡ãã·ã¥ã·ã§ãŒããŒã®ãã€ãã£ããµããŒãã¯ãä»åŸã®WebGPUæšæºã«ããçŽæ¥çã«é¢é£ããŠããŸããWebGPUã¯ãææ°ã®GPUããŒããŠã§ã¢ãžã®äœã¬ãã«ã¢ã¯ã»ã¹ãæäŸããããã«èšèšãããŠãããã³ã³ãã¥ãŒãã·ã§ãŒããŒããéèŠãªã¡ãã·ã¥ã·ã§ãŒãã£ã³ã°ãã€ãã©ã€ã³ãªã©ã®ããé«åºŠãªæ©èœãæå¹ã«ããŸãã
æç¶ãåçæã«ã¡ãã·ã¥ã·ã§ãŒããŒã®å šèœåãæŽ»çšããããšããŠããéçºè ã¯ããŸããŸãWebGPUãæ¡çšããå¿ èŠããããŸãããã®ç§»è¡ã«ã¯ãæ°ããAPIã®åŠç¿ãšãWebGLãšæ¯èŒãããªãœãŒã¹ã®ç®¡çæ¹æ³ã®éãã®çè§£ãå«ãŸããŸãã
2. ã·ã§ãŒããŒã®è€éããšæé©å
è€éãªæç¶ãåçæã«å¹ççãªã¡ãã·ã¥ã·ã§ãŒããŒãäœæããã«ã¯ãGPUã¢ãŒããã¯ãã£ãšæé©åæè¡ãæ·±ãçè§£ããå¿ èŠããããŸããèšè¿°ãäžååãªã·ã§ãŒããŒã¯ãããã«ããã©ãŒãã³ã¹ã®ããã«ããã¯ã«ã€ãªããå¯èœæ§ããããŸãã
- ã¯ãŒã¯ã°ã«ãŒããµã€ãºïŒ 䞊ååŠçãæå€§åãããªãŒããŒããããæå°éã«æããããã«ãã¯ãŒã¯ã°ã«ãŒããµã€ãºãæ éã«éžæããããšãéèŠã§ãã
- ã¡ã¢ãªç®¡çïŒ çæããããžãªã¡ããªã®ãããã¡ã¡ã¢ãªãå¹ççã«ç®¡çããããšãæãéèŠã§ãã
- ã·ã§ãŒããŒããžãã¯ïŒ æç¶ãåçæã®ã¢ã«ãŽãªãºã ã¯ãGPUå®è¡ã念é ã«çœ®ããŠèšèšãã䞊ååå¯èœãªæäœãåªå ããå¿ èŠããããŸãã
3. 䞊ååŠçã®ããã®ã¢ã«ãŽãªãºã èšèš
æç¶ãåçæã®äžæ žã¯ã¢ã«ãŽãªãºã ã«ãããŸããã¡ãã·ã¥ã·ã§ãŒããŒãã¿ãŒã²ããã«ããå Žåããããã®ã¢ã«ãŽãªãºã ã¯æ¬è³ªçã«äžŠååå¯èœã§ãªããã°ãªããŸããã
- ããŒã¿äžŠååŠçïŒ åã¯ãŒã¯ã°ã«ãŒããŸãã¯åŒã³åºãããäž»ã«ç¬èªã®ããŒã¿ã§ç¬ç«ããŠåäœã§ããããã«ãã¢ã«ãŽãªãºã ãèšèšããå¿ èŠããããŸãã
- äŸåé¢ä¿ã®åæžïŒ åæã®åé¡ãããã©ãŒãã³ã¹ãžã®åœ±é¿ãé¿ããããã«ãçæããããžãªã¡ããªã®ããŸããŸãªéšåéã®äŸåé¢ä¿ãæå°éã«æããŸãã
4. ããŒã«ãšãããã°
ã¡ãã·ã¥ã·ã§ãŒããŒéçºã®ãšã³ã·ã¹ãã ã¯ãŸã æçããŠããŸãããè€éãªã·ã§ãŒããŒã³ãŒãã®ãããã°ã¯å°é£ãªå ŽåããããŸãã
- éçºç°å¢ïŒ éçºè ã¯ãGLSLãŸãã¯SPIR-VïŒWebGPUã®äžéèšèªïŒããµããŒãããææ°ã®IDEããã³ã·ã§ãŒããŒéçºããŒã«ã«äŸåããŸãã
- ãããã¡ã€ãªã³ã°ããŒã«ïŒ ãã©ãŠã¶ãã³ããŒãšã°ã©ãã£ãã¯ã¹ãã©ã€ãã«ãã£ãŠæäŸãããGPUãããã¡ã€ãªã³ã°ããŒã«ãå©çšããããšã¯ãããã©ãŒãã³ã¹ã®ããã«ããã¯ãç¹å®ããããã«äžå¯æ¬ ã§ãã
éçºè åãã®å®è¡å¯èœãªã€ã³ãµã€ã
ãã®ãã¯ãããžãŒã掻çšããããšç±æããŠããéçºè åãã«ãããã€ãã®å®è¡å¯èœãªã€ã³ãµã€ãã以äžã«ç€ºããŸãã
- WebGPUããå§ããïŒ WebGPU APIãšããã®ä»åŸã®ã¡ãã·ã¥ã·ã§ãŒããŒæ©èœãçè§£ããŠãã ãããå€ãã®æŠå¿µã¯ç¿»èš³ãããŸãããå®è£ ã¯WebGPUäžå¿ã«ãªããŸãã
- ã·ã§ãŒããŒèšèªããã¹ã¿ãŒããïŒ GLSLïŒWebGLçšïŒãšãå Žåã«ãã£ãŠã¯SPIR-VïŒWebGPUçšïŒããã³ã¡ãã·ã¥ã·ã§ãŒãã£ã³ã°ã«é¢é£ãããã®æ¡åŒµæ©èœãžã®çè§£ãæ·±ããŸãã
- ç°¡åãªã±ãŒã¹ã詊ãïŒ ã¡ãã·ã¥ã·ã§ãŒããŒã䜿çšããŠãåºæ¬çãªæç¶ãåå°åœ¢ããã©ã¯ã¿ã«ããŸãã¯ããŒãã£ã¯ã«ã·ã¹ãã ãªã©ã®ç°¡åãªæç¶ãåçæã¿ã¹ã¯ã®å®è£ ããå§ããŸãã
- çµ¶ãéãªãæé©åããïŒ åžžã«ããã©ãŒãã³ã¹ã念é ã«çœ®ããŠãã ãããã·ã§ãŒããŒã宿çã«ãããã¡ã€ãªã³ã°ããã¯ãŒã¯ã°ã«ãŒããµã€ãºãã¡ã¢ãªã¢ã¯ã»ã¹ãã¿ãŒã³ãããã³ã¢ã«ãŽãªãºã ã®è€éããæé©åããŸãã
- ã©ã€ãã©ãªãæ¢çŽ¢ããïŒ ã¡ãã·ã¥ã·ã§ãŒããŒããã°ã©ãã³ã°ãšæç¶ãåçæã®è€éãã®äžéšãæœè±¡åãããæ°ããç»å Žããã©ã€ãã©ãªãšãã¬ãŒã ã¯ãŒã¯ã«æ³šç®ããŠãã ããã
- æ¢åã®ç ç©¶ã調æ»ããïŒ å€ãã®åŠè¡è«æãæ¥çè«æã§ã¯ãé«åºŠãªæç¶ãåçææè¡ã«ã€ããŠèª¬æããŠããŸãããããã®æŠå¿µãGPUã«é©å¿ãããŸãã
ã°ããŒãã«ãªåœ±é¿ãšå°æ¥ã®å±æ
WebGLã®åºç¯ãªæ¡çšãšWebGPUã®å·®ãè¿«ã£ãç»å Žã¯ãé«åºŠãª3Dã°ã©ãã£ãã¯ã¹ããäžçäžã®èª°ãããçŽæ¥ãŠã§ããã©ãŠã¶ãä»ããŠå©çšã§ããããã«ãªãæªæ¥ã瀺åããŠããŸãã
é«åºŠãªã°ã©ãã£ãã¯ã¹ã®æ°äž»åïŒ ã¡ãã·ã¥ã·ã§ãŒããŒãšæç¶ãåçæã¯ã髿§èœãã¹ã¯ããããœãããŠã§ã¢ã匷åãªããŒã«ã«ããŒããŠã§ã¢ãžã®ã¢ã¯ã»ã¹ã«é¢ä¿ãªããäžçäžã®ã¯ãªãšãŒã¿ãŒãç ç©¶è ãããžãã¹ã匷åããŸããããã«ãããã€ãããŒã·ã§ã³ãä¿é²ããã3Dãã¶ã€ã³ãã²ãŒã ãç§åŠçèŠèŠåãªã©ã®åéãžã®åå ãæ¡å€§ããŸãã
ã³ã©ãã¬ãŒã·ã§ã³ã®åŒ·åïŒ WebããŒã¹ã®ã³ã©ãã¬ãŒã·ã§ã³ãã©ãããã©ãŒã ã¯ããããªããã§ã€ã³ã¿ã©ã¯ãã£ããª3Dãšã¯ã¹ããªãšã³ã¹ãæäŸããããã«ãªããåœéçãªããŒã ãè€éãªã¢ãã«ããªã¢ã«ã¿ã€ã ã§èŠèŠåããå ±åã§äœæ¥ã§ããããã«ãªããŸããã
æ°ããã€ã³ã¿ã©ã¯ãã£ããªãšã¯ã¹ããªãšã³ã¹ïŒ è€éã§åçãªãžãªã¡ããªããã®å Žã§çæããæ©èœã¯ãæè²ããŒã«ããæ²¡å ¥åããŒã±ãã£ã³ã°ãã£ã³ããŒã³ãŸã§ããŸã£ããæ°ãã圢åŒã®ã€ã³ã¿ã©ã¯ãã£ããªWebãšã¯ã¹ããªãšã³ã¹ã«ã€ãªãããŸãã
WebGLã¡ãã·ã¥ã·ã§ãŒã㌠ãžãªã¡ããªå¢å¹ ã®æªæ¥ã¯æããã§ãããã¯ãããžãŒãæçããéçºè åãããŒã«ãæ¹åãããã«ã€ããŠãWebäžã§å¯èœã«ãªããã®ãåå®çŸ©ãããåµé çã§å®çšçãªã¢ããªã±ãŒã·ã§ã³ã®ççºçãªå¢å ãèŠèŸŒãŸããŸããããã¯åãªã段éçãªã¢ããã°ã¬ãŒãã§ã¯ãªããWebãäžçå šäœã«ãšã£ãŠãããèŠèŠçã«è±ãã§ãã€ã³ã¿ã©ã¯ãã£ãã§ããã€ãããã¯ãªãã©ãããã©ãŒã ã«ããããšãçŽæããæ ¹æ¬çãªå€åã§ãã
çµè«ïŒ
æç¶ãåãžãªã¡ããªçæã«é©çšãããWebGLã¡ãã·ã¥ã·ã§ãŒããŒã¯ããŠã§ãäžã®ãªã¢ã«ã¿ã€ã 3Dã°ã©ãã£ãã¯ã¹ã«é©åœãèµ·ããæºåãã§ãã匷åãªæè¡ã®èåã衚ããŠããŸããGPUãè€éãªå¹ŸäœåŠç圢ç¶ãåçãã€å¹ççã«äœæã§ããããã«ããããšã§ãéçºè ã¯èŠèŠçå¿ å®åºŠãã€ã³ã¿ã©ã¯ãã£ãæ§ãã¹ã±ãŒã©ããªãã£ã®å¢çãæŒãåºããããšãã§ããŸããWebãã³ã³ãã³ãã®äœæãšæ¶è²»ã®äž»èŠãªãã©ãããã©ãŒã ãšããŠé²åãç¶ããã«ã€ããŠããããã®é«åºŠãªæè¡ãç¿åŸããããšã¯ãäžçäžã®èŠèŽè åãã®æ²¡å ¥åã§é åçãªãªã³ã©ã€ã³ãšã¯ã¹ããªãšã³ã¹ã®æ¬¡äžä»£ãäœæããããã«äžå¯æ¬ ã§ãã