ãã¹ãŠã®ãããªã«ãŒãã®ãã®ãããªã¬ã³ããªã³ã°ã®ã¢ã€ãã¢ã¯é·ãé空äžã«ãããŸããããç¹ã«Direct3Dã§ã®é«å質ãªå®è£ ã«ã¯è³ããŸããã§ããã ç§ãã¡ã®ä»äºã®äžã§ãç§ãã¡ã¯éåžžã«ã¯ã€ã«ããªæã«ãªããããã«ç§ãã¡ãäœã«å°ãããã®ãããããã©ã®ããã«æ©èœããã®ããäŒããŸãã

åãã®ãªãã¬ã³ããªã³ã°ããŸãã¯ä»®å®ãªãã®ã¬ã³ããªã³ã°ã¯ãäžé£ã®èšäºã§ãã«ã±ãã¹ããŒã«ãã£ãŠéåžžã«ãã説æãããŠããŸãã
ãGPUã§ã®ãã¹ã®ãã¬ãŒã¹ã ããŒã1 ã ããŒã2 ãããã³ã åãã®ãªãã¬ã³ããªã³ã°ïŒä»®å®ãªãã®ã¬ã³ããªã³ã°ïŒ ãã
èŠããã«ãããã¯èšç®ã«äœç³»çãªãšã©ãŒãå°å ¥ãããç©ççã«æ£ç¢ºãªå¹æãåçŸããã¬ã³ããªã³ã°ã§ã
- ã°ããŒãã«ç §æ
- ãœããã·ã£ããŠããªã¢ã«ãªåå°
- 被åç深床ãšã¢ãŒã·ã§ã³ãã©ãŒ
- å°äžåæ£ãªã©

ç©ççãªä¿¡é Œæ§ãšç»åã®å質ã®ããããã®ã¢ãããŒãã¯æããã«éåžžã«ãªãœãŒã¹ãæ¶è²»ããŸãã ãã®åé¡ã¯ãGPUã«èšç®ã転éããããšã§è§£æ±ºã§ããŸãããã®ã¢ãããŒãã§ã¯ãGPUããã€ã¹ããšã«æ倧50ã®èšç®é床ãšæéãå®çŸã§ããããã§ãã

1200x600ïŒã¯ãªãã¯å¯èœïŒãAMD Radeon HD 6870ãã¬ã³ããªã³ã°æéïŒ 9å
ãªãDirect3D
å€ãã®GPGPUãã©ãããã©ãŒã ïŒOpenCLãCUDAãFireStreamãDirectComputeãC ++ AMPãã·ã§ãŒããŒãªã©ïŒããããŸãããæé©ãªéžæã«ã€ããŠã¯ãŸã è°è«ãããã䜿çšããæ¹ãè¯ããã©ããã«ã€ããŠæ確ãªçãã¯ãããŸããã ãã®APIåãéžæããããšã«ãªã£ãDirect3Dãæ¯æããäž»ãªè°è«ãæ€èšããŠãã ããã
- ãã¹ãŠã®ããã»ããµã¢ãã«ã§ãšãã¥ã¬ãŒãããããããªã«ãŒãã®å šç¯å²ã§åäœïŒåãã·ã§ãŒããŒãã©ãã§ãåäœ
- Direct3Dä»æ§ã¯ãæ¶è²»è åãéã®éçºã®æ¹åã決å®ããŸã
- åžžã«ææ°ã§æãå®å®ãããã©ã€ããŒãæåã«å ¥æãã
- ä»ã®ã¯ãã¹ãã³ããŒãã¯ãããžãŒã¯å®å®ããŠããªããããµããŒããäžååã§ãã
OpenCLãšDirect3Dãããå°ãªããšãå®å®ãããã©ã€ããŒãæã¡ãã²ãŒã æ¥çã®æ°å幎ã«ãã£ãŠç£šãããå€ãã®ãã³ãããŒã¯ã§æé«ã®ããã©ãŒãã³ã¹ãçºæ®ããæªãéžã³ãŸããã ãŸããã¿ã¹ã¯ã«åºã¥ããŠããã¹ãŠã®ããŒã«ãå€æ°ã®äŸã匷åãªéçºè ã³ãã¥ããã£ã«ãããããããCUDAã¯åé€ãããŸããã åœæã®C ++ AMPã¯ãŸã çºè¡šãããŠããŸãããã ãã®å®è£ ã¯DirectXã®äžã«æ§ç¯ãããŠãããããã¬ã³ããªã³ã°ã転éããããšã¯ç¹ã«åé¡ã«ã¯ãªããŸããã
OpenGL / GLSLãã³ãã«ãæ€èšãããŸããããDirectComputeã䜿çšããŠDirectXã§è§£æ±ºãããå¶éïŒåæ¹åãã¹ãã¬ãŒã¹ã¿ã¹ã¯ãªã©ïŒã«ãããããã«ç Žæ£ãããŸããã
ãŸããæ¶è²»è åãããŒããŠã§ã¢çšã®GPGPUãã©ã€ããŒã®ç¶æ³ã«ã泚æããŠãã ãããããã¯é ããŠåºãŠããŠãé·æéå®å®ããŠããŸãã ãã®ãããNVIDIA Kepler 600ã·ãªãŒãºã®ãªãªãŒã¹ã«ãããã²ãŒããŒã¯ããã«é«å質ã®Direct3Dãã©ã€ããŒãšçç£æ§ã®é«ãã²ãŒã æ©ãæã«å ¥ããŸããããGPGPUã¢ããªã±ãŒã·ã§ã³ã®ã»ãšãã©ã¯äºææ§ã倱ããçç£æ§ãäœäžããŸããã ããšãã°ãCUDAäžã«æ§ç¯ãããOctane RenderãšArion Renderã¯ãå æ¥ã±ãã©ãŒã©ã€ã³ã®ãµããŒããéå§ããŸããã ããã«ãã ãããã§ãã·ã§ãã«3Dã¢ããªã±ãŒã·ã§ã³åãNVidia ãã®èšäºã§èª¬æãããŠããããã«ãããã®GPGPUããŒããŠã§ã¢ã¯ãå€ãã®ã¿ã¹ã¯ã§åžžã«ã¯ããã«åªããŠãããšã¯éããŸããã ããã¯ãç¹ã«æ¶è²»è åãã²ãŒã ããŒããŠã§ã¢äžã«ã¯ãŒã¯ã¹ããŒã·ã§ã³ãçµã¿ç«ãŠãçç±ã瀺ããŠããŸãã
ãªãDirect3Dã§ã¯ãªã
DirectX 10-11ã®ãã¹ãŠã®çºè¡šã¯ãæ°ããã·ã§ãŒããŒã¢ãã«ãã¬ã€ãã¬ãŒã·ã³ã°ãä»ã®å€ãã®GPGPUã¿ã¹ã¯ã«çæ³çã§ãããšæžããŠããŸãã ããããå®éã«ã¯ããã®æ©äŒãå®éã«äœ¿çšãã人ã¯ããŸããã§ããã ãªãã§ïŒ
- ããŒã«ãšãµããŒãã¯ãããŸããã§ãã
- 匷åãªããŒã±ãã£ã³ã°ã«ããç 究ãNVIDIA CUDAã«ã·ãã
- 1ã€ã®ãã©ãããã©ãŒã ãžã®ãªã³ã¯
1幎åã«æ»ããŸãããã DX SDKã®æåŸã®æŽæ°ã¯2010幎7æã§ãããVisualStudioãšã®çµ±åã¯ãªããGPGPUéçºè ã³ãã¥ããã£ãšéåžžã®ã³ã³ãã¥ãŒãã£ã³ã°ã¿ã¹ã¯ã®é«å質ãªäŸã¯ã»ãšãã©ãããŸããã ããŠãæ§æã®åŒ·èª¿è¡šç€ºã¯ãããŸããïŒ å¥å šãªãããã°ããŒã«ããããŸããã PIXã¯ã400è¡ä»¥äžã®ã³ãŒãã®è€æ°ã®ãã¹ããããã«ãŒããŸãã¯ã·ã§ãŒããŒã«èããããšãã§ããŸããã D3DCompilerã¯æéããããŠãæ°ååéè€éãªã·ã§ãŒããŒãã³ã³ãã€ã«ã§ããŸãã å°çã
äžæ¹ãæè¡ã®åŒ±ãå°å ¥ã ã»ãšãã©ã®ç§åŠèšäºããã³åºçç©ã¯CUDAã䜿çšããŠäœæãããŠãããNVIDIAããŒããŠã§ã¢ã«åãããŠèª¿æŽãããŠããŸãã NVIDIA OptiXããŒã ã¯ãä»ã®ãã³ããŒã®èª¿æ»ã«ãç¹ã«é¢å¿ã瀺ããŠããŸããã ãã®åéã§æ°å幎ã®çµéšãšç¹èš±ãååŸãããã€ãã®äŒæ¥mentalimagesããçŸåšNVIDIAã«å±ããŠããŸãã ããã¯ãã¹ãŠã1ã€ã®ãã³ããŒã«å¯Ÿããäžå¥å šãªãã€ã¢ã¹ãçã¿åºããŸãããåžå Žã¯åžå Žã§ãã ç§ãã¡ã«ãšã£ãŠãããã¯ãã¹ãŠããã¹ãŠã®æ°ããGPGPUãã¬ãŒã¹ããã³ã¬ã³ããªã³ã°ãã¯ããã¯ãæ°ãã«æ€èšããå¿ èŠãããããšãæå³ããŸããããDirectXãšATIããã³IntelããŒããŠã§ã¢ã§ã®ã¿ã§ãããããšãã°VLIW5ã¢ãŒããã¯ãã£ãªã©ããŸã£ããç°ãªãçµæã«ã€ãªããããšããããããŸããã
å®è£
åé¡ãä¿®æ£ãã
å®è£ ã説æããåã«ãéçºã«åœ¹ç«ã€ããã€ãã®æçšãªãã³ãã瀺ããŸãã
- å¯èœã§ããã°ãVisualStudio2012ã«ã¢ããã°ã¬ãŒãããŸãã åŸ æã®DirectXãçµã¿èŸŒã¿ã®ãããã°ã·ã§ãŒããŒãããã³HLSLæ§æã®åŒ·èª¿è¡šç€ºãšã®çµ±åã«ãããå€ãã®æéãç¯çŽã§ããŸãã
- VS2012ããµããŒãããŠããªãå ŽåãNVidia Parallel Nsightãªã©ã®ããŒã«ã䜿çšã§ããŸããããã¯ã1çš®é¡ã®GPUã«ãã€ã³ããããŠããŸãã
- Windows 8.0 SDKã䜿çšããŠãã ãããããã¯ããªãã®ä»²éã§ãã Windows Vista / 7以åã®ããŒãžã§ã³ã®VisualStudioã§éçºããŠããå Žåã§ããææ°ã®D3DCompilerãå«ãææ°ã®D3Dã©ã€ãã©ãªãèªç±ã«äœ¿çšã§ããŸããããã«ãããã·ã§ãŒããŒã®ã³ã³ãã€ã«æéã2ã4åççž®ãããå®å®ããŠåäœããŸãã Windows 8.0 SDKããDirectXãæ§æããããã®è©³çŽ°ãªããã¥ã¢ã«ããããŸãã
- ãŸã D3DXã䜿çšããŠããå Žåã¯ãæŸæ£ããããšãæ€èšããŠãã ããã倧ããããšã§ã¯ãããŸããã Windows 8.0ã§ã¯ãSDKã¯æçœãªçç±ã§ãµããŒããåæ¢ããŸããã
ã©ã¹ã¿ã©ã€ãºãšãã¬ãŒã¹
DirectXã䜿çšãããŠãããšããäºå®ã«ãããããããã©ã¹ã¿ãŒåã«é¢ãã話ã¯ãããŸããã æšæºã®ãã€ãã©ã€ã³é ç¹ããã«ããã¡ã€ã³ããžãªã¡ããªããã¯ã»ã«ã·ã§ãŒããŒã¯äœ¿çšãããŸããã ãã¯ã»ã«ã·ã§ãŒããŒãšã³ã³ãã¥ãŒãã£ã³ã°ã·ã§ãŒããŒã䜿çšããã©ã€ããã¹ã®ãã¬ãŒã¹ã«ã€ããŠèª¬æããŠããŸãã ãã¡ãããã©ã¹ã¿ã©ã€ãºãšãã¬ãŒã¹ãçµã¿åããããšããã¢ã€ãã¢ãçãŸããŸããããå®è£ ããã®ã¯éåžžã«é£ããããšãããããŸããã ã¬ã€ã®æåã®äº€ç¹ã¯ã©ã¹ã¿ã©ã€ãºã§çœ®ãæããããšãã§ããŸããããã®åŸãã»ã«ã³ããªã¬ã€ãçæããããšã¯éåžžã«å°é£ã§ãã å ç·ãè¡šé¢ã®äžã«ããããšããã°ãã°å€æããçµæã¯äžæ£ç¢ºã§ããã Sony Pictures Imageworksã®Arnold RendererãéçºããŠãã人ãã¡ãåãçµè«ã«éããŸããã
ã¬ã³ããªã³ã°
ã¬ã³ããªã³ã°ãæŽçããã«ã¯ãäž»ã«2ã€ã®ã¢ãããŒãããããŸãã
- ãã¹ãŠã®èšç®ã¯ããã¬ãŒã¹ãšã·ã§ãŒãã£ã³ã°ã®äž¡æ¹ãæ åœããGPUããã°ã©ã ã®ã¡ã¬ã³ã¢ã§è¡ãããŸãã ãããæéã®ã¬ã³ããªã³ã°æ¹æ³ã§ãã ããããã·ãŒã³ãGPUã®ã¡ã¢ãªã«åãŸããªãå Žåãã·ãŒã³ãã¹ã¯ããããããã¢ããªã±ãŒã·ã§ã³ãå£ããŸãã
- ã¢ãŠããªãã³ã¢ã¬ã³ããªã³ã°ïŒã·ãŒã³ãžãªã¡ããªãŸãã¯ãã®äžéšã®ã¿ãããã¬ãŒã¹çšã®ã¬ã€ãããã¡ãŒãšå ±ã«GPUã«è»¢éããããã«ããã¹ã¬ã€ãã¬ãŒã¹ãå®è¡ãããŸãã ã·ã§ãŒãã£ã³ã°ã¯ãCPUãŸãã¯GPUã®å¥ã®ãã¹ã§å®è¡ãããŸãã ãã®ãããªã¢ãããŒãã¯ããã®é©ãã¹ãããã©ãŒãã³ã¹ã§æåã§ã¯ãããŸãããããããã¯ã·ã§ã³ã·ãŒã³ã®ãµã€ãºãã¬ã³ããªã³ã°ã§ããŸãã

GPGPUã®ã·ã§ãŒããŒã䜿çšããæåã®ãªãã·ã§ã³ã«æ±ºããŸããããäœããã¬ã³ããªã³ã°ããåã«ãGPUã¡ã¢ãªã«æ£ããé 眮ããŠãžãªã¡ããªãšã·ãŒã³ããŒã¿ãæºåããå¿ èŠããããŸãã
ã·ãŒã³ããŒã¿ã«ã¯ä»¥äžãå«ãŸããŸãã
- ãžãªã¡ããªïŒé ç¹ãäžè§åœ¢ãæ³ç·ããã¯ã¹ãã£åº§æšïŒ
- å éæ§é ïŒããŒãKd âããªãŒãŸãã¯BVHã®ïŒ
- è¡šé¢ã®çŽ æïŒçš®é¡ãè²ããã¯ã¹ãã£ãžã®ãã€ã³ã¿ãåå°ããå±ç€ºè ãªã©ïŒ
- ãããªã¢ã«ã®ãã¯ã¹ãã£ãæ³ç·ããããªã©ã
- å æºïŒåäžããã³æ¡åŒµïŒ
- ã«ã¡ã©ã®äœçœ®ãšãã©ã¡ãŒã¿ãŒïŒDOFãFOVãªã©ïŒ
ã¬ã³ããªã³ã°æã«é ç¹ãããã¡ãŒãšã€ã³ããã¯ã¹ãããã¡ãŒã¯äœ¿çšãããŸããã Direct3D11ã§ã¯ãããŒã¿ãçµ±äžããããã¹ãŠãåã圢åŒã§ä¿åãããŸãããããã€ã¹ã«ãããã¡ããã¯ã¹ãã£1D / 2D / 3D /é å/ CUBEãRenderTargetãªã©ã®èŠæ¹ãäŒããããšãã§ããŸãã ããå€ãã®ç·åœ¢ã¢ã¯ã»ã¹ã§ã¢ã¯ã»ã¹ãããããŒã¿ã¯ããããã¡ãšããŠæé©ã«ä¿åãããŸãã ã·ãŒã³æ§é ã®å éãªã©ãã©ã³ãã ã¢ã¯ã»ã¹ã®ããŒã¿ã¯ããã¯ã¹ãã£ã«ä¿åããã®ãæé©ã§ãã é »ç¹ã«ã¢ã¯ã»ã¹ãããšãããŒã¿ã®äžéšããã£ãã·ã¥ãããŸãã
é »ç¹ã«å€åããå°ããªããŒã¿ãå®æ°ãããã¡ã«ä¿åããã®ã¯åççã§ãããããã¯ãã«ã¡ã©ãã©ã¡ãŒã¿ãå æºããããªã¢ã«ã§ããããããå€ããªãã4096 x float4ãµã€ãºã®ãããã¡ã«åãŸãå Žåã§ãã ã€ã³ã¿ã©ã¯ãã£ãã¬ã³ããªã³ã°ã§ã¯ãã«ã¡ã©ã®äœçœ®ã®å€æŽããããªã¢ã«ãšã©ã€ãã®èª¿æŽãæãäžè¬çãªæäœã§ãã ãžãªã¡ããªã®å€æŽã¯ããŸãäžè¬çã§ã¯ãããŸãããããããå容ããã®ã«ååãªäžå®ã®ã¡ã¢ãªããŸã ãããŸããã
ãªããªã GPUã®ã¡ã¢ãªã¯æ¯èŒçå°ããããããã®çµç¹ã«å¯ŸããŠã¹ããŒããªã¢ãããŒãã䜿çšããå§çž®å¯èœãªãã¹ãŠã®ãã®ãå§çž®ããŠããŒã¿å§çž®ã䜿çšããå¿ èŠããããŸãã ãããªã¢ã«ã®ãã¯ã¹ãã£ãå€å±€ãã¯ã¹ãã£ã¢ãã©ã¹ã«é 眮ããŸãã ãã¯ã¹ãã£GPUã¹ãããã®æ°ã¯å¶éãããŠããŸãã ãŸããGPUã«ã¯çµã¿èŸŒã¿ã®ãã¯ã¹ãã£å§çž®åœ¢åŒ-DXTããããŸããããã¯ãã¯ã¹ãã£ã¢ãã©ã¹ã«äœ¿çšããããã¯ã¹ãã£ã®ãµã€ãºãæ倧8åãŸã§çž®å°ã§ããŸãã
ãµãã³ã®ãã¯ã¹ãã£ã®ãããã³ã°ïŒ

ãã®çµæãã¡ã¢ãªå ã®ããŒã¿ã®å Žæã¯æ¬¡ã®ããã«ãªããŸãã

å ãšææã®ããŒã¿ã¯å®æ°ã¬ãžã¹ã¿ã«åãŸããšæ³å®ãããŸãã ãã ããã·ãŒã³ãéåžžã«è€éãªå Žåã¯ããããªã¢ã«ãšã©ã€ããã°ããŒãã«ã¡ã¢ãªã«é 眮ãããååãªã¹ããŒã¹ã確ä¿ãããŸãã

ã¬ã³ããªã³ã°ã«ç®ãåããŸãïŒé ç¹ã·ã§ãŒããŒã§ãç»é¢ã®ãµã€ãºã§ããã¯ã¯ãããæç»ãã ãã¯ã»ã«ããã¯ã»ã«ã«ãããã³ã°ããæè¡ã䜿çšããŠããã¯ã»ã«åäžã«ãã¯ã»ã«ã·ã§ãŒããŒã®åãã¯ã»ã«ãæ£ãããã¯ã¹ãã£åº§æšããããã£ãŠç»é¢äžã®æ£ããxããã³yå€ãæã€ããã«ããŸãã

ããã«ãã·ã§ãŒããŒã®åãã¯ã»ã«ã«ã€ããŠãå ç·çµè·¯è¿œè·¡ã¢ã«ãŽãªãºã ãèšç®ãããŸãã ãã®ããã«ããŠãGPGPUèšç®ã¯ãã¯ã»ã«ã·ã§ãŒããŒã§å®è¡ãããŸãã ãã®ã¢ãããŒãã¯æé©ãšã¯æããªããããããŸãããDirectComputeã䜿çšããæ¹ãåççã§ããDirectComputeã®å Žåãé ç¹ã·ã§ãŒããŒãšã¹ã¯ãªãŒã³ãã¥ãŒããäœæããå¿ èŠã¯ãããŸããã ããããDirectComputeã®é床ã10ã15ïŒ é ãããšãå€ãã®ãã¹ãã§ç€ºãããŠããŸãã ãã¹ãã¬ãŒã¹ã¿ã¹ã¯ã§ã¯ãã¢ã«ãŽãªãºã ã®ã©ã³ãã ãªæ§è³ªã«ãããSharedMemoryã䜿çšãããå ç·ãã±ããã䜿çšããããããã¹ãŠã®å©ç¹ãããã«å€±ãããŸãã
ã¬ã³ããªã³ã°ã«ã¯2ã€ã®ææ³ã䜿çšãããŸãã察話å衚瀺ã¯ãä¿®æ£ãããåæ¹åãã¹ãã¬ãŒã¹ïŒãã¹ãã¬ãŒã¹ïŒã§æ©èœããæçµã¬ã³ããªã³ã°ã§ã¯ãåæ¹åãã¹ãã¬ãŒã¹ïŒåæ¹åãã¹ãã¬ãŒã¹ïŒã䜿çšã§ããŸãã ãã®ãã¬ãŒã ã¬ãŒãã¯ãè€éãªã·ãŒã³ã§ã¯ããŸãã€ã³ã¿ã©ã¯ãã£ãã§ã¯ãããŸããã Metropolis Light Transportã¡ãœããã䜿çšãããµã³ããªã³ã°ã¯ãŸã 䜿çšãããŠããŸããã V-Rayã®éçºè ã®1人ããã©ã€ããŒããã©ãŒã©ã ChaosGroupã§è¬æŒããŠããããã«ããã®æå¹æ§ã¯ãŸã æ£åœåãããŠããŸããã
æçš¿ãããvladoïŒ
ã... MLTã¯ããªãé倧è©äŸ¡ãããŠãããšããçµè«ã«éããŸããã ããã€ãã®ç¹å¥ãªç¶æ³ã§ã¯éåžžã«äŸ¿å©ã§ãããã»ãšãã©ã®æ¥åžžçãªã·ããªãªã§ã¯ãé©åã«å®è£ ããããã¹ãã¬ãŒãµãŒãããïŒã¯ããã«ïŒããã©ãŒãã³ã¹ãäœäžããŸãã ããã¯ãMLTããµã³ãã«ã®äžŠã¹æ¿ãïŒæºã¢ã³ãã«ã«ããµã³ããªã³ã°ã䜿çšããSchlickã·ãŒã±ã³ã¹ãN-rooksãµã³ããªã³ã°ãªã©ïŒãå©çšã§ããªãããã§ãã MLTã¬ã³ãã©ãŒã¯ãçŽç²ãªä¹±æ°ã«ãã©ãŒã«ããã¯ããå¿ èŠããããŸããããã«ãããå€ãã®åçŽãªã·ãŒã³ïŒãªãŒãã³ã¹ã«ã€ã©ã€ãã·ãŒã³ãªã©ïŒã®ãã€ãºãå€§å¹ ã«å¢å ããŸãã
ãã«ãâã³ã¢ã ãã«ãâããã€ã¹ã ã¯ã©ãŠã
å ¬å¹³ãªã¬ã³ããªã³ã°ã¯éåžžã«åªããŠããããšã«æ³šæããŠãã ãããããã¯ã¢ã³ãã«ã«ãæ³ã«åºã¥ããŠããŸããã€ãŸããäžè¬çãªå Žåãã¬ã³ããªã³ã°ã®åå埩ã¯åã®å埩ã«äŸåããŸããã ãããããã®ã¢ã«ãŽãªãºã ãGPUããã«ãã³ã¢ã·ã¹ãã ãã¯ã©ã¹ã¿ãŒã§ã®ã³ã³ãã¥ãŒãã£ã³ã°ã«é åçãªãã®ã«ããŠããçç±ã§ãã
DX10ããã³DX11ã¯ã©ã¹ã®ããŒããŠã§ã¢ããµããŒãããããŒãžã§ã³ããšã«ãã¹ãŠãæžãæããªãããã«ããã«ã¯ãDirectX11ã䜿çšããå¿ èŠããããŸããDirectX11㯠ãããã€ãã®å°ããªå¶éããããŸããDX10 Ironã§åäœããŸãã å¹ åºãã¯ã©ã¹ã®ããŒããŠã§ã¢ãšé åžã®ã¢ã«ãŽãªãºã ã®çŽ å ããµããŒãããŠããã«ãâããã€ã¹ã¬ã³ããªã³ã°ãäœæããŸããããã®åçã¯éåžžã«ã·ã³ãã«ã§ãïŒåGPUãã·ã§ãŒããŒã«åãããŒã¿ãé 眮ããæºåãã§ãããåGPUããçµæãåéããã ãã§ãå€æŽããã£ããšãã«ã¬ã³ããªã³ã°ãåéããŸãã¹ããŒãžã ãã®ã¢ã«ãŽãªãºã ã䜿çšãããšãéåžžã«å€ãã®ããã€ã¹ã«ã¬ã³ããªã³ã°ãé åžã§ããŸãã ãã®æŠå¿µã¯ãã¯ã©ãŠãã³ã³ãã¥ãŒãã£ã³ã°ã«æé©ã§ãã ããããã¯ã©ãŠãGPUã®æ°ã¯ããã»ã©å€ããªãããããã€ããŒããã³ã³ãã¥ãŒã¿ãŒã®æéãããã»ã©å®ãã¯ãããŸããã
DirectX11ã®ç»å Žã«ãããçŽ æŽããããã¯ãããžãŒãæãããŸãã-WARPïŒWindows Advanced Rasterization PlatformïŒã WARP Deviceã¯ãGPUã³ãŒããSSEã«å€æããŸããæé©åããããã«ãã¹ã¬ããã³ãŒãã«ããããã¹ãŠã®CPUã³ã¢ã§GPUèšç®ãå®è¡ã§ããŸãã 絶察ã«ä»»æã®CPUïŒx86ãx64ãããã«ã¯ARMïŒ ããã°ã©ãã³ã°ã®èŠ³ç¹ããèŠããšããã®ãããªããã€ã¹ã¯GPUããã€ã¹ãšéãã¯ãããŸããã ç°çš®èšç®ãC ++ AMPã§å®è£ ãããã®ã¯WARPã«åºã¥ããŠããŸãã WARPããã€ã¹ãããªãã®ä»²éã§ããWARPããã€ã¹ã䜿çšããŠãã ããã

ãã®ãã¯ãããžãŒã®ãããã§ãCPUã¯ã©ãŠãã§GPUã¬ã³ããªã³ã°ãéå§ã§ããŸããã BizSparkããã°ã©ã ãéããŠãWindows Azureã«å°ãç¡æã§ã¢ã¯ã»ã¹ã§ããŸããã Azure Storageã¯ããŒã¿ã¹ãã¬ãŒãžã«äœ¿çšãããã·ãŒã³ãžãªã¡ããªãšãã¯ã¹ãã£ãå«ãããŒã¿ã¯ãBlobãã«ä¿åãããã¬ã³ããªã³ã°ã¿ã¹ã¯ãã·ãŒã³ã®ã¢ããããŒããšããŠã³ããŒãã«é¢ããããŒã¿ã¯ãã¥ãŒã«ä¿åãããŸãã å®å®ããåäœã確ä¿ããããã«ãã¿ã¹ã¯ãã£ã¹ããªãã¥ãŒã¿ãŒïŒWork SchedulerïŒãããã»ã¹ã¢ãã¿ãŒïŒProcess MonitorïŒãã¬ã³ããªã³ã°ãããã€ã¡ãŒãžãããŠã³ããŒãããããã»ã¹ïŒImage DownloaderïŒã®3ã€ã®ããã»ã¹ã䜿çšãããŸããã ã¯ãŒã¯ã¹ã±ãžã¥ãŒã©ã¯ãããããžã®ããŒã¿ã®èªã¿èŸŒã¿ãšã¿ã¹ã¯ã®èšå®ãæ åœããŸãã ããã»ã¹ã¢ãã¿ãŒã¯ããã¹ãŠã®ã¯ãŒã«ãŒïŒã¯ãŒã«ãŒ-Azureã³ã³ãã¥ãŒãã£ã³ã°ããŒãïŒã®åäœãç¶æãã責任ããããŸãã ã¯ãŒã«ãŒã®1人ãå¿çãåæ¢ãããšãæ°ããã€ã³ã¹ã¿ã³ã¹ãåæåãããã·ã¹ãã ã®ããã©ãŒãã³ã¹ãæ倧åãããŸãã Image Downloaderã¯ããã¹ãŠã®äœæ¥è ããã¬ã³ããªã³ã°ãããç»åã®æçãåéããå®æããç»åãŸãã¯äžéç»åãã¯ã©ã€ã¢ã³ãã«è»¢éããŸãã ã¬ã³ããªã³ã°ã¿ã¹ã¯ãå®äºãããšããã«ãProcess Monitorã¯ã¯ãŒã«ãŒã®ç»åãåé€ãããããæ¯æããªããã°ãªããªãã¢ã€ãã«ãªãœãŒã¹ã¯ãããŸããã

ãã®ã¹ããŒã ã¯ããŸãæ©èœãããã®èåŸã«ããã®ã¯ã¬ã³ããªã³ã°ã®æªæ¥ã§ããPixarã¯ãã§ã«ã¯ã©ãŠãã§ã¬ã³ããªã³ã°ããŠããŸã ã éåžžãã¯ã©ãŠããã£ãŒãžã³ã°ã¯ââããŠã³ããŒãããããã©ãã£ãã¯ã®ã¿ã«é©çšãããŸããããŠã³ããŒãããããã©ãã£ãã¯ã¯ãæ°ã¡ã¬ãã€ã以äžã®ã¬ã³ããªã³ã°ã€ã¡ãŒãžã§æ§æãããŸãã ãã®ã¢ãããŒãã®å¯äžã®ããã«ããã¯ã¯ããŠãŒã¶ãŒãã£ãã«ã§ãã æ°åãŸãã¯æ°çŸGBã®asetãµã€ãºã§ã¢ãã¡ãŒã·ã§ã³ãããçŽãå¿ èŠãããå Žåãåé¡ããããŸãã
çµæ
ãã®ãã¹ãŠã®äœæ¥ã®çµæãAutodesk 3DS Maxã®RenderBroãã©ã°ã€ã³ãäœæãããŸãããããã¯ãæå³ãããšãããç¥æ¯ã®ã³ã³ãã¥ãŒã¿ãŒäžã§ãã¬ã³ããªã³ã°ã§ããããããã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ã䜿çšã§ããŸãã

çŸåšãã¯ããŒãºãã¢ã«ãã¡ãã¹ãã®æ®µéã«ãããŸãã ããªããGPUã§ãããç±ççã§3Dã®ã¢ãŒãã£ã¹ãã§ãããªããATI / NVIDIAã¯ã©ã¹ã¿ãŒãæ§ç¯ããããšã決ããŸãããããªãã¯ããããã®ç°ãªãGPUãšCPUãŸãã¯ä»ã®èå³æ·±ãæ§æãæã£ãŠããŸããäžç·ã«åãããšã¯é¢çœãããšãæããŠãã ãã ã ç§ã¯ãã®ãããªäœãã®ããã«ã¬ã³ããªã³ã°ããã§ãã¯ãããã§ãïŒ

ãŸããC ++ AMPããŒãžã§ã³ã®ã¬ã³ããªã³ã°ã®åã§ãããæ·±å»ãªã¯ã©ãŠããã¹ããšä»ã®ãšãã£ã¿ãŒåãã®ãã©ã°ã€ã³éçºã ä»ããåå ãããïŒ