WebããŒãžã§è€éãªã°ã©ãã£ãã¯ãã¬ã³ããªã³ã°ããããã«ãWebGLãšç¥ãããWebã°ã©ãã£ãã¯ã©ã€ãã©ãªããããŸãã ã€ã³ã¿ãŒãã§ã€ã¹ãã¶ã€ããŒã®Dmitry Vasilievã¯ãã¬ã€ã¢ãŠããã¶ã€ããŒã®èгç¹ããGPUããã°ã©ãã³ã°ã«ã€ããŠãWebGLãšã¯äœãããã®æè¡ã䜿çšããŠå€§èŠæš¡ãªæ°è±¡ããŒã¿ãèŠèŠåããåé¡ãã©ã®ããã«è§£æ±ºãããã«ã€ããŠè©±ããŸããã
-ç§ã¯Yandexã®ãšã«ããªã³ãã«ã¯äºåæã§ã€ã³ã¿ãŒãã§ãŒã¹ãéçºããŠããŸãã ç§ã¯ã¹ããŒãã°ã«ãŒãã§å§ããŸããã ããã±ãŒããµãã«ãŒããªãªã³ããã¯ããã©ãªã³ããã¯ããã®ä»ã®ã¯ãŒã«ãªã€ãã³ãã§äžçéžææš©ãéå¬ããããšããç§ãã¡ã¯ã¹ããŒãç¹å¥ãããžã§ã¯ããéçºããŠããŸããã ãŸããæ°ãããœããã©ãã¯å°çšã®ç¹å¥ãªæ€çŽ¢çµæã®éçºã«ãåãçµã¿ãŸããã




ããã«ã1.5ãã«ã¡ããã§ã¯ããšã©ãŒåŠçãµãŒãã¹ãåèµ·åããŸããã ãã®åŸãPogodaã§äœæ¥ãéå§ããŸãããããã§ã¯ãAPIã®æäœæ§ããã®éçºããã®APIãäžå¿ãšããã€ã³ãã©ã¹ãã©ã¯ãã£ã®äœæãèšç·Žãããæ©æ¢°åŠç¿åŒã®ããŒããã€ã³ããŒã®äœæããµããŒãããŸããã

ããããä»äºã¯ãã£ãšé¢çœããªããŸããã æ°è±¡ãµãŒãã¹ã®åèšèšã«åå ããŸããã ãã¹ã¯ããããææŒãè»ã


æšæºã®äºæž¬ãæŽçããåŸã誰ãæã£ãŠããªãäºæž¬ãããããšã«ããŸããã ãã®äºæž¬ã¯ãé åå
šäœã®éæ°Žéã®åãã®äºæž¬ã§ããã

ååŸ2000 km以å
ã®éæ°Žéãæ€åºããç¹å¥ãªæ°è±¡ã¬ãŒããŒãããããã®å¯åºŠãšè·é¢ãç¥ã£ãŠããŸãã

ãã®ããŒã¿ã䜿çšããŠãããã«åããæ©æ¢°åŠç¿ããããšã§äºæž¬ãããããäžã§
ãã®ãããªèŠèŠåãè¡ããŸããã ååŸã«ç§»åã§ããŸãã

ç§ãã¡ã¯äººã
ã®ã¬ãã¥ãŒãèŠãŸããã 人ã
ã¯ããã奜ãã ã£ãã ããããçš®é¡ã®ããŒã ãçŸãå§ããã¢ã¹ã¯ã¯ãå°çã«toæ¿«ããŠãããšãã«ã¯ãŒã«ãªåçããããŸããã
誰ãããã®ãã©ãŒããããæ°ã«å
¥ã£ãŠãããããæ¬¡ã®äºæž¬ã颚ã«åœãŠãŠé²ããããšã«ããŸããã

颚äºå ±ã衚瀺ãããµãŒãã¹ã¯ãã§ã«ååšããŠããŸãã ããã¯ç®ç«ã€ããã€ãã®é«çŽãªãã®ã§ãã

ããããèŠãŠãç§ãã¡ã¯åãããšãããã-å°ãªããšãæªãã¯ããªãããšã«æ°ä»ããŸããã
ãã®ããã颚éã«å¿ããŠå°å³äžãã¹ã ãŒãºã«ç§»åããç²åãèŠèŠåããèåŸã«äœããã®ã«ãŒããæ®ããŠã颚ã®è»è·¡ãèŠããããã«ããããšã«ããŸããã
ç§ãã¡ã¯ãã§ã«çŽ æŽãããã2Dãã£ã³ãã¹ã䜿çšããŠéæ°Žéã®ããã¯ãŒã«ãªããããäœæããã®ã§ãç²åã«ã€ããŠãåãããšãããããšã«ããŸããã

ãã¶ã€ããŒãšçžè«ããçµæãã¯ãŒã«ãªå¹æãåŸãã«ã¯ãç»é¢ã®çŽ6ïŒ
ãç²åã§åããå¿
èŠãããããšã«æ°ä»ããŸããã
æšæºçãªã¢ãããŒãã䜿çšããŠãã®ãããªæ°ã®ããŒãã£ã¯ã«ãæç»ããããã«ãæå°ã¿ã€ãã³ã°ã¯5ããªç§ã§ããã

ããŒãã£ã¯ã«ãç§»åããããŒãã£ã¯ã«ã®å°ŸãæããããªçŸãããããããå¿
èŠããããšæãããå Žåã¯ãå°ãªããšã25ãã¬ãŒã /ç§ãçæããããã«ãã¹ã ãŒãºãªã¢ãã¡ãŒã·ã§ã³ã衚瀺ããããã«æäœ40ããªã®ã¿ã€ãã³ã°ã§æãããšæ³å®ã§ããŸãã
åé¡ã¯ãããã§ã¯ãã¹ãŠã®ç²åãé çªã«åŠçãããããšã§ãã ãããããããã䞊è¡ããŠåŠçãããšã©ããªããŸããïŒ
ã«ã³ãã¡ã¬ã³ã¹ã®1ã€ã§ããLegend Breakersãã«ãã£ãŠãäžå€®åŠçè£
眮ãšã°ã©ãã£ãã¯åŠçè£
眮ã®åäœã®æç¢ºãªåºå¥ã瀺ãããŸããã ãã€ã³ãããŒã«ããŒã«ãŒãåãä»ãããããã·ã³ãå±éããŸããããã®ã¿ã¹ã¯ã¯ãã¹ãã€ã«ã1è²ã§æãããšã§ããã çŽ10ç§ã§ã圌ã¯ãã®ãããªçµµãæããŸããã ïŒ
ãããªãžã®ãªã³ã¯ -æŠç®ïŒ



ãã®åŸãGPUã§ããã«ããŒãå±éããã¢ããªã¶ã«ããã€ãã®åŸãå¡ããŸããã ããã«ãããCPUãšGPUã®èšç®é床ãç°ãªããŸãã





ãã©ãŠã¶ã§ãã®ãããªæ©äŒã掻çšããããã«ãWebGLãã¯ãããžãŒãçºæãããŸããã
ããã¯äœã§ãã ãã®è³ªåã§ãç§ã¯ã€ã³ã¿ãŒãããã«ç»ããŸããã ããŒãã£ã¯ã«ã¢ãã¡ãŒã·ã§ã³ãšé¢šã®èšèãããã€ã远å ãããšãããã€ãã®èšäºãèŠã€ãããŸããã

ã¹ã©ã€ãããã®ãªã³ã¯ïŒ first ã second
ãããã®1ã€ã¯ãWebGLã§é¢šãäœããGPUã§ããŒãã£ã¯ã«ã®ç¶æ
ãç§»åããã³ä¿åããæ¹æ³ã«ã€ããŠè©±ããChris Wellonsã®ããã°ãåç
§ãããMapboxã®ãšã³ãžãã¢Vladimir Agafonkinã®ãã¢ã§ãã
åã£ãŠã³ããŒããŸãã ãã®ãããªçµæãæåŸ
ããŠããŸãã ããã§ãç²åã¯ã¹ã ãŒãºã«åããŸãã

äœãããããªãã®ãããããŸããã

ã³ãŒããçè§£ããããšããŠããŸãã æ¹åãåã³äžæºè¶³ãªçµæãåŸãã ããã«æ·±ãç»ããŸã-颚ã®ä»£ããã«éšãéããŸãã

ããŠãç§ãã¡ã¯èªåã§ãããããããšã«ããŸããã

WebGLã䜿çšããã«ã¯ããã¬ãŒã ã¯ãŒã¯ãååšããŸãã ãããã®ã»ãšãã©ãã¹ãŠã¯ã3Dãªããžã§ã¯ãã®æäœãç®çãšããŠããŸãã ãããã®3Dæ©èœã¯å¿
èŠãããŸããã ããŒãã£ã¯ã«ãæç»ããŠç§»åããã ãã§ãã ãããã£ãŠãç§ãã¡ã¯ãã¹ãŠãæã§è¡ãããšã«ããŸãã

çŸåšãWebGLãã¯ãããžãŒã«ã¯2ã€ã®ããŒãžã§ã³ããããŸãã ã¯ãŒã«ãª2çªç®ã®ããŒãžã§ã³ã¯ãã°ã©ãã£ãã¯ã¢ããã¿ãŒã§ããã°ã©ã ãå®è¡ãããããã°ã©ãã³ã°èšèªã®ææ°ã®ããŒãžã§ã³ãåããŠãããæç»ã ãã§ãªãçŽæ¥èšç®ãå®è¡ã§ããŸãã ãã ããäºææ§ã¯äžååã§ãã

ããŠãOpera Mini以å€ã®åªãããµããŒããåããå€ãå®çžŸã®ããWebGL 1ã䜿çšããããšã«ããŸããã

WebGLã¯2ã€ã®ã³ã³ããŒãã³ãããæ§æãããŠããŸãã ããã¯ãã°ã©ãã£ãã¯ã«ãŒãã§å®è¡ãããããã°ã©ã ã®ç¶æ
ãå®è¡ããJSã§ãã ãŸããã°ã©ãã£ãã¯ã«ãŒãã§çŽæ¥å®è¡ãããã³ã³ããŒãã³ãããããŸãã
JSããå§ããŸãããã WebGLã¯ãcanvasèŠçŽ ã«é©åãªã³ã³ããã¹ãã§ãã ããã«ããã®ã³ã³ããã¹ããåãåããšãå²ãåœãŠãããã®ã¯ç¹å®ã®ãªããžã§ã¯ãã ãã§ã¯ãªããéã®ãªãœãŒã¹ãå²ãåœãŠãããŸãã ãããŠããã©ãŠã¶ã®WebGLã§äœãçŸãããã®ãå®è¡ããQuakeããã¬ã€ããããšã«æ±ºããå Žåããããã®ãªãœãŒã¹ã倱ãããã³ã³ããã¹ãã倱ãããããã°ã©ã å
šäœãå£ããå¯èœæ§ãéåžžã«é«ããªããŸãã

ãããã£ãŠãWebGLã䜿çšããå Žåã¯ãã³ã³ããã¹ãã®åªå€±ããªãã¹ã³ããŠãå埩ã§ããããã«ããå¿
èŠããããŸãã ãããã£ãŠãinitãããã§ããããšã匷調ããŸããã

ããã«ãJSã®ãã¹ãŠã®äœæ¥ã¯ãGPUäžã§å®è¡ãããããã°ã©ã ãåéãããããã«ã°ã©ãã£ãã¯ã«ãŒããéä¿¡ããããã€ãã®ãã©ã¡ãŒã¿ãŒãèšå®ãããæç»ããšèšãã ãã§ãã

WebGLã§ã¯ãã³ã³ããã¹ãèŠçŽ èªäœãèŠããšãããããã®å®æ°ãèŠãããšãã§ããŸãã ãããã®å®æ°ã¯ãã¡ã¢ãªå
ã®ã¢ãã¬ã¹ãåç
§ããŸãã å®éãããã°ã©ã ã®ããã»ã¹ã§ã¯äžå®ã§ã¯ãããŸããã ã³ã³ããã¹ãã倱ãããåã³åŸ©å
ããããšãå¥ã®ã¢ãã¬ã¹ããŒã«ãå²ãåœãŠãããå¯èœæ§ãããããããã®å®æ°ã¯çŸåšã®ã³ã³ããã¹ãã§ã¯ç°ãªãããã§ãã ãããã£ãŠãJSåŽã®WebGLã®ã»ãšãã©ãã¹ãŠã®æäœã¯ããŠãŒãã£ãªãã£ãä»ããŠå®è¡ãããŸãã 誰ãäœæããã®ä»ã®ãŽããèŠã€ãããšããæ¥åžžçãªä»äºãããããªãã

ãããªã«ãŒãèªäœã§å®è¡ããããã®ã«æ³šç®ããŸããããã¯ãCã©ã€ã¯ãªèšèªGLSLã§èšè¿°ããã2çµã®åœä»€ã§æ§æãããããã°ã©ã ã§ãã ãããã®åœä»€ã¯ãé ç¹ã·ã§ãŒããŒããã³ãã©ã°ã¡ã³ãã·ã§ãŒããŒãšåŒã°ããŸãã ããã°ã©ã ã¯ãã®ãã¢ããäœæãããŸãã

ãããã®ã·ã§ãŒããŒã®éãã¯äœã§ããïŒ é ç¹ã·ã§ãŒããŒã¯ãäœããæç»ãã衚é¢ãèšå®ããŸãã å¡ãã€ã¶ãå¿
èŠãããããªããã£ããèšå®ããåŸããã®ç¯å²ã«å
¥ããã©ã°ã¡ã³ãã·ã§ãŒããŒãåŒã³åºãããŸãã


ã³ãŒãã§ã¯ããã®ããã«èŠããŸãã ã·ã§ãŒããŒã«ã¯ãJSã®å€éšã§èšå®ããã倿°ã宣èšããããã®ã»ã¯ã·ã§ã³ãããããã®ã¿ã€ããšååãæ±ºå®ãããŸãã ãã®ç¹°ãè¿ãã«å¿
èŠãªã³ãŒããå®è¡ããã¡ã€ã³ã»ã¯ã·ã§ã³ãšåæ§ã«ã
ã»ãšãã©ã®å Žåãé ç¹ã·ã§ãŒããŒã¯gl_Position倿°ã4次å
空éã®åº§æšã«èšå®ããããšãæåŸ
ãããŠããŸãã ããã¯xãyãzããã³ã¹ããŒã¹ã®å¹
ã§ãããçŸæç¹ã§ç¥ãå¿
èŠã¯ãããŸããã
ãã©ã°ã¡ã³ãã·ã§ãŒããŒã¯ãç¹å®ã®ãã¯ã»ã«ã®è²ãèšå®ããããšãæ³å®ããŠããŸãã
ãã®äŸã§ã¯ãæ¥ç¶ããããã¯ã¹ãã£ããéžæããããã¯ã»ã«ã«ã©ãŒããããŸãã

ãããJSã«è»¢éããã«ã¯ãã·ã§ãŒããŒã®ãœãŒã¹ã³ãŒãã倿°ã§ã©ããããã ãã§ãã

ããã«ããããã®å€æ°ã¯ã·ã§ãŒããŒã«å€æãããŸãã ããã¯WebGLã³ã³ããã¹ãã§ãããœãŒã¹ã³ãŒãããã·ã§ãŒããŒãäœæãã䞊è¡ããŠããã°ã©ã ãäœæããããã€ãã®ã·ã§ãŒããŒãããã°ã©ã ã«ã¢ã¿ããããŸãã å®è¡å¯èœãªããã°ã©ã ãååŸããŸãã
éäžã§ãã·ã§ãŒããŒã®ã³ã³ãã€ã«ãæåããããšãããã°ã©ã ãæ£åžžã«ãã«ããããããšã確èªããŸãã ç°ãªãã¬ã³ããªã³ã°å€ã«å¯ŸããŠè€æ°ã®ããã°ã©ã ãååšããå¯èœæ§ãããããããã®ããã°ã©ã ã䜿çšããå¿
èŠããããšèšããŸãã
ãããèšå®ããŠããããŒãšèšããŸãã ããçš®ã®åçã倿ããŸãã

ããæ·±ãç»ããŸããã é ç¹ã·ã§ãŒããŒã§ã¯ãåºåãã€ã³ãã®ãµã€ãºã«é¢ä¿ãªãããã¹ãŠã®èšç®ã¯-1ã1ã®ã¹ããŒã¹ã§å®è¡ãããŸãã ããšãã°ã-1ã1ã®ã¹ããŒã¹ã¯ãç»é¢å
šäœã1920x1080ã§å æã§ããŸããç»é¢ã®äžå€®ã«äžè§åœ¢ãæãã«ã¯ã座æš0ã0ãã«ããŒãããµãŒãã§ã¹ãæãå¿
èŠããããŸãã

ãã©ã°ã¡ã³ãã·ã§ãŒããŒã¯0ã1ã®ç©ºéã§æ©èœããè²ã¯RãGãBãã¢ã«ãã¡ã®4ã€ã®ã³ã³ããŒãã³ãã§è¡šç€ºãããŸãã
äŸãšããŠCSSã䜿çšãããšãããŒã»ã³ããŒãžã䜿çšãããšãã«äŒŒããããªè²ã®è¡šèšã«ééããå ŽåããããŸãã

äœããæãã«ã¯ãã©ã®ããŒã¿ãæãå¿
èŠãããããèšãå¿
èŠããããŸãã ç¹ã«äžè§åœ¢ã«ã€ããŠã¯ãxãyãããã³ååãª3ã€ã®ã³ã³ããŒãã³ãã§æ§æããã3ã€ã®é ç¹ã®åä»ãé
åãå®çŸ©ããŸãã
ãã®å Žåãé ç¹ã·ã§ãŒããŒã¯çŸåšã®ãã€ã³ãã®ãã¢ã座æšãååŸããç»é¢äžã§ãã®åº§æšãèšå®ããããã«èŠããŸãã ããã§ã¯ã倿ãªãã§ãç»é¢ã«ãã€ã³ããé
眮ããŸãã

ãã©ã°ã¡ã³ãã·ã§ãŒããŒã¯ãJSãã転éããã宿°ã远å ã®èšç®ãªãã§è²ã§è²ä»ãã§ããŸãã ããã«ããã©ã°ã¡ã³ãã·ã§ãŒããŒã®äžéšã®å€æ°ãå€éšãŸãã¯ä»¥åã®ã·ã§ãŒããŒãã転éãããå Žåã粟床ãæå®ããå¿
èŠããããŸãã ãã®å ŽåãäžçšåºŠã®ç²ŸåºŠã§ååã§ãããã»ãšãã©ã®å Žåããã§ååã§ãã

JSã«æž¡ããŸãã åãã·ã§ãŒããŒã倿°ã«å²ãåœãŠããããã®ã·ã§ãŒããŒãäœæãã颿°ã宣èšããŸãã ã€ãŸããã·ã§ãŒããŒãäœæããããœãŒã¹ãã·ã§ãŒããŒã«æ³šãããã³ã³ãã€ã«ãããŸãã

é ç¹ãšãã©ã°ã¡ã³ãã®2ã€ã®ã·ã§ãŒããŒãäœæããŸãã

ãã®åŸãããã°ã©ã ãäœæããæ¢ã«ã³ã³ãã€ã«ãããã·ã§ãŒããŒãã¢ããããŒãããŸãã ã·ã§ãŒããŒã¯äºãã«å€æ°ã亀æã§ãããããããã°ã©ã ããã€ã³ãããŸãã ãããŠãã®æ®µéã§ããããã®ã·ã§ãŒããŒã亀æãã倿°ã®ã¿ã€ãã®å¯Ÿå¿ããã§ãã¯ãããŸãã
ãã®ããã°ã©ã ã䜿çšãããšèšããŸãã

次ã«ãèŠèŠåããé ç¹ã®ãªã¹ããäœæããŸãã WebGLã«ã¯ãããã€ãã®å€æ°ã«å¯ŸããŠè峿·±ãæ©èœããããŸãã ç¹å®ã®ããŒã¿åã倿Žããã«ã¯ãarray_bufferãç·šéããããã®ã°ããŒãã«ã³ã³ããã¹ããèšå®ãããã®ã¢ãã¬ã¹ã«äœããã¢ããããŒãããå¿
èŠããããŸãã 倿°ãžã®ããŒã¿ã®æç€ºçãªå²ãåœãŠã¯ãããŸããã ãã¹ãŠã¯ãäœããã®ã³ã³ããã¹ããå«ããããšã§å®è¡ãããŸãã
ãã®ãããã¡ããèªã¿åãããã®ã«ãŒã«ãèšå®ããå¿
èŠããããŸãã 6ã€ã®èŠçŽ ã®é
åãæå®ããããšãããããŸãããããã°ã©ã ã¯åé ç¹ã2ã€ã®ã³ã³ããŒãã³ãã§æ§æãããŠããããšã説æããå¿
èŠããããŸãããã®ã¿ã€ãã¯ãããŒãã§ãããã¯æåŸã®è¡ã§è¡ãããŸãã

è²ãèšå®ããããã«ãããã°ã©ã ã¯u_color倿°ã®ã¢ãã¬ã¹ãæ€çŽ¢ãããã®å€æ°ã®å€ãèšå®ããŸãã è²ãèšå®ããŸããèµ€255ã0.8ã¯ç·ã0ã¯éãå®å
šã«äžéæãªãã¯ã»ã«-é»è²ã«å€ãããŸãã ãããŠãäžè§åœ¢ããªããã£ãã䜿çšããŠãã®ããã°ã©ã ãå®è¡ãããšèšããŸããWebGLã§ã¯ãç¹ãç·ãäžè§åœ¢ãè€éãªåœ¢ç¶ã®äžè§åœ¢ãªã©ãæç»ã§ããŸãã ãããŠã3ã€ã®ããŒã¯ãäœæããŸãã

ãŸããã¬ã³ããªã³ã°å¯Ÿè±¡ã®é
åãæåããã«ãŠã³ãããããã«æå®ããããšãã§ããŸãã

ãã®äŸãå°ãè€éã«ãããšãã«ãŒãœã«äœçœ®ã«è²ã®äŸåé¢ä¿ã远å ã§ããŸãã åæã«ãfpsã¯å±æ ¹ãééããŸãã

äžçäžã«ç²åãæãã«ã¯ããã®äžçã®ããããå°ç¹ã®é¢šéãç¥ãå¿
èŠããããŸãã
ããããæ¡å€§ããŠäœããã®æ¹æ³ã§ç§»åããã«ã¯ããããã®çŸåšã®äœçœ®ã«äžèŽããã³ã³ãããŒãäœæããå¿
èŠããããŸãã
ããŒãã£ã¯ã«èªäœãç§»åããã«ã¯ãGPUã䜿çšããŠæŽæ°ã§ããããŒã¿åœ¢åŒãäœæããå¿
èŠããããŸãã æç»èªäœãäœæããã«ãŒããæç»ããŸãã

ãã¯ã¹ãã£ãä»ããŠãã¹ãŠã®ããŒã¿ãåŠçããŸãã 22ãã£ã³ãã«ã䜿çšããŠãæ°Žå¹³ããã³åçŽéåºŠãæ±ºå®ããŸããããã§ã颚éãŒãã¯è²ç¯å²ã®äžå€®ã«å¯Ÿå¿ããŸãã çŽ128ã§ãã é床ã¯è² ãšæ£ã®ã©ã¡ãã«ãã§ãããããç¯å²ã®äžå€®ãåºæºã«ããŠè²ãèšå®ããŸãã
ãã®ãããªåçã倿ããŸãã

ã«ãŒãã«èªã¿èŸŒãã«ã¯ãã«ããããå¿
èŠããããŸãã ç»åããããã«æ¥ç¶ããã«ã¯ãæšæºã®Yandex.Mapã¬ã€ã€ãŒããŒã«ã䜿çšããŸãããã®ããŒã«ã§ã¯ãã¿ã€ã«ãã«ããããã¢ãã¬ã¹ã決å®ãããã®ã¬ã€ã€ãŒããããã«è¿œå ããŸãã

äžå¿«ãªç·è²ã颚éã§ã³ãŒãåãããŠããåçãåŸãããŸãã

次ã«ãã¢ãã¡ãŒã·ã§ã³èªäœãæç»ããå ŽæãååŸããå¿
èŠããããŸãããã®å Žæã¯ããããã®åº§æšããã®åããããã³ãã®ä»ã®ã¢ã¯ã·ã§ã³ã«å¯Ÿå¿ããå¿
èŠããããŸãã
ããã©ã«ãã§ã¯ãã¬ã€ã€ãŒã䜿çšãããšæ³å®ã§ããŸãããã«ãŒãã¬ã€ã€ãŒã¯ãã£ã³ãã¹ãäœæãããããããã£ããã£å¯èœãª2Dã³ã³ããã¹ããå³åº§ã«ãã£ããã£ããŸãã ãããããã§ã«ç°ãªãã¿ã€ãã®ã³ã³ããã¹ããæã£ãŠãããã£ã³ãã¹ããååŸããŠãããããGLã³ã³ããã¹ããååŸããããšãããšãçµæãšããŠnullãååŸããŸãã ã¢ã¯ã»ã¹ãããšãããã°ã©ã ãã¯ã©ãã·ã¥ããŸãã

ãã®ããããã€ã³ã®å©ç¹ã掻çšããŸããããããã¯ã¬ã€ã€ãŒã®ã³ã³ããã§ãããããã«ãã£ã³ãã¹ã远å ããŸããããããããå¿
èŠãªã³ã³ããã¹ããååŸããŸããã

äœããã®æ¹æ³ã§ç²åãç»é¢äžã«é
眮ããŠç§»åã§ããããã«ããããã«ããã¯ã¹ãã£å
ã®ç²åã®äœçœ®ã®åœ¢åŒã䜿çšãããŸããã
ã©ã®ããã«æ©èœããŸããïŒ æé©åã®ããã«æ£æ¹åœ¢ã®ãã¯ã¹ãã£ãäœæãããããã§ãã®èŸºã®ãµã€ãºãããããŸãã

ç²åãé çªã«æç»ããç²åã®ã·ãªã¢ã«çªå·ãšç²åãä¿åãããŠãããã¯ã¹ãã£ã®ãµã€ãºãç¥ãããšã«ãããå®éã®ç»é¢äžã®äœçœ®ããšã³ã³ãŒããããç¹å®ã®ãã¯ã»ã«ãèšç®ã§ããŸãã


ã·ã§ãŒããŒèªäœã§ã¯ãã¬ã³ããªã³ã°ãããã€ã³ããã¯ã¹ãããŒãã£ã¯ã«ã®çŸåšã®äœçœ®ãããã³èŸºã®ãµã€ãºã®ãã¯ã¹ãã£ãèªã¿åãããã«èŠããŸãã æ¬¡ã«ããã®ããŒãã£ã¯ã«ã®xãy座æšã決å®ãããã®å€ãèªã¿åã£ãŠãã³ãŒãããŸãã ããã¯ã©ã®ãããªéæ³ã§ããïŒrg / 255 + baïŒ
ããŒãã£ã¯ã«ã®äœçœ®ã«ã¯ã20ã®ããã«ãã£ãã«ã䜿çšããŸãã ã«ã©ãŒãã£ã³ãã«ã®å€ã¯0ã255ã§ã1080ã¹ã¯ãªãŒã³ã§ã¯ãç²åãæå€§255ãã¯ã»ã«ã«é
眮ã§ãããããå°ãã§ãã¹ã¯ãªãŒã³ã®ã©ã®äœçœ®ã«ãç²åãé
眮ã§ããŸããã ãããã£ãŠã1ã€ã®ãã£ãã«ã«ã¯ãããŒãã£ã¯ã«ã255ãã¯ã»ã«ãééããåæ°ã«é¢ããç¥èãæ ŒçŽããã2çªç®ã®ãã£ãã«ã«ã¯ãééããæ£ç¢ºãªå€ãæ ŒçŽãããŸãã
次ã«ãé ç¹ã·ã§ãŒããŒã¯ãããã®å€ãã¯ãŒã¯ã¹ããŒã¹ãã€ãŸã-1ãã1ã«å€æãããã£ã¹ãã¬ã€äžã®ãã®ãã€ã³ããèšå®ããå¿
èŠããããŸãã

ç²åãèŠãã«ã¯ãçœã§ãã€ã³ãããŠãã ããã GLSLã«ã¯ã倿°ã®åãå®çŸ©ããŠå®æ°ã«æž¡ããšãããšãã°ããã®å®æ°ã4ã€ãã¹ãŠã®ã³ã³ããŒãã³ãã«åæ£ããããããªç³è³ªããããŸãã

ãã®ãããªããã°ã©ã ãæç»ãããšãåäžã®æ£æ¹åœ¢ã®ã»ããã衚瀺ãããŸãã ãããã«çŸããã远å ããŠã¿ãŸãããã

ãŸãããããã®æ£æ¹åœ¢ã®çŸåšã®é¢šéãžã®äŸåæ§ã远å ããŸãã åããŒãã£ã¯ã«ã®çŸåšã®é床ãšå¯Ÿå¿ãããã¯ã¹ãã£ãåçŽã«èªã¿åããŸãã ãã€ã³ãã®çµ¶å¯Ÿé床ã«å¯Ÿå¿ãããã¯ãã«ã®é·ããååŸãããã®é床ãç²åãµã€ãºã«è¿œå ããŸãã

ããã«ãæ£æ¹åœ¢ãæç»ããªãããã«ããã©ã°ã¡ã³ãã·ã§ãŒããŒã§ãååŸã®å€åŽã«ãããã¹ãŠã®ãã¯ã»ã«ãåãåããŸãããããã®ãã¯ã»ã«ã¯ãå
æ¥åã®ååŸã«ã¯å«ãŸããŸããã ã€ãŸããã·ã§ãŒããŒã¯ãã®ãããªãã®ã«å€ãããŸãã

äžå¿ããã¬ã³ããªã³ã°ããããã¯ã»ã«ãŸã§ã®è·é¢ãèšç®ããŸãã ã¹ããŒã¹ã®ååãè¶
ããå Žåã衚瀺ãããŸããã

ãã倿§ãªç¶æ³ãåŸãããŸãã
次ã«ãäœããã®æ¹æ³ã§ãããã®ãã®ãç§»åããå¿
èŠããããŸãã WebGL 1ã¯äœããèšç®ããããŒã¿ãçŽæ¥æäœããæ¹æ³ãç¥ããªããããããã°ã©ã ãç¹å¥ãªã³ã³ããŒãã³ãããã¬ãŒã ãããã¡ãŒã«ã¬ã³ããªã³ã°ããæ©èœãå©çšããŸãã
ãã¬ãŒã ãããã¡ã¯ãããšãã°ãæŽæ°å¯èœãªãã¯ã¹ãã£ã«ãããã³ã°ã§ããŸãã ãã¬ãŒã ãããã¡ã宣èšãããŠããªãå Žåãããã©ã«ãã§ç»é¢äžã«æç»ãå®è¡ãããŸãã
åºåã1ã€ã®äœçœ®ãã¯ã¹ãã£ããå¥ã®ãã¯ã¹ãã£ã«åãæ¿ãããããã1ã€ãã€æŽæ°ããŠãããã¬ã³ããªã³ã°ã«äœ¿çšã§ããŸãã


äœçœ®èªäœãæŽæ°ããæé ã¯æ¬¡ã®ããã«ãªããŸããçŸåšã®äœçœ®ãèªã¿åããçŸåšã®é床ãã¯ãã«ã«è¿œå ããŠè¿œå ããæ°ããè²ã§ãšã³ã³ãŒãããŸãã

ã³ãŒãã§ã¯ãçŸåšã®äœçœ®ã®èªã¿åãããã³ãŒããçŸåšã®é床ã®èªã¿åããé床ã®éåžžåã2ã€ã®ã³ã³ããŒãã³ãã®æãç³ã¿ãã«ã©ãŒã³ãŒãã£ã³ã°ã®ããã«èŠããŸãã

ãã®ãããªåçã倿ããŸãã ããŒãã£ã¯ã«ã®ç¶æ
ã¯åžžã«å€åããŠãããããçš®ã®ã¢ãã¡ãŒã·ã§ã³ã衚瀺ãããŸãã
ãã®ãããªã¢ãã¡ãŒã·ã§ã³ã5ã10åéå®è¡ãããšããã¹ãŠã®ããŒãã£ã¯ã«ãæçµç®çå°ã«å°çããããšãæç¢ºã«ãªããŸãã ãããã¯ãã¹ãŠæŒæã«æ»ã蟌ã¿ãŸãã ãã®ãããªåçãååŸããŸãã

ãããé¿ããããã«ãã©ã³ãã ãªå Žæã«ç²åé åã®èŠçŽ ãå°å
¥ããŸãã
ããã¯ãçŸåšã®é¢šéãçŸåšã®ç²åã®äœçœ®ãããã³JSããéä¿¡ããä¹±æ°ã«äŸåããŸããããã¯ãWebGLã®æåã®ããŒãžã§ã³ã«ã¯ã©ã³ãã åæ©èœãšäœããã®ãã€ãºæ©èœããªãããã§ãã

ãã®äŸã§ã¯ãããŒãã£ã¯ã«ã®äºæž¬äœçœ®ãã©ã³ãã ãªäœçœ®ãèšç®ãããªã»ããä¿æ°ã«å¿ããŠã©ã¡ãããéžæããŸãã

ã¹ã©ã€ãããã®ãªã³ã¯ïŒ first ã second ã third ã fourth
æåŸã®ã¹ã©ã€ãã®å
容ãçè§£ããã«ã¯ããããã®èšäºãèªãããšãã§ããŸãã 1ã€ç®ã¯ãWebGLãæäŸãããã®ããããäœã§æ§æãããã©ã®ããã«ééããªãããçè§£ããäžã§å€§ããªåŸæŒããšãªããŸãã Khronosã§ã¯ãããã¯æšæºãéçºããŠããã°ã«ãŒãã§ããããã¹ãŠã®æ©èœã®èª¬æããããŸãã

ã¿ã¹ã¯ã®æåŸã®ãã€ã³ãã¯ãç²åã®çè·¡ãæãããšã§ãã ãããè¡ãã«ã¯ãäœçœ®æŽæ°ãã¯ã¹ãã£ãšåæ§ã«ãç»é¢äžã®çŸåšäœçœ®ã2ã€ã®ãã¯ã¹ãã£ã§èšé²ããç»é¢äžã®çŸåšäœçœ®ã衚瀺ããéæåºŠããããã«äžããæ°ããããŒãã£ã¯ã«äœçœ®ãéããŠããã®ç»åã®éæåºŠãäœåºŠãäžããŸãæ°ããäœçœ®ããªãŒããŒã¬ã€ããŸãã

ãã®ãããªã«ãŒãã¢ãã¡ãŒã·ã§ã³ãååŸããŸãã


WebGLã®ã¬ã³ããªã³ã°ã®å®å
šãªãµã€ã¯ã«ãš2Dãã£ã³ãã¹ã䜿çšããç»é¢äžã®ããã€ãã®ãã€ã³ãã®è¡šç€ºãæ¯èŒãããšãé床ã«å€§ããªã®ã£ãããèŠãããŸãã 2Dãã£ã³ãã¹ã«64,000ãã€ã³ããæç»ããã«ã¯ãå¹³å25ããªç§ããããŸãããWebGLã¯ã¡ã€ã³ã¹ããªãŒã ã0.3ããªç§ãããã¯ããŸãã ããã¯çŸåã®éãã§ãã
ãããã£ãŠãWebGLã䜿çšãããšãããŒã¹ã®ãããŒã®ãããã¯ãå°ãªããªããŸããããã¯ãã«ãŒãèªäœã®é«ãå¿çæ§ãéèŠã§ããã«ãŒãã§äœæ¥ããå Žåã«ç¹ã«éèŠã§ãã
æåã¯ããã¹ãŠã®éçºè
ããã©ãŠã¶ãŒã³ã³ãœãŒã«ã䜿çšããŠããã€ãã®ãã¬ãŒã¯ãã€ã³ããã³ã³ãœãŒã«ãã°ãèšå®ããå
éšã§äœãèµ·ãã£ãŠãããã確èªããããšã«æ
£ããŠããã§ãããã WebGLã¯ãã©ãã¯ããã¯ã¹ã§ãã

ãããã圌ãšäžç·ã«äœæ¥ã§ããããŒã«ãããã€ããããŸãã ããšãã°ãFirefoxã«ã¯çµã¿èŸŒã¿ã®ãã·ã§ãŒããŒãã¿ããããããã®å Žã§WebGLãã£ã³ãã¹ãç»é¢äžã§èŠã€ããããããããã°ã©ã ãæœåºããããããã·ã§ãŒããŒãæœåºãããã®å Žã§å€ã倿Žã§ããŸãã ããšãã°ããã®å Žã§ããããã®è²ãçœããéã«å€ãããŸãã

äœæ¥ãç°¡åã«ãã2çªç®ã®ããŒã«ã¯ãSpector.jsãã©ãŠã¶ãŒæ¡åŒµæ©èœã§ãã ãŸããWebGLã³ã³ããã¹ããããã£ã³ãã¹ããã£ããã£ãããã®ãã£ã³ãã¹ã§å®è¡ããããã¹ãŠã®æäœãã¿ã€ãã³ã°ãããã³æž¡ããã倿°ã衚瀺ã§ããŸãã

åèš1é±éã®äœæ¥ã§ããŒããã
ã¿ãŒã³ããŒãœãªã¥ãŒã·ã§ã³ãååŸããŸããã ãããã©ããªçš®é¡ã®ãã¯ãããžãŒã§ããããWebGLããããäœã§æ§æãããŠããããäŒãã補åã§ã®ãã®äœ¿çšã®å®äŸã瀺ãããšãã§ãããšæããŸãã ããã ãã§ã