Slide 1

Slide 1 text

GDC2017ʹؔ͢Δใࠂ NAOMASA MATSUBAYASHI

Slide 2

Slide 2 text

DirectX12 And (how to avoid) Death by a Thousand Cuts ͜ͷηογϣϯͷൃදऀ Jurjen Katsman (Nixxes) GDC VaultͷURL http://www.gdcvault.com/play/1024384/Advanced-Graphics- Tech-How-to

Slide 3

Slide 3 text

%JSFDU9͸೉͍͠

Slide 4

Slide 4 text

ΞʔϦʔΞμϓλʔͷ໋॓ Α͘(16͕ϋϯά͢Δ͕ϩΫͳσόοάखஈ͕ͳ͍ ೥ॳ಄ͷঢ়گ υΩϡϝϯτ͕εΧεΧ υϥΠόͷ඼࣭͸ʜ Ͳͷ(16ϕϯμʔͱ΋௕ి࿩Λ͢Δࣄʹͳͬͨ σόοάϨΠϠ͕࣌ʑӕΛͭ͘ ࠷ۙ͸΋͏গ͠Ϛγʹͳ͍ͬͯΔ͔΋͠Εͳ͍

Slide 5

Slide 5 text

ύΠϓϥΠϯ͸ࣄલʹ࡞Ζ͏ ೖྗετϦʔϜΛมߋ γΣʔμΛมߋ ঢ়ଶΛมߋ υϥΠό (16 ඳը ύΠϓϥΠϯΛੜ੒ ࣮ߦ ύΠϓϥΠϯͷมߋ͸େ͖ͳΦʔόʔϔου ࠓ·Ͱ ύΠϓϥΠϯ੾Γସ͑ ΦϑϥΠϯ ϨϯμϦϯά࣌

Slide 6

Slide 6 text

ύΠϓϥΠϯ͸ࣄલʹ࡞ͬͯอଘ͓ͯ͜͠͏ ύΠϓϥΠϯΛੜ੒ ύΠϓϥΠϯΛอଘ υϥΠό (16 ύΠϓϥΠϯΛϩʔυ ࣮ߦ ͜Ε͔Β ඳը ύΠϓϥΠϯ੾Γସ͑ ύΠϓϥΠϯ੾Γସ͑ ύΠϓϥΠϯ͸ࣄલʹ࡞Ζ͏ ΦϑϥΠϯ ϨϯμϦϯά࣌

Slide 7

Slide 7 text

ίετ͕ϋʔυ΢ΣΞʹΑͬͯେ͖͘ҟͳΔ όϦΞͷίετ͕ߴ͍ϋʔυ΢ΣΞͰ΋ ੑೳ͕ग़ΔΑ͏ʹ ࠷খͷόϦΞͰࡁΉΑ͏৺͕͚Δඞཁ͕͋Δ όϦΞ ͦͷ࣮ࠩʹഒ ಉ ࣌ؒ 4.$6 ظ

Slide 8

Slide 8 text

%JSFDU9Ͱ͸ ϝϞϦΛͲͷΑ͏ʹ࢖͏͔Λ൑அ͢Δͷ͸υϥΠό Ϣʔβ͸ϦιʔεΛ࡞Γ͍ͨ࣌ ࡞Γ͍ͨ਺͚ͩυϥΠόʹཁٻ͢Ε͹Α͔ͬͨ ϦιʔεΛ࡞੒ υϥΠό (16 ϦιʔεΛ࡞੒ ϦιʔεΛ࡞੒ ϝϞϦϒϩοΫΛ֬อ ϝϞϦ؅ཧ

Slide 9

Slide 9 text

υϥΠό %JSFDU9Ͱ͸ ϝϞϦΛͲͷΑ͏ʹ࢖͏͔Λ൑அ͢Δͷ͸Ϣʔβ Ϧιʔε͝ͱʹ ΞϥΠϯ͞ΕͨϝϞϦϒϩοΫΛ֬อ͢Δͱ ͋ͬͱ͍͏ؒʹϝϞϦΛ࢖͍੾Δ ϝϞϦϒϩοΫΛ֬อ ϝϞϦϒϩοΫΛ֬อ ϝϞϦϒϩοΫΛ֬อ ϝϞϦ؅ཧ ͭ·Γ͜Ε͸TCSLͰ NBMMPD͸ࣗ෼Ͱ࡞Εͱݴ͍ͬͯΔ (16

Slide 10

Slide 10 text

(16 (16ϝϞϦʹϦιʔε͕৐Γ੾Βͳ͍࣌ ԿΛεϫοϓΞ΢τͤ͞Δ͔ΛܾΊΔͷ΋Ϣʔβ .BLF3FTJEFOU &WJDU ࠓඞཁͳϦιʔεΛ(16ϝϞϦʹ໭͢ ͙͢ʹඞཁͳ͍ϦιʔεΛγεςϜϝϞϦʹಀ͕͢ ϝϞϦ؅ཧ ͨͩ͠&WJDU͸ϦιʔεΛ γεςϜϝϞϦʹಀ͕͢ࣄΛڐՄ͢Δ͚ͩͰ ௚ͪʹγεςϜϝϞϦʹҠಈͤ͞ΔΘ͚Ͱ͸ͳ͍ γεςϜ ϝϞϦ

Slide 11

Slide 11 text

ίϚϯυϦετ $PNNBOE-JTU͸ͨ͘͞Μ࡞ΕΔ $PNNBOE"MMPDBUPS͸ͨ͘͞Μ࡞ͬͯ͸͍͚ͳ͍ εϨουʹ͖ͭݸͷ$PNNBOE"MMPDBUPSΛ࡞ͬͯ ෳ਺ͷ$PNNBOE-JTUͰ࢖͍·Θͦ͏

Slide 12

Slide 12 text

σΟεΫϦϓλώʔϓ %JSFDU9Ͱ͸ σΟεΫϦϓλώʔϓ͸ෳ਺࡞ΕΔࣄʹͳ͍ͬͯΔ ϋʔυ΢ΣΞʹ͸ σΟεΫϦϓλώʔϓ͸͔ͭ͠ͳ͍ ҟͳΔσΟεΫϦϓλώʔϓΛ࢖͏λεΫ͸ ಉ࣌ʹ࣮ߦͰ͖ͳ͍ /7*%*"΋".%΋σΟεΫϦϓλώʔϓ͸ શͯͷίϚϯυΩϡʔͰͭʹ͢ΔࣄΛਪ঑͍ͯ͠Δ

Slide 13

Slide 13 text

ϚϧνίΞϨϯμϦϯά ෳ਺ͷεϨουͰίϚϯυϦετΛ࡞ͬͯ ίϚϯυΩϡʔʹੵΉ͜ͱ͕Ͱ͖Δ ͕ ࠓ೔ͷϨϯμϦϯάͰॏཁͳͷ͸ ՄೳͳݶΓίϚϯυΛ·ͱΊͯ $16ͷ࢓ࣄΛݮΒ͢ࣄͰ͋Δ఺Λ๨Εͯ͸͍͚ͳ͍ ίϚϯυϦετͷ࡞੒͕ෳ਺ͷεϨουͰͰ͖ͯ΋ ͦͷҝʹόον͕ࡉ੾ΕʹͳΔͱ ݁Ռͱͯ͠ύϑΥʔϚϯεͷ௿ԼΛট͘ࣄ͕͋Δ

Slide 14

Slide 14 text

"TZODDPNQVUF ".%ͷݹ͍ϋʔυ΢ΣΞͰ ࣮ߦͨ࣌͠ͷಈ͖͕ո͍͠ ௿ίετͳϑΣϯε͕ͳ͍ ࢖͍ॴ͸ͨ͘͞Μ͋Γͦ͏͕ͩ

Slide 15

Slide 15 text

4-Jͱ͔$SPTT'JSFͱ͔ݺ͹Ε͍ͯͨ ෳ਺ͷ(16ͰϨϯμϦϯά͢Δख๏͕ ϕϯμඇґଘͰͰ͖ΔΑ͏ʹͳͬͨ .VMUJ(16 ֤(16ʹผʑͷॲཧΛͤ͞Δ͜ͱ΋ ग़དྷΔࣄʹͳͬͯΔ͚Ͳ೉͗ͯ͢͠ఘΊͨ

Slide 16

Slide 16 text

ϚΠΫϩιϑτ͸%JSFDU9Λਪ͍ͨ͠ (16԰΋%JSFDU9Λਪ͍ͨ͠ ։ൃऀ΋%JSFDU9Λਪ͍ͨ͠ Ϣʔβ͸%JSFDU9ͷόʔδϣϯͱ͔Ͳ͏Ͱ΋͍͍ ϢʔβʹΘ͔Δར఺Λࣔ͢ඞཁ͕͋Δ ࢢ৔ʹग़্͢Ͱͷ՝୊ ͔͠͠%JSFDU9͕ҖྗΛൃش͢Δͷ͸ ͍͔ͭ͘ͷ৚͕݅ἧͬͨ৔߹ʹݶΒΕΔ

Slide 17

Slide 17 text

ͦ͏Ͱ͸ͳ͍ ஫ҙਂ͘ઃܭ͞ΕͨΞϓϦέʔγϣϯ͸ ͔֬ʹ%JSFDU9ΑΓߴ͍ੑೳΛൃشͨ͠ %JSFDU9Ͱ͸Ͳ͏ʹ΋ͳΒͳ͍ $16ϘτϧωοΫΛճආͰ͖Δ "TZOD$PNQVUF͕࢖͑Δ ͨͩɺ࢖͍͜ͳ͢ͷ͕೉͍͠ ͡Ό͋%JSFDU9͸μϝͳͷ͔͍

Slide 18

Slide 18 text

Advanced Graphics Tech: Moving to DirectX 12: Lessons Learned ͜ͷηογϣϯͷൃදऀ Tiago Rodrigues (Ubisoft Montreal) GDC VaultͷURL http://www.gdcvault.com/play/1024386/Advanced-Graphics- Tech-Moving-to

Slide 19

Slide 19 text

"OWJM/FYU "TTBTTJOT$SFFEγϦʔζͰ࢖ΘΕ͍ͯΔ ಺੡ͷඳըΤϯδϯ ैདྷͷϥϯλΠϜΛલఏʹ࡞ΒΕͨ "OWJM/FYUΛ%JSFDU9ʹରԠͤ͞Δ ϝδϟʔόʔδϣϯΞοϓΛߦ͏ࣄʹͳͬͨ

Slide 20

Slide 20 text

࠷ॳʹߦͬͨࣄ ୯७ͳஔ͖׵͑ʹΑΔҠ২ ݁Ռ͸༧૝௨Γ$16(16ڞʹੑೳ͕མͪͨ ಛʹ(16ଆͷॲཧʹཁ͢Δ͕࣌ؒ %JSFDU9ͱൺֱͯ͠໿ഒʹͳͬͨ ͜ͷҠ২͔ΒಘΒΕΔ৘ใ %JSFDU9Λ࢖ͬͨଞͷνʔϜ͔Βͷ৘ใ %JSFDU9ʹؔ͢ΔηογϣϯͰฉ͍ͯདྷͨ࿩ Λ΋ͱʹੑೳΛऔΓ໭͢

Slide 21

Slide 21 text

%JSFDU9͔ͦΕҎલ͔Ͱ ߴϨΠϠʔͷίʔυΛ෼͚ͨ͘ͳ͍ Ϧιʔε Ϧιʔε Ϧιʔε ύε ύε ύε ύε Ϧιʔε ࠓ·Ͱ௨ΓඞཁͳύεͱϦιʔεΛྻڍͨ͠Β (16Ͱޮ཰ྑ͘૸ΔίϚϯυϦετ͕ग़དྷͯ΄͍͠ 1SPEVDFS4ZTUFN

Slide 22

Slide 22 text

શͯͷϨϯμϦϯάύε͕ શͯͷϦιʔεΛඞཁͱ͍ͯ͠ΔΘ͚Ͱ͸ͳ͍ Ϧιʔε Ϧιʔε Ϧιʔε ύε ύε ύε ύε Ϧιʔε ݸʑͷύεʹԿΛಡΈॻ͖͢Δ͔Λ ໌ࣔతʹࢦఆͯ͠΋Β͏

Slide 23

Slide 23 text

શͯͷϨϯμϦϯάύε͕ શͯͷϦιʔεΛඞཁͱ͍ͯ͠ΔΘ͚Ͱ͸ͳ͍ Ϧιʔε Ϧιʔε Ϧιʔε ύε ύε ύε ύε Ϧιʔε ύεͷೖग़ྗΛ΋ͱʹ Ϧιʔεʹཁٻ͞ΕΔੜଘظؒΛظؒΛٻΊΔ

Slide 24

Slide 24 text

ಉ࣌ʹ࢖ΘΕΔࣄ͕ͳ͍ෳ਺ͷϦιʔε͸ ಉ͡ϝϞϦʹ഑ஔͯ͠΋໰୊ͳ͍ Ϧιʔε Ϧιʔε Ϧιʔε ύε ύε ύε ύε Ϧιʔε ϦιʔεͱϦιʔεͱϦιʔε͸ ੜଘظ͕ؒॏͳ͍ͬͯͳ͍ͨΊ ಉ͡ϝϞϦΛ࢖͍ճ͢ࣄ͕ग़དྷΔ ෳ਺ͷϦιʔε͸ಉ͡ΞυϨεʹͳΔͨΊ ࣝผࢠΛΤϯδϯଆͰৼͬͯ۠ผ͢Δ

Slide 25

Slide 25 text

$PNQVUF (SBQIJDT ҟͳΔΩϡʔͱͷؒͰσʔλΛड͚Θͨ͢ʹ͸ ಉظΛߦ͏ඞཁ͕͋Δ Ϧιʔε Ϧιʔε ύε ύε ύεͷೖग़ྗͷґଘؔ܎Λ΋ͱʹ ඞཁͳՕॴʹࣗಈͰಉظΛڬΉ ύε ϑ Σ ϯ ε ଴ ػ ϑ Σ ϯ ε ଴ ػ

Slide 26

Slide 26 text

$PNQVUF (SBQIJDT ҟͳΔΩϡʔͱͷؒͰσʔλΛड͚Θͨ͢ʹ͸ ಉظΛߦ͏ඞཁ͕͋Δ Ϧιʔε Ϧιʔε ύε ύε ࣗಈͰڬ·ΔಉظͰ͸ྑ͍ϖΞϦϯάʹͳΔͱ͸ݶΒͳ͍ ύε ύε ϑ Σ ϯ ε ଴ ػ ϑ Σ ϯ ε ଴ ػ Ϣʔβ͕ಉظλΠϛϯάΛ໌ࣔͰ͖ΔΑ͏ʹͨ͠ ͜Ε͕͋Δ৔߹ॏෳ͢Δࣗಈಉظ͸࡟আ͞ΕΔ

Slide 27

Slide 27 text

ෆඞཁͳόϦΞͷճආ ࣌ؒ 4.$6 ύε ύε ύε ύε Ϧιʔε ॻ͘લʹಡΜͰ͠·ͬͨ %JSFDU9͸ಛʹԿ΋ཁٻ͞Εͳ͍ͱ લͷύεͷ׬ྃΛ଴ͨͣʹ ࣍ͷύεΛ࣮ߦͯ͠͠·͏ όϦΞͰ ϦιʔεͷಡΈॻ͖ॱংΛอূ Ͱ΋όϦΞ଴ػ͸ ϋʔυ΢ΣΞʹΑͬͯ͸ੌ͘஗͍

Slide 28

Slide 28 text

ෆඞཁͳόϦΞͷճආ ύε ύε Ϧιʔε ύε Ϧιʔε ୯७ʹϦιʔε͝ͱʹόϦΞΛுΔͱ ՕॴͰόϦΞΛ଴ͨͳ͚Ε͹ͳΒ͍͕ ό Ϧ Ξ ଴ ػ ό Ϧ Ξ ଴ ػ

Slide 29

Slide 29 text

ෆඞཁͳόϦΞͷճආ ύε ύε Ϧιʔε ύε Ϧιʔε 3FTPVSDF#BSSJFS͸Ұ౓ʹෳ਺ͷόϦΞΛ଴ͯΔ όϦΞ଴ػͷίετ͸ߴ͍͔΋͠Εͳ͍ͷͰ Ϧιʔεೖग़ྗ͔Β·ͱΊΒΕΔόϦΞΛݟ͚ͭͯ όϦΞ଴ػͷճ਺Λ཈͑Δ ό Ϧ Ξ ଴ ػ

Slide 30

Slide 30 text

%JSFDU9͔ͦΕҎલ͔Ͱ γΣʔμͷύϥϝʔλͷ౉͠ํΛม͑ͨ͘ͳ͍ %JSFDU9Ͱ͸3PPU4JHOBUVSFʹ ·ͱΊͯύϥϝʔλΛ౉͢ඞཁ͕͋Δ %JSFDU9Ͱ͸ύϥϝʔλΛ ͭͮͭηοτ͢Δඞཁ͕͋Δ Ͱ͖Ε͹)-4-΋྆ํͰ࢖͑ΔΑ͏ʹ͍ͨ͠

Slide 31

Slide 31 text

Shader Input Group Include Test2; ShaderInputGroup Test { static const uint testValue = 3; float4 value; Texture2D tex0; RWTexture2D uav0; SamplerState sampler; SamplerState dynamicSampler; Test2 subType; } ͜Μͳ%4-͔Β$ͱ)-4-ͷίʔυΛੜ੒͢Δ %JSFDU9ͳΒ 3PPU4JHOBUVSFͷ࡞੒ͱ੾Γସ͑ͷҝͷίʔυ %JSFDU9ͳΒ ద౰ͳεϩοτΛબΜͰ஋Ληοτ͢Δίʔυ ఆ਺ Ϧιʔε αϯϓϥ ଞͷ৔ॴͰఆٛ͞ΕͨSIGΛ಺แͰ͖Δ

Slide 32

Slide 32 text

Shader Input Group #include “sig/test.h” void GfxTestProducer::CompileParams(GfxDevice& device) { sig::Test test; test.SetValue(ubiVector4(1.0f,2.0f,3.0f,4.0f)); test.SetTex0(testTexture); test.SetUav0(testUAV); m_CompiledTestParams = test.Compile(device); // … cmdList.SetShaderInputGroup(m_CompiledPassParas); } ੜ੒͞ΕͨΫϥεͷΠϯελϯεʹରͯ͠ ஋Ληοτ 3PPU4JHOBUVSFΛ࡞੒ %JSFDU9ͩͬͨΒԿ΋͠ͳ͍ 4FU(SBQIJDT3PPU4JHOBUVSF %JSFDU9ͩͬͨΒ͜͜Ͱ஋ͷηοτͱϦιʔεͷόΠϯυ "1*͕ҧͬͯ΋ಉ͡Α͏ʹ஋ΛηοτͰ͖Δ

Slide 33

Slide 33 text

Shader Input Group #include “sig/test.hlsl” void main() { uint2 index = (uint2)g_Test.GetValue().xy; float4 value = testFunc(index, testFunc.GetSubType); g_Test.GetUav0()[index] = value; } float4 testFunc(in int2 index, in Test2 test2) { return test2.GetTex0()[index]; } "1*͕ҧͬͯ΋ಉ͡Α͏ʹ஋ʹΞΫηεͰ͖Δ

Slide 34

Slide 34 text

Pipeline State Object "OWJM/FYUͰ͸ ϚςϦΞϧάϥϑͷܨ͗ํ࣍ୈͰ ແ਺ͷύΠϓϥΠϯεςʔτ͕ ग़དྷΔՄೳੑ͕͋ͬͨ %JSFDU9ͷ140ͷϞσϧʹ߹ΘͤΔʹ͸ ήʔϜ಺Ͱ࢖ΘΕΔ ύΠϓϥΠϯεςʔτͷ਺ΛߜΔඞཁ͕͋ͬͨ ࣮ࡍͷήʔϜதͰ࢖ΘΕ͍ͯΔ਺͸ ͦΕ΄Ͳଟ͘ͳ͔ͬͨҝ σβΠφʹΑ͘࢖͏ϓϦηοτεςʔτ͔Β ࢖͏΋ͷΛબͿํࣜʹม͑ͯ΋Βͬͨ

Slide 35

Slide 35 text

݁Ռ ͜ΕΒͷ޻෉ʹΑΓ%JSFDU9ͱ%JSFDU9Ͱ ߴϨΠϠʔͷίʔυ͸ޓ׵Λอͬͨ· %JSFDU9Ͱ͸ΑΓߴ͍ੑೳΛൃشͰ͖Δ ඳըΤϯδϯ͕ग़དྷ্͕ͬͨ (16%JSFDU9ͱൺ΂ͯఔੑೳ޲্ $16%JSFDU9ͱൺ΂͔ͯΒఔੑೳ޲্

Slide 36

Slide 36 text

DirectX11ͭΑ͍! %JSFDU9Λ࢖ͬͯύϑΥʔϚϯε޲্ ͱ͍͏఺͚ͩʹண໨͢Δͱׂʹ߹Θͳ͍ "TZOD$PNQVUF͕࢖͑ΔΑ͏ʹͳΔ Ոఉ༻ήʔϜػʹҠ২͠΍͘͢ͳΔ 7VMLBO౳ʹ΋ରԠ͠΍͘͢ͳΔ ౳΋ߟྀʹೖΕΔͱແବͳ౒ྗͰ͸ͳ͍ (16%JSFDU9ͱൺ΂ͯఔੑೳ޲্ $16%JSFDU9ͱൺ΂͔ͯΒఔੑೳ޲্

Slide 37

Slide 37 text

Async Compute: Deep Dive ͜ͷηογϣϯͷൃදऀ Alex Dunn(NVIDIA), Stephan Hodes(AMD) GDC VaultͷURL http://www.gdcvault.com/play/1024385/Advanced-Graphics- Tech-Async-Compute

Slide 38

Slide 38 text

ݹయతͳάϥϑΟοΫϥϯλΠϜ λεΫ λεΫ λεΫ λεΫ λεΫ ࣌ؒ 4.$6 ۙ୅తͳάϥϑΟοΫϥϯλΠϜ ࣌ؒ 4.$6 λεΫ λεΫ λεΫ λεΫ λεΫ 8PSL1BJSJOH

Slide 39

Slide 39 text

ಉ࣌ʹ࣮ߦ͞ΕΔλεΫಉ࢜Ͱ ܭࢉࢿݯΛୣ͍߹͏΂͖Ͱ͸ͳ͍ (16 4IBEPX3FOEFSJOH σόΠε ϝϞϦ -JHIU$VMMJOH ܭࢉ͕ଟ͍ ॻ͖ࠐΈ͕ଟ͍ ύϑΥʔϚϯεͷ޲্͕ظ଴Ͱ͖Δ Work Pairing

Slide 40

Slide 40 text

ಉ࣌ʹ࣮ߦ͞ΕΔλεΫಉ࢜Ͱ ܭࢉࢿݯΛୣ͍߹͏΂͖Ͱ͸ͳ͍ (16 (#V⒎FS σόΠε ϝϞϦ 44"0 ॻ͖ࠐΈ͕ଟ͍ ॻ͖ࠐΈ͕ଟ͍ ύϑΥʔϚϯεͷ޲্͕ظ଴Ͱ͖ͳ͍ Work Pairing ϝϞϦଳҬ͕ෆ଍͢Δ

Slide 41

Slide 41 text

AMD GPUݻ༗ͷ஫ҙ఺ 4ͭͷSIMDϓϩηοαʹରͯ͠1ͭͷΩϟογϡ 1ͭͷSIMDϓϩηοα͸࠷େ10ݸͷWavefrontΛ࣮ߦ WavefrontΛෳ਺࣮ߦ͢Δ͜ͱͰ ϝϞϦಡΈॻ͖ͷϨΠςϯγΛӅṭ $PNQVUF6OJU 4*.% 4*.% 4*.% 4*.% -Ωϟογϡ 8BWFGSPOU 8BWFGSPOU 8BWFGSPOU ʜ

Slide 42

Slide 42 text

WavefrontΛ૿΍͗͢͠Δͱ Wavefront੾Γସ͑࣌ʹ ඞཁͳσʔλ͕L1Ωϟογϡ͔ΒམͪΔ $PNQVUF6OJU 4*.% 4*.% 4*.% 4*.% -Ωϟογϡ 8BWFGSPOU 8BWFGSPOU 8BWFGSPOU ʜ AMD GPUݻ༗ͷ஫ҙ఺

Slide 43

Slide 43 text

࢖ΘΕͳ͍ ࣌ؒ 4. άϥϑΟοΫ ܭࢉ Maxwell·Ͱ ࣌ؒ 4. άϥϑΟοΫ NVIDIA GPUݻ༗ͷ஫ҙ఺ ܭࢉ Pascall͔Β

Slide 44

Slide 44 text

NVIDIA GPUݻ༗ͷ஫ҙ఺ (16 σΟεΫϦϓλ ώʔϓ σΟεΫϦϓλ ώʔϓ σΟεΫϦϓλ ώʔϓ σΟεΫϦϓλ ώʔϓ GPU্ͷ σΟεΫϦϓλώʔϓ͸1ͭ ೖΕସ͑ʹ͸ લͷλεΫͷ׬ྃΛ଴ͭඞཁ͕͋Δ API্͸زͭͰ΋࡞ΕΔ

Slide 45

Slide 45 text

NVIDIA GPUݻ༗ͷ஫ҙ఺ (16 σΟεΫϦϓλ ϓʔϧ σΟεΫϦϓλ ώʔϓ σΟεΫϦϓλ ώʔϓ σΟεΫϦϓλ ώʔϓ υϥΠό͸σΟεΫϦϓλώʔϓΛ ଋͶΔ͜ͱͰ੾Γସ͑Λճආ͢Δ

Slide 46

Slide 46 text

σΟεΫϦϓλ ϓʔϧ ࡞੒ͨ͠σΟεΫϦϓλώʔϓͷαΠζ͕ GPU্ʹ༻ҙ͞ΕͨαΠζΛ௒͑Δͱ ಥવύϑΥʔϚϯε͕௿Լ͢Δ σΟεΫϦϓλ ώʔϓ (16্ͷ σΟεΫϦϓλώʔϓʹ ৐Γ੾Βͳ͍ ೖΕସ͑Δ͔͠ͳ͍ ώʔϓ σΟεΫϦϓλ ώʔϓ

Slide 47

Slide 47 text

ಉظ Fire-and-Forget λεΫ ಉ ࣌ؒ 4.$6 λεΫ λεΫ ϖΞϦϯά͍ͨ͠λεΫͷ։࢝ͷΈಉظΛߦ͏ ظ ར఺: ίετ͕͔͔ΔಉظΛ1ճͰࡁ·ͤΒΕΔ

Slide 48

Slide 48 text

ಉظ Fire-and-Forget ࣌ؒ 4.$6 λεΫ λεΫ2͸λεΫ1ͱ্ख͘ϖΞϦϯάग़དྷΔ λεΫ2ͱλεΫ3͸্ख͘ϖΞϦϯάग़དྷͳ͍ λεΫ1ͷ࣮ߦ࣌ؒ͸େ͖͘มಈ͢Δ λεΫ λεΫ ಉ ظ

Slide 49

Slide 49 text

ಉظ Fire-and-Forget λεΫ ࣌ؒ 4.$6 λεΫ λεΫ λεΫ1ͷ࣮ߦ࣌ؒʹΑͬͯ λεΫ2ͱλεΫ3͕ ҙਤͤͣಉ࣌ʹ࣮ߦ͞Εͯ͠·͏ ಉ ظ

Slide 50

Slide 50 text

ಉظ Fire-and-Forget ࣌ؒ 4.$6 λεΫ λεΫ1ͷ࣮ߦ͕࣌ؒظ଴௨ΓͰ΋ CPUଆ͕๩ͯ͘͠λεΫ2ͷ౤ೖ͕஗ΕΔͱ ಉ͡໰୊͕ى͜Δ ಉ ظ λεΫ λεΫ ஗Ԇ ܽ఺: ϖΞϦϯά͕ෆ֬ఆ

Slide 51

Slide 51 text

ಉظ Handshake ࣌ؒ 4.$6 λεΫ ಉ ظ λεΫ λεΫ ಉ ظ ϖΞϦϯά͍ͨ͠λεΫͷ ։࢝ͱऴྃͷ྆ํͰಉظΛߦ͏ ར఺: ϖΞϦϯά͕׬શʹ༧ଌՄೳ

Slide 52

Slide 52 text

ಉظ Handshake ࣌ؒ 4.$6 λεΫ ಉ ظ λεΫ λεΫ ಉ ظ ܽ఺: ͍͘Β͔ͷඇಉظ࣮ߦͷػձͷ૕ࣦ جຊతʹ͸Handshake͕ਪ঑͞ΕΔ͕ Fire-and-ForgetͰಉظͷ࡟ݮΛૂ͑Δ৔߹΋͋Δ 2छྨͷಉظͷ࢖͍෼͚͕ඞཁ

Slide 53

Slide 53 text

ඇಉظ੫ CPU λεΫͷεέδϡʔϦϯά΍ ಉظɺ௥ՃͷࡍʹCPUଆͰඞཁʹͳΔॲཧ GPU ద੾ͳϖΞϦϯάͷҝͷಉظͷ௥Ճ ඇಉظΛ্ख͘ѻ͑ͳ͍ز͔ͭͷΞʔΩςΫνϟ౳ ඇಉظ੫͕ߴ࣮ͭ͘͘૷Λߦ͏ͱ ඇಉظʹΑΔύϑΥʔϚϯεͷ޲্Λ ଧͪফͯ͠͠·͏ࣄ͕͋Δ

Slide 54

Slide 54 text

Conservative Rasterization and Raster Ordered View ͜ͷηογϣϯͷൃදऀ Rahul Sathe(NVIDIA), Evgeny Makarov(NVIDIA) GDC VaultͷURL http://www.gdcvault.com/play/1024385/Advanced-Graphics- Tech-Async-Compute

Slide 55

Slide 55 text

ΤΠϦΞε ϐΫηϧͷத৺͕ ϓϦϛςΟϒͷ಺ଆʹ͋ͬͨΒ ͜ͷҐஔͰϐΫηϧγΣʔμΛ࣮ߦ

Slide 56

Slide 56 text

ΤΠϦΞε

Slide 57

Slide 57 text

Supersampling Anti-Aliasg

Slide 58

Slide 58 text

Supersampling Anti-Aliasg

Slide 59

Slide 59 text

Temporal Anti-Aliasg t=0

Slide 60

Slide 60 text

Temporal Anti-Aliasg t=1

Slide 61

Slide 61 text

Temporal Anti-Aliasg t=3

Slide 62

Slide 62 text

Temporal Anti-Aliasg

Slide 63

Slide 63 text

Conservative Rasterization গ͠Ͱ΋ϐΫηϧͷதʹؚ·Ε͍ͯͨΒ ϐΫηϧγΣʔμͷର৅ʹ͢Δ

Slide 64

Slide 64 text

Pull model interpolation ࠓ·Ͱ ͜Ε͔Β ϐΫηϧγΣʔμ͔Βࢦఆͨ͠Ґஔʹ͓͚Δ ௖఺ଐੑͷิؒ݁ՌΛಘΔ

Slide 65

Slide 65 text

Temporal Anti-Aliasing δΦϝτϦγΣʔμ ϥελϥΠβ ϐΫηϧγΣʔμ ͜͜Ͱ௖఺ʹลͷํఔࣜͷ܎਺Λॻ͍͓ͯ͘ Conservative Rasterization ϐΫηϧ಺ͷϥϯμϜͳҐஔͰ ลͷํఔࣜΛධՁ ಺ଆͳΒPull model interpolation αϯϓϦϯά఺Λ ϑϨʔϜຖʹ΋ͧ΋ͧͤ͞Δ

Slide 66

Slide 66 text

Conservative Rasterizationͷམͱ݀͠ $MJQQFS ϓϦϛςΟϒ͕Viewportͷ֎ʹ͸Έग़͍ͯ͠Δ৔߹ ϋʔυ΢ΣΞ͸ࣗಈతʹϓϦϛςΟϒΛ෼ׂ͢Δ ͔͜͜Βը໘֎ ͜͜Ͱ෼ׂ

Slide 67

Slide 67 text

Conservative Rasterizationͷམͱ݀͠ $MJQQFS ϐΫηϧγΣʔμʹ͸ ݩͷԫ৭ͷࡾ֯ܗͷ৘ใ͕ૹΒΕͯ͘Δҝ ੺ͷϐΫηϧ͸ޡͬͯൣғ಺ͱ൑அ͞ΕΔ

Slide 68

Slide 68 text

ϐΫηϧγΣʔμʹ͸ ݩͷԫ৭ͷࡾ֯ܗͷ৘ใ͕ૹΒΕͯ͘Δҝ ੺ͷϐΫηϧ͸ޡͬͯൣғ಺ͱ൑அ͞ΕΔ ෼ׂ͞Εͨଞํͷࡾ֯ܗ΋ಉ༷Ͱ͋ΔͨΊ ͍͔ͭ͘ͷϐΫηϧ͸2౓ॲཧ͞ΕΔࣄʹͳΔ ࣍ʹઆ໌͢ΔRasterizer Order ViewsΛ ࢖Θͳ͍ͱͪΒ͖ͭͷݪҼʹͳΔ

Slide 69

Slide 69 text

ϐΫηϧγΣʔμ͔Β Ϩϯμʔλʔήοτͷ೚ҙͷҐஔΛ ॻ͖ࠐΉ͜ͱ͕Ͱ͖Δ Unordered Access View (UAV)

Slide 70

Slide 70 text

Unordered Access View (UAV) ಉ͡ϐΫηϧʹରͯ͠ෳ਺ͷϐΫηϧγΣʔμ͕ ಉ࣌ʹಡΈॻ͖ͨ͠৔߹ ݁Ռ͸ະఆٛ ?

Slide 71

Slide 71 text

Rasterizer Order Views (ROV) ϓϦϛςΟϒ͕ϥελϥΠβʹૹΒΕͨॱͰ ϐΫηϧ͕ॻ͖ࠐ·ΕΔ͜ͱ͕อূ͞ΕΔ ಉ͡ϐΫηϧΛಡΈॻ͖ͨ͠৔߹ͷ݁Ռ͕ఆ·Δ ! 1 2 3 4 5

Slide 72

Slide 72 text

Temporal Super Sampling ग़ྗઌͷϐΫηϧͷҐஔʹԠͯ͡ ॏΈ෇͖ฏۉΛͱΔࣄͰ ࣮ࡍʹߴղ૾౓ͰϨϯμϦϯάΛߦΘͣʹ ߴղ૾౓ͷϨϯμϦϯά݁ՌΛಘΔ

Slide 73

Slide 73 text

Multi Sample Anti-Aliasg 1ϐΫηϧ಺ͷෳ਺ͷҐஔͰਂ౓ΛαϯϓϦϯά 1ͭͰ΋ϓϦϛςΟϒͷ಺ଆͳΒ ϐΫηϧγΣʔμΛ࣮ߦ ਂ౓ ৭

Slide 74

Slide 74 text

Multi Sample Anti-Aliasg ϓϦϛςΟϒͷ಺ଆͷαϯϓϦϯά఺ʹ ϐΫηϧγΣʔμͷ݁ՌΛॻ͖ࠐΈ શͯͷαϯϓϦϯά఺ͷ৭ͷ ฏۉΛͦͷϐΫηϧͷ৭ͱ͢Δ

Slide 75

Slide 75 text

ಉ͡৘ใΛෳ਺ͷαϯϓϦϯά఺ʹॻ͘ͷ͸ ϝϞϦྖҬͱଳҬͷ࿘අ͔ͩΒආ͚͍ͨ ਂ౓͸αϯϓϦϯά఺ͷ਺͚ͩه࿥ ਂ౓Ҏ֎͸ϐΫηϧʹ͖ͭ1ݸ͚ͩه࿥ ෳ਺ͷϓϦϛςΟϒ͕͜ͷϐΫηϧʹ ॻ͖ࠐΉՄೳੑ͕͋Δ͔ΒROVΛ࢖͏

Slide 76

Slide 76 text

ෳ਺ͷϓϦϛςΟϒ͕ಉ͡ϐΫηϧʹ ৘ใΛॻ͖ग़ͦ͏ͱ͍ͯ͠Δ ϐΫηϧͷத৺Ͱܭࢉͨ͠৭͸ ͲͪΒͷϓϦϛςΟϒͷ෺͔ ϐΫηϧͷத৺͕ ੺ͷϓϦϛςΟϒʹؚ·ΕΔͷ͔ ྘ͷϓϦϛςΟϒʹؚ·ΕΔͷ͔Λ஌ΔͨΊʹ ϐΫηϧͷத৺ʹ͓͚Δਂ౓͕ཉ͍͠

Slide 77

Slide 77 text

Programmable Sample Location ϐΫηϧ಺ͰͷαϯϓϦϯά఺ͷ਺ͱҐஔΛ ࣗ༝ʹࢦఆ͢Δࣄ͕Ͱ͖Δ ͜ΕΛ࢖ͬͯαϯϓϦϯά఺ͷ͏ͪ1͕ͭ ϐΫηϧͷத৺ʹདྷΔΑ͏ʹ͢Δ த৺ͷϐΫηϧͷਂ౓Λ࢖ͬͯ

Slide 78

Slide 78 text

ϐΫηϧͷத৺ͰγΣʔσΟϯάΛߦͳͬͯ ϐΫηϧͷத৺ʹ͓͚Δ৭Λܾఆ͢Δ

Slide 79

Slide 79 text

ϝϞϦྖҬͱଳҬͷઅ໿ MSAAͱ஗ԆϨϯμϦϯάͷ૊Έ߹Θͤͷ࣮ݱ ਂ౓͕͍ۙ৭͕ط஌ͷαϯϓϦϯά఺Λ࢖ͬͯ ৭͕ະ஌ͷαϯϓϦϯά఺ͷ৭Λܾఆ͢Δ

Slide 80

Slide 80 text

Vulkan Game development on Mobile ͜ͷηογϣϯͷൃදऀ Alen Ladavac(Croteam) GDC VaultͷURL http://www.gdcvault.com/play/1024361/Vulkan-Game- Development-on-Mobile

Slide 81

Slide 81 text

Vulkanͷಛ௃ ബ͍υϥΠό ύΠϓϥΠϯεςʔτΦϒδΣΫτ ίϚϯυόοϑΝ ௚઀తͳϝϞϦͷ؅ཧ ϚϧνεϨουରԠ ཁ͢Δʹ%JSFDU9ͱಉछͷ"1*

Slide 82

Slide 82 text

OpenGL͔ΒVulkan΁ͷҠ২ γΣʔμͷ։ൃʹ(-4-͕࢖͑Δ 140ͱσΟεΫϦϓλͷΩϟογϡΛ࣮૷ͯ͠ CJOEΛΤϛϡϨʔτ ϝϞϦ֬อͱϦιʔεͷసૹΛॻ͖଍͢ ಉظʹ͸όϦΞΛ࢖͏ ͜ͷΑ͏ͳػցతͳม׵Ͱ ୹ظؒͰҠ২Ͱ͖Δ

Slide 83

Slide 83 text

͖ͬ͞ DirectX12Ͱੑೳ͕ग़ΔΑ͏ʹҠߦ͢Δͷ͸ ࢮ͵΄Ͳਏ͍ͱ͍͏࿩͕ͩͬͨ

Slide 84

Slide 84 text

OpenGLͷੑೳ͕Ͳͷ؀ڥͰ΋҆ఆͯ͠ࠅ͍ҝ ͦΕͱൺ΂Δͱྑ͍ੑೳ͕ग़Δ ੑೳ͕ग़ΔΑ͏ʹࣗྗͰॻ͘ࣄ͕Ͱ͖Δ ಛʹGLES͔͠બ୒ࢶ͕ͳ͔ͬͨAndroidͰ͸ ͜ΜͳࡶͳҠ২Ͱ΋ େ͖ͳύϑΥʔϚϯεͷ޲্͕ظ଴Ͱ͖Δ OpenGL Vulkan΍DirectX શͯnvidiaυϥΠό 7VMLBO(BNF%FWFMPQNFOUPO .PCJMF5BMPT ϖʔδ໨ͷάϥϑ IUUQTXXXLISPOPTPSH EFWFMPQFSTMJCSBSZHED

Slide 85

Slide 85 text

໰୊఺ DirectX11΍GLESͱൺ΂Δͱ υϥΠόʹόά͕ଟ͍ AndroidͰ͸PCΑΓυϥΠόͷ ߋ৽͕೉͘͠ߋ৽ͷఏڙ΋஗͍ࣄ͕ ͜ͷ໰୊ΛΑΓ໽հʹ͍ͯ͠Δ

Slide 86

Slide 86 text

໰୊఺ Validation Layers͕࣌ʑ ਖ਼͍͠ͱ͜ΖͰจ۟Λݴ͖ͬͯͨΓ ਖ਼͘͠ͳ͍ͱ͜ΖͰԿ΋ݴΘͳ͔ͬͨΓ͢Δ ͦΕͰ΋Կ΋νΣοΫ͠ͳ͍ΑΓ͸ ͣͬͱϚγ͔ͩΒValidation LayersΛ࢖͓͏

Slide 87

Slide 87 text

Vulkan͸ා͘ͳ͍ AndroidͰ͸طʹGLESͱൺֱͯ͠ ΑΓศརͰੑೳͷྑ͍APIʹͳΓͭͭ͋Δ “ͨͩ”υϥΠόͷमਖ਼͕ඞཁͳ͚ͩͩ

Slide 88

Slide 88 text

ͲΜͳ࣌VulkanΛࢼ͢΂͖͔ Ͱ͖Δ͚ͩύϑΥʔϚϯε͕ඞཁͰ ϘτϧωοΫ͕CPUͰ ࣮૷͕΋ͬͱෳࡶʹͳͬͯ΋େৎ෉ͳ࣌

Slide 89

Slide 89 text

Vulkan Multipass mobile deferred done right ͜ͷηογϣϯͷൃදऀ Hans-Kristian Arntzen(ARM) GDC VaultͷURL http://www.gdcvault.com/play/1024361/Vulkan-Game- Development-on-Mobile

Slide 90

Slide 90 text

஗ԆϨϯμϦϯά ύε໨ ϨϯμʔόοϑΝʹ ܗঢ়ʹؔ͢Δ৘ใΛॻ͘ ύε໨ ύε໨ͷ݁ՌΛ࢖ͬͯ γΣʔσΟϯά͢Δ (όοϑΝ

Slide 91

Slide 91 text

λΠϧϕʔεΞʔΩςΫνϟ ͭͷλΠϧΛܭࢉ͢ΔؒͷҰ࣌తͳ஋ͷಡΈॻ͖͸ (16ʹ಺ଂ͞Εͨ43".্Ͱߦ͏ άϩʔόϧϝϞϦ΁ͷΞΫηε͕཈͑ΒΕΔͨΊ ௿଎ͳόεʹͭͳ͕ͬͨϝΠϯϝϞϦΛ73".ͱͯ͠࢖͏ ϞόΠϧ(16ͰΑ͘༻͍ΒΕΔ ϑϨʔϜόοϑΝΛ λΠϧʹ෼ׂͯ͠ϨϯμϦϯάΛߦ͏

Slide 92

Slide 92 text

λΠϧϕʔεͱ ஗ԆϨϯμϦϯάͷ૬ੑ͕ѱ͍ (όοϑΝશମ͕ ௿଎ͳϝϞϦʹॻ͖ࠐ·ΕΔ ͙͢ʹ(όοϑΝશମ͕ ௿଎ͳϝϞϦ͔ΒಡΈࠐ·ΕΔ (όοϑΝ OpenGL ESͰ͸ఘΊΔ͔͠ͳ͔ͬͨ

Slide 93

Slide 93 text

VulkanͰ͸ෳ਺ͷύεΛଋͶΔ͜ͱ͕Ͱ͖Δ (όοϑΝ ϥΠςΟϯά ϙετϓϩηε $16 %SBX %SBX %SBX OpenGL (όοϑΝ ϥΠςΟϯά ϙετϓϩηε $16 %SBX Vulkan

Slide 94

Slide 94 text

(όοϑΝ ϥΠςΟϯά ϙετϓϩηε $16 %SBX Vulkan VulkanͰ͸લͷύεͷ৘ใ͕Ͳ͜·ͰἧͬͨΒ ࣍ͷύεΛ࣮ߦͯ͠ྑ͍͔͸બ୒Ͱ͖Δ 7,@%&1&/%&/$:@#:@3&(*0/@#*5 ͜Ε͕WL$NE1JQFMJOF#BSSJFSͷ EFQFOEFODZ'MBHTʹઃఆ͞Ε͍ͯΔͱ લͷύεͷରԠ͢ΔϐΫηϧͷϨϯμϦϯά͕׬ྃͨ͠Β ࣍ͷύεΛ࣮ߦͯ͠ྑ͍͜ͱʹͳΔ

Slide 95

Slide 95 text

7,@%&1&/%&/$:@#:@3&(*0/@#*5 υϥΠό͸ҎԼͷΑ͏ʹ࣮ߦͯ͠ྑ͍͜ͱΛ ஌Δ͜ͱ͕Ͱ͖Δ (όοϑΝ ϥΠςΟϯά ϙετϓϩηε λΠϧ෼ͷ(όοϑΝ͸ 43".ʹ৐ΔҝଳҬΛ࿘අ͠ͳ͍ (όοϑΝ ϥΠςΟϯά ϙετϓϩηε (όοϑΝ ϥΠςΟϯά ϙετϓϩηε ʜ ॱ൪ʹ࣮ߦ λΠϧ λΠϧ λΠϧ

Slide 96

Slide 96 text

Samsung ExynosͰ 30%ͷϑϨʔϜϨʔτͷ޲্ͱ 80%ͷόϯυ΢ΣΠτͷվળ

Slide 97

Slide 97 text

Cinematic Depth of Field ͜ͷηογϣϯͷൃදऀ Karl Hillesland(AMD) GDC VaultͷURL http://www.gdcvault.com/play/1024387/Advanced-Graphics- Tech-Cinematic-Depth

Slide 98

Slide 98 text

ඃࣸքਂ౓ ίϯϐϡʔλάϥϑΟΫεͰ͸ Χϝϥ͸ϐϯϗʔϧΧϝϥͱ͢Δͷ͕Ұൠత͕ͩ

Slide 99

Slide 99 text

ඃࣸքਂ౓ ଟ͘ͷΧϝϥͷϨϯζ͸େ͖͞Λ͓࣋ͬͯΓ ݶΒΕͨਂ౓ͷൣғʹ͔͠ϑΥʔΧε͕߹Θͳ͍ Gয఺ڑ཭ "։ޱܘ $ϫʔϧυۭؒͰͷ ࡨཚԁ DεΫϦʔϯۭؒͰͷ ࡨཚԁ

Slide 100

Slide 100 text

ඃࣸքਂ౓Λදݱ͢Δ2ͭͷํ๏ Gather Scatter

Slide 101

Slide 101 text

Gather ֤ϐΫηϧʹ͍ͭͯ ਂ౓஋͔ΒࡨཚԁΛٻΊͯ ͦͷൣғ಺͔ΒαϯϓϦϯάΛߦ͏ ར఺: ؆୯ʹ࣮૷Ͱ͖Δ Scatterͱൺ΂ͯॻ͖ग़͕͠গͳ͍

Slide 102

Slide 102 text

Gather ͜ͷ෦෼ͷ৭Λ ܾఆ͢Δҝʹ ͜ͷลΓͷ৭͕ ඞཁ͕ͩ ϐϯϗʔϧͰ͸ खલͷ෺ମʹःΒΕͯݟ͑ͳ͍ҝ ϑϨʔϜόοϑΝʹ৘ใ͕࢒͍ͬͯͳ͍ ܽ఺: ڥք෦෼ʹΞʔςΟϑΝΫτ͕ग़Δ

Slide 103

Slide 103 text

Scatter ϐΫηϧͷ৭͕ܾఆͨ࣌͠఺Ͱ ਂ౓஋͔ΒࡨཚԁΛٻΊͯ ࡨཚԁͷ಺ଆʹͳΔશͯͷϐΫηϧʹ ৭Λॻ͖ग़͢ ར఺: ϐϯϗʔϧͰϑϨʔϜόοϑΝʹඳ͘ͱ ӅΕͯ͠·͏Ґஔͷ৭Λ൓өͰ͖Δ

Slide 104

Slide 104 text

Scatter ܽ఺: ୯७ʹ࣮૷͢Δͱॻ͖ग़͕͠େมͳࣄʹͳΔ ҰൠʹGatherΑΓ࣮૷͕ෳࡶʹͳΔ ೖྗ ग़ྗ

Slide 105

Slide 105 text

Summed Area Table " ϑϨʔϜόοϑΝͷࠨ্͔Β ೚ҙͷ఺"·ͰͷྖҬͷ஋ͷ૯࿨Λ ఺"ʹ͓͚Δ4VNNFE"SFB5BCMFͷ஋ͱ͢Δ

Slide 106

Slide 106 text

Summed Area Table " ཉ͍͠ൣғ "#$%Ͱғ·ΕۣͨܗྖҬͷ૯࿨͕ཉ͍͠৔߹ # $ % ཉ͍͠ൣғͷ૯࿨ 4"5 " 4"5 # 4"5 % 4"5 $ ೚ҙͷۣܗྖҬͷ૯࿨Λ఺ͷ஋͔ΒಘΒΕΔ

Slide 107

Slide 107 text

Summed Area Table ಘΒΕΔͷ͸ۣܗྖҬͷੵ෼ (BUIFSͰͳ͍ͱ࢖͑ͳ͍ Πέͯͳ͍ Πέͯͳ͍

Slide 108

Slide 108 text

͹Β·͘ൣғ Fast Filter Spreading " # $ % "#$%Ͱғ·Εͨൣғʹ஋OΛ͹Βࢃ͖͍ͨ "ͱ$ʹOΛॻ͖ࠐΜͰ#ͱ%ʹOΛॻ͖ࠐΉ ਺஋ੵ෼͢ΔͱO͕"#$%ͷൣғʹՃࢉ͞ΕΔ

Slide 109

Slide 109 text

Fast Filter Spreading ͜Μͳ෩ʹ஋Λ഑ஔͯ͠֊ੵ෼͢Δͱ όʔτϨοτϑΟϧλΛ࡞ΕΔ ۣܗΑΓߴ඼࣭ͳ݁Ռ͕ಘΒΕΔ ͹Β·͘ൣғ

Slide 110

Slide 110 text

Advanced Particle Simulation in Compute ͜ͷηογϣϯͷൃදऀ Richard Tonge(NVIDIA), Hammad Mazhar(NVIDIA) GDC VaultͷURL http://www.gdcvault.com/play/1024387/Advanced-Graphics- Tech-Cinematic-Depth

Slide 111

Slide 111 text

ཻࢠ๏γϛϡϨʔγϣϯ ߶ମ΍஄ੑମɺ࿈ଓମΛ Ұఆͷ࣭ྔΛཻ࣋ͬͨࢠͷू·Γʹ཭ࢄԽ ஄ੑମͷԠྗ΍ྲྀମͷѹྗ౳Λ ۙ๣ཻࢠͱͷ૬ޓ࡞༻ͱͯ͠දݱ

Slide 112

Slide 112 text

εΫϦʔϯۭؒڥք৚݅ GόοϑΝΛڥք৚݅ͱͯ͠ γϛϡϨʔγϣϯΛߦ͏ ར఺: GόοϑΝ͸1ϑϨʔϜຖʹੜ੒͞ΕΔҝ ಈతͳγʔϯʹ௥ै͢Δͷ͕༰қ ը໘ʹऩ·͍ͬͯͳ͍΋ͷ͕ܭࢉ͔Βআ֎͞ΕΔ

Slide 113

Slide 113 text

εΫϦʔϯۭؒڥք৚݅ ਂ౓ ཻࢠͷ࠲ඪͱରԠ͢ΔҐஔͷZ஋Λൺֱ͠ ޙऀ͕खલͩͬͨΒཻࢠΛԡ͠ग़͢

Slide 114

Slide 114 text

εΫϦʔϯۭؒڥք৚݅ ਂ౓ ܽ఺: ӅΕ͍ͯΔ໘ͱͷিಥΛ ਖ਼͘͠ѻ͏ࣄ͕ग़དྷͳ͍ (όοϑΝʹ͸ ͜ͷ෦෼ͷڥքͷ৘ใ͕ ࢒͍ͬͯͳ͍ҝ ཻࢠͷҠಈΛਖ਼͘͠ःΔࣄ͕ग़དྷͳ͍

Slide 115

Slide 115 text

BVHʹΑΔڥք৚݅ ڥքΛߏ੒͢Δ໘ຖʹ ό΢ϯσΟϯάϘϦϡʔϜΛٻΊΔ

Slide 116

Slide 116 text

BVHʹΑΔڥք৚݅ ό΢ϯσΟϯάϘϦϡʔϜΛ֊૚Խͯ͠ ཻࢠ͕িಥ͍ͯ͠ΔՄೳੑ͕͋Δ໘Λ ߴ଎ʹ୳ͤΔΑ͏ʹ͓ͯ͘͠

Slide 117

Slide 117 text

BVHʹΑΔڥք৚݅ ό΢ϯσΟϯάϘϦϡʔϜΛ֊૚Խͯ͠ ཻࢠ͕িಥ͍ͯ͠ΔՄೳੑ͕͋Δ໘Λ ߴ଎ʹ୳ͤΔΑ͏ʹ͓ͯ͘͠

Slide 118

Slide 118 text

BVHʹΑΔڥք৚݅ ར఺: GόοϑΝ͔ΒӅΕͯ͠·͏໘ͱͷিಥ΋ѻ͑Δ ܽ఺: BVHΛߏங͢Δඞཁ͕͋Δ ό΢ϯσΟϯάϘϦϡʔϜΛ֊૚Խͯ͠ ཻࢠ͕িಥ͍ͯ͠ΔՄೳੑ͕͋Δ໘Λ ߴ଎ʹ୳ͤΔΑ͏ʹ͓ͯ͘͠

Slide 119

Slide 119 text

BVHʹΑΔڥք৚݅ ಈతͳγʔϯʹ࢖͑Δ͘Β͍ߴ଎ͳ BVHͷߏஙํ๏ͱͯ͠͸ nvidiaͷHLBVH͕ڍ͛ΒΕΔ IUUQTSFTFBSDIOWJEJBDPNQVCMJDBUJPOIMCWI IJFSBSDIJDBMMCWIDPOTUSVDUJPOSFBMUJNFSBZUSBDJOH

Slide 120

Slide 120 text

BVHʹΑΔڥք৚݅ͷ஫ҙ఺ ڥք͕ෳࡶͩͱಉ͡ྖҬ͕ ෳ਺ͷό΢ϯσΟϯάϘϦϡʔϜʹ ؚ·ΕΔ͜ͱ͕͋Δ ॏෳ͢Δό΢ϯσΟϯάϘϦϡʔϜ͕͋Δ৔߹ 1ՕॴͰڥք৚݅Λຬ͍ͨͯͯ͠΋ ଞͷڥք৚݅Λຬͨ͞ͳ͍Մೳੑ͕͋Δ

Slide 121

Slide 121 text

Position Based Dynamics ཅղ๏ͷཻࢠ๏γϛϡϨʔγϣϯΛ ෺ཧతʹਖ਼͘͠ͳ͍͔΋͠Εͳ͍͕ ਺஋తʹ҆ఆʹߦ͑Δख๏ ཻࢠʹ͔͔ΔྗΛٻΊΔ ཻࢠͷ଎౓Λߋ৽ ཻࢠͷҐஔΛߋ৽ িಥΛղܾͯ͠ҐஔΛमਖ਼ Ґஔʹ߹Θͤͯ଎౓Λमਖ਼ ߶ମಉ͕࢜িಥ͍ͯͨ͠Β িಥ͠ͳ͍ͱ͜Ζ·Ͱ໭͢ ྲྀମ͕ڥքΛ௒͍͑ͯͨΒ ڥք·Ͱ໭͢ ྫ ্هͷੑ࣭ͷҝ ίϯϐϡʔλάϥϑΟΫε԰ʹਓؾ

Slide 122

Slide 122 text

ཻࢠʹ͔͔ΔྗΛٻΊΔʹ͸ ͋Δཻࢠͷۙ͘ʹ͋ΔཻࢠΛ 1εςοϓຖʹ୳͢ඞཁ͕͋Δ Position Based Dynamics ཅղ๏ͷཻࢠ๏γϛϡϨʔγϣϯΛ ෺ཧతʹਖ਼͘͠ͳ͍͔΋͠Εͳ͍͕ ਺஋తʹ҆ఆʹߦ͑Δख๏ ཻࢠʹ͔͔ΔྗΛٻΊΔ ཻࢠͷ଎౓Λߋ৽ ཻࢠͷҐஔΛߋ৽ িಥΛղܾͯ͠ҐஔΛमਖ਼ Ґஔʹ߹Θͤͯ଎౓Λमਖ਼

Slide 123

Slide 123 text

ۙ๣୳ࡧ ܭࢉྖҬશମΛ֨ࢠঢ়ʹ۠੾ͬͯ ཻࢠ͕Ͳͷηϧʹؚ·ΕΔ͔ΛٻΊΔ ִؒrͷ֨ࢠͰݱࡏͷཻࢠΛؚΉηϧͱ ྡ઀͢ΔηϧΛௐ΂Ε͹ ൒ܘrҎ಺ʹ͋Δཻࢠ͕શͯݟ͔ͭΔ S S

Slide 124

Slide 124 text

ۙ๣ཻࢠͱͷܭࢉʹؔ͢Δ2ͭͷઓུ Gather Scatter

Slide 125

Slide 125 text

Gather 1ͭͷཻࢠΛ1ͭͷεϨουͰܭࢉ ར఺: ෳ਺ͷεςοϓ͔ΒͳΔܭࢉΛ؆୯ʹॻ͚Δ ܽ఺: Scatterͱൺֱͯ͠γϯϓϧͳ࣮૷ʹͳΔ ಉ͡ܭࢉΛ2ճߦ͏ࣄʹͳΔ ྲྀମ౳Ͱओʹ༻͍ΒΕΔ

Slide 126

Slide 126 text

Scatter 1ͭͷ઀ଓΛ1ͭͷεϨουͰܭࢉ ར఺: ઀ଓ͞ΕཻͨࢠʹՃΘΔྗ͕ରশͳ৔߹ 1ճͷܭࢉͰ2ͭͷཻࢠʹॻ͖ࠐΈΛߦ͏ࣄ͕ग़དྷΔ ܽ఺: ݸʑͷ઀ଓͷܭࢉ݁Ռͷॻ͖ࠐΈ͕ಉ͡৔ॴʹ ରͯ͠ߦΘΕΔҝΞτϛοΫԋࢉͰͷॻ͖ࠐΈ͕ඞཁ ෍౳Ͱओʹ༻͍ΒΕΔ

Slide 127

Slide 127 text

PBDʹ͓͚Δ߶ମͷѻ͍ ཻࢠͷҐஔΛߋ৽ ΊΓࠐΜͰ͍ΔཻࢠΛ ΊΓࠐΉલͷҐஔ·ͰҠಈ ཻࢠؒͷҐஔؔ܎Λ ߆ଋ৚݅ͱͯ͠ ཻࢠͷҐஔΛमਖ਼

Slide 128

Slide 128 text

PBDʹ͓͚Δ෍ͷѻ͍ ཻࢠͷҐஔΛߋ৽ ΊΓࠐΜͰ͍ΔཻࢠΛ ΊΓࠐΉલͷҐஔ·ͰҠಈ ཻࢠؒͷڑ཭Λ ߆ଋ৚݅ͱͯ͠ ཻࢠͷҐஔΛमਖ਼

Slide 129

Slide 129 text

PBDʹ͓͚Δྲྀମͷѻ͍ ཻࢠͷҐஔΛߋ৽ ΊΓࠐΜͰ͍ΔཻࢠΛ ΊΓࠐΉલͷҐஔ·ͰҠಈ ཻࢠؒͷີ౓Λ ߆ଋ৚݅ͱͯ͠ ཻࢠͷҐஔΛमਖ਼

Slide 130

Slide 130 text

Game Physics on the GPU with PhysX 3.4 ͜ͷηογϣϯͷൃදऀ Kier Storey(NVIDIA) GDC VaultͷURL http://www.gdcvault.com/play/1024345/

Slide 131

Slide 131 text

PhysX NVIDIAͷ෺ཧԋࢉSDK https://developer.nvidia.com/physx-sdk Ұ෦ͷΞϧΰϦζϜ͸GPUΛ࢖ͬͯ ߴ଎ʹܭࢉͰ͖Δ ߶ମ ஄ੑମ ྲྀମ ෍౳ͷ γϛϡϨʔγϣϯʹରԠ

Slide 132

Slide 132 text

PhysXͷ߶ମύΠϓϥΠϯ #SPBE1IBTF 1BJS'JMUFSJOH /BSSPX1IBTF *TMBOE(FO 4PMWFS $$% 'FUDI3FTVMU AABBͰߥ͘িಥͦ͠͏ͳϖΞΛ୳͢ িಥͤͨ͘͞ͳ͍ϖΞΛআ֎͢Δ ࣮ࡍʹিಥ͍ͯ͠Δ͔Ͳ͏͔Λௐ΂Δ Өڹ͠߹͏߶ମΛάϧʔϓԽ͢Δ ࣍ͷεςοϓͰͷঢ়ଶΛٻΊΔ ߴ଎ͰҠಈͨ͠߶ମͱিಥͨ͠߶ମΛ୳͢ ݁ՌΛऔΓग़͢

Slide 133

Slide 133 text

PhysX 3.4ͷ৽ػೳ GPU߶ମ #SPBE1IBTF 1BJS'JMUFSJOH /BSSPX1IBTF *TMBOE(FO 4PMWFS $$% 'FUDI3FTVMU PhysX 3.4Ͱ͸ ੺Ͱࣔͨ͠෦෼͕ GPUͰ࣮ߦՄೳʹͳͬͨ

Slide 134

Slide 134 text

GPUͱCPUͷಛ௃ (16 $16 େ͖ͳ'-014ͱ ϝϞϦόϯυ෯ খ͞ͳ'-014ͱ ϝϞϦόϯυ෯ ݸʑͷ໋ྩͷ࣮ߦ͕଎͍ গ਺ͷϓϩηοαίΞͰ ੑೳΛग़͢ ݸʑͷ໋ྩͷ࣮ߦ͸஗͍ ਺ઍͷϓϩηοαίΞͰ ੑೳΛग़͢ ϝϞϦΞΫηεύλʔϯ࣍ୈͰ ࿐ࠎʹੑೳ͕མͪΔ ϝϞϦΞΫηεύλʔϯ͕ ੑೳʹӨڹΛ༩͑ʹ͍͘ ΞϧΰϦζϜ͸਺ઍεϨουͰ εέʔϧ͢Δඞཁ͕͋Δ γʔέϯγϟϧͰ΋ ݁ߏͳΜͱ͔ͳΔ

Slide 135

Slide 135 text

GPUͰ࣮ߦ͢Δεςʔδ͕ߴ଎ʹ ࣮ߦͰ͖Δͱશମͱͯ͠Ͳͷ͘Β͍଎͘ͳΔ͔ CPU෦෼͕૬ରతʹϘτϧωοΫʹͳͬͯ 3.5ഒ͘Β͍Ͱ಄ଧͪʹͳΔ

Slide 136

Slide 136 text

CPUͰ࣮ߦ͢Δεςʔδ΋վྑ 1BJS'JMUFSJOH ΛฒྻͰߦ͑ΔΑ͏ʹͳͬͨ *TMBOE(FO ͷΞϧΰϦζϜͷมߋ ϝϞϦϑοτϓϦϯτͷվળ $16ͷεςʔδͱ(16ͷεςʔδΛಉ࣌ʹ ࣮ߦͰ͖ΔΑ͏ʹύΠϓϥΠϯΛվྑ ΛฒྻͰߦ͏ͨΊͷ 'FUDI3FTVMU ৽͍͠"1*Λ௥Ճ

Slide 137

Slide 137 text

GPU Narrow Phase ैདྷ͔ΒCPUͰͷ࣮૷Ͱ༻͍ΒΕ͍ͯͨ PCMʹΑΔিಥ൑ఆΛGPU্Ͱߦ͏ ͨͩ͠αϙʔτ͞Ε͍ͯΔͷ͸ ۣܗ ತ໘ ߴ͞৔ ͷ૊Έ߹Θ͔ͤΒͳΔিಥͷΈ ͦͷଞͷϓϦϛςΟϒ͕িಥͨ͠৔߹ CPUଆʹඞཁͳ৘ใΛૹͬͯ CPUͰܭࢉΛߦ͏

Slide 138

Slide 138 text

Mass Splitting ߆ଋ৚݅ͷղܾʹ͸ ௨ৗΨ΢εβΠσϧ๏͕༻͍ΒΕΔ Ψ΢εβΠσϧ๏͸ ͦͷ··Ͱ͸GPUͰεέʔϧ͠ͳ͍ ϠίϏ๏Λ࢖͏ͱऩଋੑ͕ѱ͍ " # $

Slide 139

Slide 139 text

Mass Splitting # $ͷ൒෼ͷ࣭ྔ " $ͷ൒෼ͷ࣭ྔ Cͷ൒෼ͷ࣭ྔͷ߶ମ͕ ಉ͡৔ॴʹ2ͭॏͳ͍ͬͯΔࣄʹͯ͠ AͱͷিಥͱBͱͷিಥΛผͷ໰୊ʹ͢Δ ൓෮ͷ֤αΠΫϧͰ શͯͷCͷ଎౓ΛCͷ଎౓ͷฏۉ஋ʹ͢Δ େ͖ͳߦྻ͕େྔͷখ͍͞ߦྻʹͳΔ GPUͰฒྻԽͰ͖Δ!

Slide 140

Slide 140 text

݁Ռ ॎ͕࣠ܭࢉ࣌ؒԣ͕࣠ϑϨʔϜ ੨͕1IZT9Ͱ$16Ͱܭࢉͨ͠৔߹ ྘͕1IZT9Ͱ$16Ͱܭࢉͨ͠৔߹ ΦϨϯδ͕1IZT9͕(16Ͱܭࢉͨ͠৔߹ (BNF1IZTJDTPOUIF(16XJUI/7*%*"1IZT9 ϖʔδ໨ͷਤͱάϥϑ IUUQTEFWFMPQFSOWJEJBDPNHED

Slide 141

Slide 141 text

glTF Update ͜ͷηογϣϯͷൃදऀ Neil Trevett(NVIDIA) GDC VaultͷURL http://www.gdcvault.com/play/1024346/

Slide 142

Slide 142 text

glTF JSONܗࣜͷ 3࣍ݩܗঢ়ͷ ϑΥʔϚοτ ϝογϡ ௖఺ଐੑ ϚςϦΞϧ πϦʔ Ξχϝʔγϣϯ ͳͲΛؚΉ \ BDDFTTPST\ BDDFTTPS@\ CV⒎FS7JFXCV⒎FS7JFX@ CZUF0⒎TFU CZUF4USJEF DPNQPOFOU5ZQF DPVOU NBY< > NJO< > UZQF4$"-"3 ^ BDDFTTPS@\ CV⒎FS7JFXCV⒎FS7JFX@ CZUF0⒎TFU CZUF4USJEF DPNQPOFOU5ZQF

Slide 143

Slide 143 text

glTF 2.0 2017೥य़ϦϦʔε༧ఆ https://github.com/KhronosGroup/glTF/tree/2.0/specification/2.0

Slide 144

Slide 144 text

όΠφϦglTF͕ඪ४ʹೖͬͨ IFBEFS DPOUFOU CPEZ NBHJDόʔδϣϯDPOUFOUͷ௕͞౳ +40/ܗࣜͷHM5' δΦϝτϦΩʔϑϨʔϜεΩϯը૾γΣʔμ ʹ͍ͭͯ௚઀σʔλΛॻ͘୅ΘΓʹ CPEZͷதͷͲ͜ʹஔ͍ͯ͋Δ͔ΛࢦఆͰ͖Δ όΠφϦܗࣜͷσʔλ͕ ฒΜͰ͍ΔྖҬ ར఺: ௖఺഑ྻ౳Λখ͘͞ه࿥ͯ͠ߴ଎ʹύʔε ςΫενϟΛ௚઀glTFͷதʹอଘͰ͖Δ 1.0Ͱ͸֦ுͰͲͷ؀ڥͰ΋࢖͑Δͱ͸ݶΒͳ͔ͬͨ

Slide 145

Slide 145 text

෺ཧϕʔεϨϯμϦϯάʹඞཁͳ ύϥϝʔλͷॻ͖ํ͕ఆΊΒΕͨ baseColorFactor baseColorTexture metallicFactor roughnessFactor metallicRoughnessTexture ”materials”: { ”pbrMetallicRoughness”: { … } } ͜͜ʹઃఆͰ͖Δύϥϝʔλ Ξϧϕυ Ξϧϕυ͕ ه࿥͞ΕͨςΫενϟ ൓ࣹ཰ ૈ͞ ൓ࣹ཰ͱૈ͕͞ ه࿥͞ΕͨςΫενϟ ར఺: ҟͳΔιϑτ΢ΣΞಉ࢜Ͱ ෺ཧϕʔεϨϯμϦϯάͷ৘ใΛड͚౉͠ग़དྷΔ

Slide 146

Slide 146 text

WebGL 2.0 ͜ͷηογϣϯͷൃදऀ Brandon Jones (Google), Zhenyao Mo (Google), Kai Ninomiya (Google) GDC VaultͷURL http://www.gdcvault.com/play/1024346/

Slide 147

Slide 147 text

WebGL HTML5ͷcanvas্Ͱ OpenGL ESϥΠΫͳAPIʹΑΔ ඳըΛՄೳʹ͢Δ JavaScriptͷAPI ࠓ೔ଟ͘ͷWebϒϥ΢β͕αϙʔτ͍ͯ͠Δ WebGL 1.0͸OpenGL ES 2.0Λ ϕʔεʹ͍ͯ͠Δ

Slide 148

Slide 148 text

WebGL 2.0 ·ͩυϥϑτ͚ͩͲ Ұ෦ͷϒϥ΢βͰαϙʔτ͕࢝·͍ͬͯΔ ৽͍͠WebGL

Slide 149

Slide 149 text

WebGL 2.0ͷ৽ػೳ Float Texture Immutable Texture Instanced Drawing Multiple Render Target Transform Feedback Multisampled Renderbuffers Uniform Buffers Sampler Object GLSL ES 3.00

Slide 150

Slide 150 text

Immutable Texture ࡞੒ޙʹ಺༰ͷॻ͖׵͕͑Ͱ͖ͳ͍ςΫενϟ DirectX͸ςΫενϟ͕ޙ͔Βॻ͖׵͑ΒΕͳ͍ࣄ͕ อূ͞Ε͍ͯΔ৔߹ΑΓޮ཰తʹ ςΫενϟΛอ࣋͢Δ࢓૊Έ͕͋Δ WebGLΛDirectXͰ࣮૷͢Δͱ OpenGLͷϛοϓϚοϓͷࢦఆํ๏ʹରԠ͢Δҝʹ ͜ͷ࢓૊Έͷར༻ΛఘΊΔඞཁ͕͋Δ Immutable TextureͳΒ͜ͷ࢓૊Έ͕ར༻Ͱ͖Δ

Slide 151

Slide 151 text

Float Texture 16bit·ͨ͸32bitͷුಈখ਺఺਺Ͱ ஋Λอ࣋͢ΔςΫενϟΛ࡞ΕΔ WebGL͸FBOʹରԠ͍ͯ͠ΔͨΊ 0.0͔Β1.0ʹऩ·Βͳ͍ϨϯμϦϯά݁ՌΛ ϑϨʔϜόοϑΝʹॻ͚ΔΑ͏ʹͳΔ

Slide 152

Slide 152 text

Instanced Drawing 1ճͷdrawίʔϧͰ େྔͷϝογϡΛҟͳΔύϥϝʔλͰඳ͘ ϕδςʔγϣϯͷύϑΥʔϚϯε޲্

Slide 153

Slide 153 text

Multiple Render Target gl_FragData[0] = position; gl_FragData[1] = normal; gl_FragData[2] = albedo; 1౓ͷϨϯμϦϯάύεͰ ϑϥάϝϯτγΣʔμ͔Βෳ਺ͷग़ྗઌʹ஋Λ ॻ͖ࠐΊΔΑ͏ʹͳΔ

Slide 154

Slide 154 text

Multiple Render Target (όοϑΝ ϥΠςΟϯά Float TextureͱMultiple Render Target͕࢖͑Δ ·ͱ΋ͳ஗ԆϨϯμϦϯά͕ग़དྷΔ ๏ઢ ࠲ඪ ϚςϦΞϧ*%

Slide 155

Slide 155 text

Transform Feedback ௖఺γΣʔμ͚ͩΛ࣮ߦͯ͠ ݁ՌΛ௖఺όοϑΝΦϒδΣΫτʹॻ͖ग़͢ ύʔςΟΫϧγεςϜͰ ཻࢠͷ࠲ඪΛߋ৽ͨ͠Γ มܗͨ͠෺ମͷܗঢ়Λ อଘ͓ͯ͘͠ͷʹ࢖͏ ௖఺γΣʔμ ϥελϥΠβ ϑϥάϝϯτ γΣʔμ VBO

Slide 156

Slide 156 text

Multisampled Renderbuffers 1ϐΫηϧʹ͖ͭ ෳ਺ͷαϯϓϦϯά఺Λ ࣋ͬͨϨϯμʔόοϑΝ Multi Sample Anti-Aliasingʹ࢖͏ ॏ৺αϯϓϦϯά΋࢖͑ΔΑ͏ʹͳͬͨ

Slide 157

Slide 157 text

Uniform Buffers GPUϝϞϦ΁ͷσʔλసૹ͸ ҰൠʹେྔͷσʔλΛ·ͱΊͯૹͬͨํ͕ εϧʔϓοτ͕ग़Δ for( $i = 0; $i != 100; $i++ ) { gl.uniform1f( location[ i ], value[ i ] ); } // ͭΒ͍ େྔͷUniform͸ΧλϚϦʹ͠Α͏

Slide 158

Slide 158 text

Uniform Buffers var index = gl.getUniformBlockIndex(program, 'data'); gl.uniformBlockBinding(prg, index, 0); var ubo = gl.createBuffer(); gl.bindBuffer(gl.UNIFORM_BUFFER, ubo); gl.bufferData(gl.UNIFORM_BUFFER, data, gl.STATIC_DRAW); gl.bindBufferBase(gl.UNIFORM_BUFFER, 0, ubo); Uniform Buffer ObjectΛ࡞ͬͯ σʔλΛॻ͖ࠐΜͰ γΣʔμ಺ͷuniformͱରԠ͚ͮΔ

Slide 159

Slide 159 text

Sampler Object αϯϓϥʔΦϒδΣΫτ ςΫενϟΦϒδΣΫτ WebGL 1.0 WebGL 2.0 ςΫενϟʹؔ͢Δ ສ෺ΛؚΉ Ͳͷσʔλ͔Β αϯϓϦϯά͢Δ͔ ͲΜͳ෩ʹ αϯϓϦϯά͢Δ͔ αϯϓϦϯάύϥϝʔλΛ ςΫενϟΦϒδΣΫτ͔Β෼཭ ςΫενϟΦϒδΣΫτ

Slide 160

Slide 160 text

GLSL ES 3.0 in outΛॻ͚ΔΑ͏ʹͳͬͨ flat smooth centroidิؒͷબ୒͕Մೳʹ ௖఺γΣʔμͰςΫενϟಡΊΔΑ͏ʹͳͬͨ ඇਖ਼ํߦྻܕͷ௥Ճ ϑϥάϝϯτͷഁغΛࢦࣄͰ͖ΔΑ͏ʹͳͬͨ ͳͲͳͲ #version 300 es

Slide 161

Slide 161 text

Accelerating Your VR Games with VR Works ͜ͷηογϣϯͷൃදऀ Cem Cebenoyan(NVIDIA), Edward Liu(NVIDIA) GDC VaultͷURL http://www.gdcvault.com/play/1024356/

Slide 162

Slide 162 text

NVIDIA VR Works VR։ൃͷͨΊͷ ༷ʑͳػೳΛఏڙ͢ΔSDK Ϩϯζʹ߹ΘͤͨϨϯμϦϯά ย໨ʹ1ຊGPUΛׂΓ౰ͯΔVR SLi PhysXʹΑΔ෺ཧγϛϡϨʔγϣϯ OptiXΛԠ༻ͨ͠ԻڹγϛϡϨʔγϣϯ ͳͲͳͲ

Slide 163

Slide 163 text

VRͷϨϯμϦϯά͸Կ͕ҧ͏͔ ϔουηοτͷಈ͖ʹ௥ैͯ͠ ߴ͍ϑϨʔϜϨʔτ͔ͭ௿͍ϨΠςϯγͰ ඳը͢Δඞཁ͕͋Δ ͜Ε͕஗ΕΔͱਲ͏ Ұൠʹ͸'14͘Β͍

Slide 164

Slide 164 text

VRͷϨϯμϦϯά͸Կ͕ҧ͏͔ εςϨΦϨϯμϦϯά ࠨӈͷ໨ʹ౤Өߦྻ͚͕ͩҧ͏ ϨϯμϦϯά݁ՌΛݟͤΔඞཁ͕͋Δ

Slide 165

Slide 165 text

VRͷϨϯμϦϯά͸Կ͕ҧ͏͔ ϨϯζσΟετʔγϣϯ ϨϯζऩࠩΛଧͪফͨ͢Ίʹ ϨϯμϦϯά݁ՌΛ࿪·ͤΔඞཁ͕͋Δ த৺෦͸ߴղ૾౓Ͱ पล෦͸௿ղ૾౓Ͱදࣔ͞ΕΔ

Slide 166

Slide 166 text

VR SLi ࠨ ࠨ ӈ ӈ ϨΠςϯγ ී௨ͷSLi͸FPSͷ޲্ʹ͸د༩͢Δ͕ ϨΠςϯγΛԼ͛Δͱ͍͏఺Ͱ͸༗ޮͰ͸ͳ͍

Slide 167

Slide 167 text

VR SLi ࠨ ࠨ ӈ ӈ ϨΠςϯγ 2ຕͷGPUʹยํͷ໨Λ୲౰ͤ͞Δ͜ͱͰ ϨΠςϯγΛ཈͑Δ

Slide 168

Slide 168 text

VR SLi NVIDIA֦ுͰSLiΛߏ੒͢ΔͲͷGPUʹ λεΫΛ౤͛Δ͔Λબ୒Ͱ͖Δ ӈ໨ࠨ໨ؔ܎ͳ͘ඞཁͳύε͸྆ํͰ࣮ߦ ӈ໨ࠨ໨ݻ༗ͷύε͸ͦΕͧΕͰ࣮ߦ

Slide 169

Slide 169 text

Multi Resolution Shading ϨϯζऩࠩΛଧͪফͨ͢Ίʹը૾Λ࿪·ͤΔ " # " # पล෦͸ॖখ͞ΕΔͨΊ 1ຕͷϨϯμϦϯά݁Ռ͔Β࿪Μͩը૾ΛಘΔͱ पล෦ͷଟ͘ͷϐΫηϧ͕ແବʹͳΔ (·ͨ͸த৺෦ͷղ૾౓͕଍Γͳ͘ͳΔ) #ͱൺ΂ͯ "ͷ໘ੵ͕খ͘͞ ͳ͍ͬͯΔ

Slide 170

Slide 170 text

Multi Resolution Shading ۙ୅తͳάϥϑΟοΫAPIͰ͸ 1ύεͷδΦϝτϦγΣʔμͷதͰ ෳ਺ͷϏϡʔϙʔτʹ௖఺Λ౉͢͜ͱ͕Ͱ͖Δ " # " # पล෦ͱத৺෦ͷϏϡʔϙʔτΛผʹͯ͠ ҟͳΔղ૾౓ͰϨϯμϦϯά

Slide 171

Slide 171 text

Lens Matched Shading " # " # ΫϦοϓۭؒͷwΛxyʹΑͬͯมԽͤ͞ΔࣄͰ ͷΑ͏ͳඇۣܗͷϏϡʔϙʔτΛಘΔ ͜ΕΛ4ຕܨ͗߹Θͤͯ पล෦ʹۙͮ͘΄Ͳղ૾౓͕Լ͕ΔΑ͏ʹ͢Δ w’=Ax+By+w

Slide 172

Slide 172 text

Multi Resolution ShadingΑΓ Lens Matched Shadingͷํ͕ ΑΓద੾ͳղ૾౓ͰϨϯμϦϯά͕ग़དྷΔ͕ ϫʔϧυ࠲ඪܥͱεΫϦʔϯ࠲ඪܥͷؔ܎͕ ઢܗͰ͸ͳ͘ͳΔͨΊ εΫϦʔϯۭؒΞϧΰϦζϜʹ޻෉͕ඞཁ

Slide 173

Slide 173 text

Rendering Low LOD Cars at Lightning Speed in 'Forza Motorsport 6' ͜ͷηογϣϯͷൃදऀ Gustavo Nunes(Microsoft) GDC VaultͷURL http://www.gdcvault.com/play/1023973/Rendering-Low-LOD- Cars-at

Slide 174

Slide 174 text

Forza Motorsport 6ͷLoD6 ϋʔυ͸Forza Motorsports 5ͱಉ͡XBOX ONE ಉ࣌ʹ૸Δंͷ୆਺Λ16୆͔Β24୆ʹ૿΍͢ ͜ͷܾఆ͕ͳ͞Εͨͷ͸։ൃͷऴ൫Ͱ 100୆Ҏ্͔ΒͳΔंͷϞσϧΛ ࡞Γ௚͢ࣄ͸Ͱ͖ͳ͔ͬͨ Forzaʹ͸0͔Β5ͷ6ஈ֊ͷLoD͕͋ͬͨ ߋʹߴ଎ʹඳ͚Δ7ஈ֊໨Λ৽ઃ ԕ͘ͷंΛߋʹࡶʹඳ͍ͯඳըΛؒʹ߹ΘͤΔ

Slide 175

Slide 175 text

Forzaʹ͸0͔Β5ͷ6ஈ֊ͷLoD͕͋ͬͨ ߋʹߴ଎ʹඳ͚Δ7ஈ֊໨Λ৽ઃ ԕ͘ͷंΛߋʹࡶʹඳ͍ͯඳըΛؒʹ߹ΘͤΔ LoD5ͰंΛ1୆ඳ͘ͷʹ300µs LoD5Ͱඳ͘ंΛ1୆ݮΒۭ͍ͯͨ͠300µsͰ 9୆ඳ͘ํ๏Λߟ͑Δ 1୆ʹ࢖͑Δ࣌ؒ͸33µs 1ճͷDrawͰंΛඳ͖͖Δඞཁ͕͋Δ

Slide 176

Slide 176 text

Topology Mapping Buffer(T-buffer) 1୆ͷंΛߏ੒͢ΔશͯͷϝογϡΛશ෦݁߹ ௖఺਺ͷ߹ܭΛ1000ҎԼ·ͰݮΒ͢ ͜ͷϝογϡશମΛ෴͏ςΫενϟ࠲ඪΛ࡞Γ ରԠ͢ΔςΫηϧʹҎԼͷ৘ใΛॻ͖ࠐΉ ੺ ྘ ੨ ΞϧϑΝ ϓϦϛςΟϒͷॏ৺࠲ඪ Ϟσϧ*% ϝογϡ*% ϓϦϛςΟϒͷ ΠϯσοΫε ͜ͷςΫενϟΛݟΕ͹ ݁߹લͷϞσϧͷͲ͜Λඳ͍͍ͯΔ͔͕Θ͔Δ

Slide 177

Slide 177 text

Topology Mapping Buffer(T-buffer) ݁߹ͱ௖఺ͷ࡟ݮͰͭʹͳͬͯ͠·ͬͨࡾ֯ܗ ੺͍෦෼͸ ϝογϡ༝དྷ ྘ͷ෦෼͸ ϝογϡ༝དྷ ͜ͷ෼෍Λ ςΫενϟʹඳ͘

Slide 178

Slide 178 text

Material Buffer(M-buffer) ௖఺ଐੑ͕௖఺࡟ݮޙʹ࢒ͬͨ௖఺ͷ஋͚ͩͰ ิؒ͞ΕΔͷ͸·͍ͣ ௖఺ଐੑ΋ςΫενϟʹ͢Δ ͜ͷςΫενϟΛ ΋ͱͷϝογϡͷ਺ * ௖఺ଐੑͷ਺ ͚ͩ༻ҙ͢Δ

Slide 179

Slide 179 text

ϨϯμϦϯάͷྲྀΕ ϞσϧΛϩʔυ 5CV⒎FSΛ࡞੒ .CV⒎FSΛ࡞੒ ௖఺ΛؒҾ͘ ௖఺γΣʔμ ϐΫηϧγΣʔμ ϩʔυ࣌ ϨϯμϦϯά࣌ ϐΫηϧγΣʔμͰ T-bufferΛݟͯͲͷM-bufferΛಡΉ΂͖͔Λܾఆ M-bufferͷ஋Λ࢖ͬͯϨϯμϦϯά

Slide 180

Slide 180 text

-P% -P% dճͷ%SBX ճͷ%SBX ЖTલޙ ЖTҎԼ ݁Ռ 3FOEFSJOH-PX-0%$BSTBU-JHIUOJOH4QFFEJO'PS[B.PUPSTQPSU ෇ۙͷσϞ IUUQXXXHEDWBVMUDPNQMBZ3FOEFSJOH-PX-0%$BSTBU

Slide 181

Slide 181 text

-P% -P% dճͷ%SBX ճͷ%SBX ЖTલޙ ЖTҎԼ ݁Ռ ԕ͔͘ΒݟͨΒόϨͳ͍඼࣭ 3FOEFSJOH-PX-0%$BSTBU-JHIUOJOH4QFFEJO'PS[B.PUPSTQPSU ෇ۙͷσϞ IUUQXXXHEDWBVMUDPNQMBZ3FOEFSJOH-PX-0%$BSTBU

Slide 182

Slide 182 text

Texture Streaming in Titanfall 2 ͜ͷηογϣϯͷൃදऀ Chad Barb(Respawn Entertainment) GDC VaultͷURL http://www.gdcvault.com/play/1024105/Efficient-Texture- Streaming-in-Titanfall

Slide 183

Slide 183 text

Texture Streaming γʔϯʹ߹Θͤͯߴղ૾౓ͳςΫενϟΛ GPUϝϞϦʹ্͛Լ͛ͯ͠ ࣮ࡍͷGPUϝϞϦҎ্ͷςΫενϟ͕ ஔ͍͔ͯ͋ͬͨͷΑ͏ʹݟ͔͚ͤΔ

Slide 184

Slide 184 text

Titanfall 2ʹ͓͚ΔTexture Streaming 64KiBҎԼͷMIP͸GPUϝϞϦʹৗற ΑΓେ͖͍ςΫενϟ͸ඞཁʹԠ্ͯ͛͡Լ͛ ςΫενϟͷॏཁ౓Λࣄલʹܭࢉ ඞཁͳςΫενϟͷϦετΛຖϑϨʔϜߋ৽

Slide 185

Slide 185 text

Histgram ͋ΔϚςϦΞϧͷ͋ΔMIPͷςΫενϟ͕ ݱࡏͷҐஔ͔ΒͲͷ͘Β͍ݟ͑Δ͔Λ ٻΊͨ΋ͷ ߴ த ௿ ݱࡏͷҐஔ

Slide 186

Slide 186 text

ࣄલܭࢉ ಈ͔ͳ͍Ϟσϧ(Ϩϕϧ)ͷ৔߹ ϓϨΠϠʔͷ໨ઢҎ্ͷߴ͞ʹϓϩʔϒΛࢃ͘ ֤ϓϩʔϒͷҐஔ͔ΒΩϡʔϒϚοϓʹ ϨϯμϦϯάΛߦ͍ ಡ΋͏ͱͨ͠MIPΛΧ΢ϯτ͢Δ Χ΢ϯτͷଟ͍MIPΛ ͦͷҐஔͰॏཁͳMIPͱ͢Δ

Slide 187

Slide 187 text

kฏۉ๏Ͱ݁Ռ͕͍ۙϓϩʔϒΛ·ͱΊͯ 16ft2ຖʹ۠੾ͬͨྖҬ಺ͷ ϓϩʔϒ͕8ݸҎԼʹͳΔΑ͏ʹ͢Δ ͜ͷϓϩʔϒΛࣄલʹϑΝΠϧʹॻ͍͓ͯ͘ ಡ΋͏ͱͨ͠MIPΛΧ΢ϯτ͢Δ Χ΢ϯτͷଟ͍MIPΛ ͦͷҐஔͰॏཁͳMIPͱ͢Δ

Slide 188

Slide 188 text

ࣄલܭࢉ ಈ͘Ϟσϧ(ΩϟϥΫλ౳)ͷ৔߹ Ϟσϧͷද໘Λߏ੒͢ΔϚςϦΞϧͷׂ߹Λ ࣄલʹٻΊͯ͘

Slide 189

Slide 189 text

֤ϑϨʔϜͰͷॲཧ ϓϩʔϒΛิؒͯ͠ ݱࡏͷҐஔʹ͓͚Δ੩తͳMIPͷॏཁ౓ΛಘΔ ۙ͘ʹ͍ΔΩϟϥΫλͷϚςϦΞϧͷׂ߹ͱ ͦͷΩϟϥΫλ·Ͱͷڑ཭͔Β ಈతͳMIPͷॏཁ౓ΛٻΊΔ ॏཁͱΈͳ͞Ε͍ͯΔͷʹϩʔυ͞Ε͍ͯͳ͍ MIPΛσΟεΫ͔ΒಡΈࠐΉ ϩʔυ͞Ε͍ͯΔ͚ͲॏཁͰͳ͍MIPΛࣺͯΔ

Slide 190

Slide 190 text

αΠωʔδ໰୊ นͷ໛༷ͱͦͷ্ʹషΒΕͨDFACͷεςϯγϧ͸ ը໘্Ͱಉ͡໘ੵΛ઎༗͢ΔͨΊ ಉ͡༏ઌ౓ʹͳ͍ͬͯΔ͕ εςϯγϧʹ͸ΑΓߴ͍ղ૾౓͕ඞཁͰ͋Δ ςΫενϟͷ༻్ͷҧ͍͕ߟྀ͞Εͳ͍ σΧʔϧͷղ૾౓͸े෼͕ͩ εςϯγϧ͸δϟΪ͕໨ཱͭ &⒏DJFOU5FYUVSF4USFBNJOHJO5JUBOGBMM ϖʔδ໨ͷը૾ IUUQXXXHEDWBVMUDPNQMBZ&⒏DJFOU5FYUVSF4USFBNJOHJO 5JUBOGBMM

Slide 191

Slide 191 text

Replicating Chaos: Vehicle Replication in 'Watch Dogs 2' ͜ͷηογϣϯͷൃදऀ Matt Delbosc(Ubisoft Toronto) GDC VaultͷURL http://www.gdcvault.com/play/1024010/Replicating-Chaos- Vehicle-Replication-in

Slide 192

Slide 192 text

Watch Dogs 2ʹ͸ ϚϧνϓϨΠϠʔϞʔυ͕͋Δ ࠷େ4ਓͷpeer-to-peer େྔͷ෺ମͷঢ়ଶΛಉظ͢Δඞཁ͕͋Δ ෺ମͷϚελʔ͸ෳ਺ͷϗετʹ෼ࢄ͍ͯ͠Δ ϓϨΠϠʔ͸ंʹ৐ͬͯߴ଎ʹҠಈ͢Δ ೉

Slide 193

Slide 193 text

ϓϨΠϠʔ͸ंʹ৐ͬͯߴ଎ʹҠಈ͢Δ ΠϯλʔωοτΛհͯ͠઀ଓ͞Εͨ ϗετಉ࢜ͷ௨৴ͷ஗Ԇ͸ 100ϛϦඵΦʔμʔʹͳΔ͜ͱ΋௝͘͠ͳ͍ ঢ়ଶ͕ಉظ͞Εͳ͍100ϛϦඵͷؒʹ ं͸਺ϝʔτϧ΋Ҡಈͯ͠͠·͏ ͔͠΋Watch Dogs2Ͱ͸࿏্ʹ ଞͷं͕ͨ͘͞Μ૸͍ͬͯΔ ਺ϝʔτϧ΋ͣΕ͍ͯͨΒͿ͔ͭͬͯ͠·͏!

Slide 194

Slide 194 text

Projective Velocity Blending લճͷಉظ࣌఺ͷ଎౓͕ˢͩͬͨͷͰ ͦͷํ޲ʹ௚ਐ͢Δͱ༧૝ͯ͠ ंΛҠಈ͍ͤͯͨ͞Β ˔ͷ࣌఺Ͱ৽͍͠଎౓ˡΛड͚औͬͨ ࣌ؒͱͱ΋ʹˡͷঢ়ଶʹ ͍͍ۙͮͯ͘Α͏ʹ ଎౓ͱҐஔΛ؇΍͔ʹमਖ਼

Slide 195

Slide 195 text

Projective Velocity Blending ී௨ͷ1SPKFDUJWF7FMPDJUZ#MFOEJOHͰ͸ ෺ମ͸ݱࡏͷ଎౓Λҡ࣋ͯ͠ Ҡಈ͢Δͱ༧૝͢Δ ΧʔϒΛۂ͕͍ͬͯΔ͚ͩͷं͕ ऄߦ͍ͯ͠ΔΑ͏ʹݟ͑Δ

Slide 196

Slide 196 text

଎౓͚ͩͰͳ֯͘଎౓΋ಉظ͠Α͏ ۂ͕͍ͬͯΔࣄ͕໌Β͔ͳ࣌ʹ ௚ਐ͢Δͱ༧૝͢Δͷ͸ؒҧ͍ͬͯΔ ಉظ࣌఺ͷ֯଎౓Λҡ࣋ͯ͠ ଎౓ϕΫτϧͷ޲͖͕มԽ͢Δ΋ͷͱͯ͠ ࣍ͷಉظ఺·Ͱͷؒͷಈ͖Λ༧૝͢Δ

Slide 197

Slide 197 text

֯଎౓Λ࢖ͬͨ଎౓ͷมԽͷ༧૝ͷ໰୊఺ ं͕׈͍ͬͯΔͱޡͬͨ༧૝ʹͳΔ 8BUDI%PHT͸ ΦϑϩʔυΛ׈ָͬͯ͠Ή ϥϦʔήʔϜͰ͸ͳ͍ͷͰ ͜ͷ໰୊͸ఘΊΔ͜ͱʹͨ͠

Slide 198

Slide 198 text

4OBQTIPU#V⒎FS Ϛελʔ ϨϓϦΧ εφοϓγϣοτΛ͓͍֮݅͑ͯͯ ิؒʹΑͬͯͦͷؒͷಈ͖Λ࡞Δ ஗Ε ར఺ϨϓϦΧΛΑΓਖ਼֬ͳيಓͰಈ͔ͤΔ ܽ఺Ϛελʔʹରͯ͠ϨϓϦΧ͕େ͖͘஗ΕΔ

Slide 199

Slide 199 text

4OBQTIPU#V⒎FS Ϛελʔ ϨϓϦΧ 5JNF0⒎TFU ࠷ॳͷεφοϓγϣοτ͕དྷͨΒগ͠଴͔ͬͯΒ ࣍ͷεφοϓγϣοτ͕དྷΔલʹ༧૝Ͱಈ͖࢝ΊΔ

Slide 200

Slide 200 text

4OBQTIPU#V⒎FS Ϛελʔ ϨϓϦΧ ࠷ॳͷεφοϓγϣοτ͕དྷͨΒগ͠଴͔ͬͯΒ ࣍ͷεφοϓγϣοτ͕དྷΔલʹ༧૝Ͱಈ͖࢝ΊΔ ࣍ͷεφοϓγϣοτ͕དྷͨΒ ͔ͦ͜Β͸ิؒͰಈ͘ ༧૝ͱิؒͷόϥϯε͸࣮ࡍʹಈ͔ͯ͠Έͯ ࠷దͳ஋Λ୳Δ

Slide 201

Slide 201 text

7FIJDMF$PMMJTJPOT ϚϧνϓϨΠϠʔϞʔυͰ ϚελʔͱϨϓϦΧ͕িಥ͢Δͱ ͓ޓ͍͕ҟৗʹԕ͘ʹਧͬඈͿݱ৅͕ΈΒΕΔ

Slide 202

Slide 202 text

7FIJDMF$PMMJTJPOT εφοϓγϣοτ ϨϓϦΧ Ϛελʔ ࣍ͷεφοϓγϣοτͰিಥʹΑΔ଎౓ͷมԽ͕ ൓ө͞ΕΔ·ͰɺϨϓϦΧ͕ϚελʔΛԡ͠ଓ͚Δ ࣌ࠁ

Slide 203

Slide 203 text

7FIJDMF$PMMJTJPOT ࣍ͷεφοϓγϣοτͰিಥʹΑΔ଎౓ͷมԽ͕ ൓ө͞ΕΔ·ͰɺϨϓϦΧ͕ϚελʔΛԡ͠ଓ͚Δ Ϛελʔͱিಥͨ͠ϨϓϦΧʹ͍ͭͯ ϩʔΧϧͰ߶ମγϛϡϨʔγϣϯΛߦ͏ িಥ͔Β͠͹Β͘ͷؒ͋Δׂ߹Ͱ γϛϡϨʔγϣϯͷ݁ՌಘΒΕͨঢ়ଶͱ εφοϓγϣοτ͔Βͷঢ়ଶͷ༧૝ΛࠞͥΔ ͜ͷׂ߹ͱ͜ͷঢ়ଶΛҡ࣋͢Δ࣌ؒ͸ ༷ʑͳিಥΛࢼͯ͠ྑ͍݁Ռ͕ಘΒΕΔ஋Λ୳͢

Slide 204

Slide 204 text

িಥ༧૝ ϚελʔͱϨϓϦΧͷҐஔ͕ͣΕ͍ͯΔঢ়ଶ͔Β িಥ͕ى͜ΔͱϚελʔଆͱϨϓϦΧଆͰ ߶ମγϛϡϨʔγϣϯͷ݁Ռʹେ͖ͳ͕ࠩग़Δ ϓϨΠϠʔ ϓϨΠϠʔ ຊདྷͷҐஔ ͣΕͨϨϓϦΧ

Slide 205

Slide 205 text

িಥ༧૝ /1$ं྆༻ͷ"*ΛԠ༻ͯ͠ িಥͦ͠͏ͳϚελʔͱϨϓϦΧͷϖΞΛൃݟ ! 5JNF0⒎TFUΛݮΒͯ͠ ϚελʔͱϨϓϦΧͷͣΕΛ཈͑Δ

Slide 206

Slide 206 text

ະղܾͷ໰୊ εφοϓγϣοτͷঢ়ଶͱͣΕ͍͔ͯͨΒ Ҡಈ͠Α͏ͱͨ͠Βؒʹো֐෺͕͋ͬͨ ϨϓϦΧͷಈ͖ ຊདྷͷಈ͖ ͨͩͪʹͣΕΛղফ͢ΔͷΛఘΊΔ ো֐෺Λ΍ΘΒ͔͘͢Δ ਖ਼͍͠ҐஔʹॠؒҠಈͤ͞Δ ߟ͑ΒΕΔରॲํ๏ 8BUDIEPHTͰ͸ ͜ΕΛ࠾༻

Slide 207

Slide 207 text

ະղܾͷ໰୊ 5JNF0⒎TFU͕ҟͳΔΦϒδΣΫτಉ࢜ͷিಥ าߦऀ͸ߴ଎ͰҠಈ͠ͳ͍ͨΊ ิؒͷΈͰಈ͍͍ͯΔ ༧ଌͱิؒΛ૊Έ߹Θͤͯಈ͍͍ͯΔ ंͱ͸5JNF0⒎TFU͕ͣΕ͍ͯΔͨΊ ຊདྷিಥ͍ͯ͠ͳ͍ंͱาߦऀ͕ িಥ͢Δࣄ͕͋Δ

Slide 208

Slide 208 text

ະղܾͷ໰୊ ෆؾຯͷ୩ ײ৘త൓Ԡ ຊ෺΁ͷྨࣅ౓ ػցత ਓؒత ຊ෺Β͍͠ಈ͖Λ͢Δं͕ಥવԣ׈Γ͢Δͱ ͦͷมҐࣗମ͕খ͔ͬͨ͞ͱͯ͠΋ حົʹݟ͑Δ

Slide 209

Slide 209 text

ࠓޙͷల๬ 5JNF0⒎TFUͷ௕͞΍ ෺ཧγϛϡϨʔγϣϯͱͷϒϨϯυͷׂ߹ͳͲ ਓ͕ؒࢼߦࡨޡͯ͠ྑ͍஋Λ୳͍ͯ͠Δ෦෼͕͋Δ ͜͏͍ͬͨ෦෼ʹػցֶशΛԠ༻Ͱ͖Ε͹ ։ൃͷޮ཰ΛߴΊΔࣄ͕Ͱ͖ΔͷͰ͸ͳ͍͔

Slide 210

Slide 210 text

Networking Scripted Weapons and Abilities in 'Overwatch' ͜ͷηογϣϯͷൃදऀ Dan Reed(Blizzard Entertainment) GDC VaultͷURL http://www.gdcvault.com/play/1024041/Networking-Scripted- Weapons-and-Abilities

Slide 211

Slide 211 text

4UBUFTDSJQU 0WFSXBUDIͰ͸ήʔϜͷߴϨΠϠʔͳڍಈΛ ϓϩάϥϚͰͳ͍ਓ͕σβΠϯ͢Δඞཁ͕͋ͬͨ Ճ͑ͯήʔϜͷػೳΛ ՄೳͳݶΓϞδϡʔϧԽ͔ͨͬͨ͠ αʔόͱΫϥΠΞϯτͰ؆୯ʹঢ়ଶΛಉظ͔ͨͬͨ͠

Slide 212

Slide 212 text

4UBUFTDSJQU (6*Ͱ૊ΈཱͯՄೳͳεΫϦϓτݴޠ /FUXPSLJOH4DSJQUFE 8FBQPOTBOE"CJMJUJFTJO b0WFSXBUDI ϖʔδ໨ͷਤ IUUQXXXHEDWBVMUDPNQMBZ /FUXPSLJOH 4DSJQUFE8FBQPOTBOE "CJMJUJFT

Slide 213

Slide 213 text

ϊʔυ &OUSZ ͔͜͜ΒεΫϦϓτ͕࣮ߦ͞ΕΔ͜ͱΛද͢ϊʔυ ແ৚݅ʹભҠ͢ΔઌΛͭઃఆͰ͖Δ $POEJUJPO ৚݅ࣜΛධՁ͢Δϊʔυ ࣜͷධՁ݁Ռ͕USVFͩͬͨ৔߹ͱGBMTFͩͬͨ৔߹ͷ ͭͷભҠઌΛઃఆͰ͖Δ "DUJPO ήʔϜଆʹ࣮૷͞Εͨ ԿΒ͔ͷؔ਺Λݺͼग़͢ϊʔυ ׬ྃޙʹભҠ͢ΔઌΛͭઃఆͰ͖Δ 4UBUF ήʔϜଆͰΠϕϯτ͕ى͜Δ·Ͱ ॲཧΛఀࢭ͢Δϊʔυ ظ଴͢ΔΠϕϯτͷ਺͚ͩભҠઌΛઃఆͰ͖Δ

Slide 214

Slide 214 text

ม਺ *OTUBODFม਺εΫϦϓτͷ࣮ߦ୯ҐͰಠཱͨ͠஋ 0XOFSม਺*OTUBODFͷॴ༗ऀ୯ҐͰಠཱͨ͠஋ ಈతܕ෇͚Ͱ഑ྻ΋࢖͑Δ "DUJPOͷ4FU7BMVFͰ஋ΛมߋͰ͖Δ

Slide 215

Slide 215 text

ϊʔυͷଐੑ஋ ϊʔυͷৼΔ෣͍ΛܾΊΔύϥϝʔλʹ͸ Ϧςϥϧ ม਺ ήʔϜଆ͔Β஋ΛҾͬுͬͯ͘Δؔ਺ ͦΕΒΛ૊Έ߹Θͤͨࣜ Λઃఆ͢Δ͜ͱ͕Ͱ͖Δ ͨͱ͑͹λΠϚʔεςʔτͷ଴ͪ࣌ؒʹ ม਺Bͷ஋ඵ ͱ͍ͬͨࢦఆ͕Մೳ

Slide 216

Slide 216 text

ίϯςφ ෳ਺ͷϊʔυΛ·ͱΊͯͦͷڍಈΛมߋ͢Δ ྫ ੨͍ίϯςφͷத਎͸ΫϥΠΞϯτͷΈͰ࣮ߦ͞ΕΔ ࢵͷίϯςφͷத਎͸αʔόͷΈͰ࣮ߦ͞ΕΔ /FUXPSLJOH4DSJQUFE8FBQPOTBOE "CJMJUJFTJOb0WFSXBUDI ϖʔδ໨ͷਤ IUUQXXXHEDWBVMUDPNQMBZ /FUXPSLJOH4DSJQUFE8FBQPOTBOE"CJMJUJFT

Slide 217

Slide 217 text

ಉظΠϯελϯε ಉظΠϯελϯε্Ͱ࣮ߦ͞ΕΔεΫϦϓτ͸ αʔόͱΫϥΠΞϯτͰಉ͡ঢ়ଶ͕อͨΕΔ ෢ث΍ΞϏϦςΟͳͲ શͯͷϓϨΠϠʔͰঢ়ଶ͕ἧ͍ͬͯΔ ඞཁ͕͋Δ΋ͷ͸ಉظΠϯελϯεͰ࣮ߦ͢Δ ͜͜ͱ ͜͜Ͱ ಉ͡ঢ়ଶ ಉظ

Slide 218

Slide 218 text

ඇಉظΠϯελϯε ಉظΠϯελϯεͷΠϕϯτ΍஋ͷ೷͖ݟ͸ Ͱ͖Δ͕Ұํ͚ͩͰ࣮ߦ͞ΕΔ ϝχϡʔը໘ͷঢ়ଶ΍ ରઓޙͷ݁Ռը໘ͷભҠͳͲ ଞͷϓϨΠϠʔʹ఻͑Δඞཁ͕ͳ͍෺͸ ඇಉظΠϯελϯεͰ࣮ߦ͢Δ ͚ͩ͜͜

Slide 219

Slide 219 text

ಉظͷ͘͠Έ ಉظ͕ඞཁͳεΫϦϓτ͸ جຊతʹαʔό্Ͱ࣮ߦ͞Ε αʔό͔ΒΫϥΠΞϯτʹঢ়ଶ͕ಉظ͞ΕΔ ྫ֎తʹϘλϯೖྗͱর४͚ͩ͸ ΫϥΠΞϯτ͔Βαʔόʹঢ়ଶΛಉظͰ͖Δ ͜͜ͱ ͜͜Ͱ ಉ͡ঢ়ଶ

Slide 220

Slide 220 text

ಉظͷ͘͠Έ $'ͷΠϕϯτͷޙͷࠩ෼ $'ͷΠϕϯτͷޙͷࠩ෼ $'ͷΠϕϯτͷޙͷࠩ෼ αʔό͸εΫϦϓτͷ࣮ߦʹΑͬͯ มԽͨ͠ঢ়ଶͷࠩ෼ΛมԽͨ࣌͠ࠁ෇͖Ͱ ͓֮͑ͯ͘

Slide 221

Slide 221 text

ಉظͷ͘͠Έ ࠩ෼ΛΫϥΠΞϯτʹૹ৴͠ શͯͷΫϥΠΞϯτ͔Βड͚औΓ௨஌͕དྷͨΒ ͦ͜·Ͱͷࠩ෼Λഁغ͢Δ $' $' $' ͜͜·Ͱഁغ ࠷৽ ࠷৽ ࠷৽

Slide 222

Slide 222 text

ಉظͷ͘͠Έ ৽͍ࠩ͠෼ΛૹΖ͏ͱͨ࣌͠఺Ͱ લͷࠩ෼ͷड͚औΓ׬ྃΛ ௨஌͍ͯ͠ͳ͍ΫϥΠΞϯτ͕͍ͨ৔߹ $' $' $' ࠷৽ ࠷৽ ࠷৽ ΛૹΓ͍ͨ

Slide 223

Slide 223 text

ಉظͷ͘͠Έ ड͚औΓ׬ྃΛ֬ೝ͍ͯ͠ΔՕॴҎ߱ͷࠩ෼Λ ·ͱΊͯΫϥΠΞϯτʹૹΔ $' $' $' ࠷৽ ࠷৽ ࠷৽ ͔Β΁ͷࠩ෼ ͔Β΁ͷࠩ෼ ͔Β΁ͷࠩ෼ ͱ͕ಉ͡ཁૉΛॻ͖׵͍͑ͯͨ৔߹ ͷޙͷ஋͚͕ͩૹΒΕΔ

Slide 224

Slide 224 text

ಉظͷ͘͠Έ ΫϥΠΞϯτ͕$'·Ͱड͚औͬͨͱ ݴͬͯདྷͨΒݱ࣌఺ͷঢ়ଶΛશͯૹΔ $' $' $' ࠷৽ ࣌఺ͷঢ়ଶΛ શͯૹ৴ ৽͍͠ϓϨΠϠʔͷࢀՃ࣌

Slide 225

Slide 225 text

ϩʔΧϧΠϯελϯε ϓϨΠϠʔࣗ਎ͷڍಈʹؔ͢ΔεΫϦϓτ͸ αʔόʹ௨஌͢Δͱಉ࣌ʹ ΫϥΠΞϯτͰ΋࣮ߦ͢Δ Ϙλϯԡ͞Εͨ ঢ়ଶΛ ߋ৽ ঢ়ଶΛ ߋ৽ Ϙλϯೖྗʹରͯ͠ଈ࠲ʹԠ౴

Slide 226

Slide 226 text

ϩʔΧϧΠϯελϯε αʔόଆ͔Β݁ՌΛड͚औΔ·Ͱ ΫϥΠΞϯτଆͰ͸ঢ়ଶͷࠩ෼Λอ࣋ Ϙλϯԡ͞Εͨ ঢ়ଶΛ ߋ৽ $' ͍ͭͰ΋ϩʔϧόοΫͰ͖Δঢ়ଶʹ͢Δ $' $'

Slide 227

Slide 227 text

αʔόͱΫϥΠΞϯτͰ৯͍ҧͬͨΒ Ϙλϯԡ͞Εͨ ঢ়ଶΛ ߋ৽ ঢ়ଶΛ ߋ৽ ඞࡴٕΛ͘Β͑ ͓લ͸΋͏ ࢮΜͰ͍ͨ ඞࡴٕࣦഊ ඞࡴٕ ఢʹ໋த ͑ͬ

Slide 228

Slide 228 text

ඞࡴٕࣦഊ ඞࡴٕ ఢʹ໋த ͱ͍͏ͷ͸ ເͩͬͨ ඞࡴٕࣦഊ ΫϥΠΞϯτଆͷ༧૝Λ ϩʔϧόοΫͯ͠αʔόͷ݁ՌΛ࠾༻

Slide 229

Slide 229 text

͜ΕΒͷಉظ͸ 4UBUF4DSJQUͷΠϯλϓϦλ͕ߦ͍ εΫϦϓτ্ʹ໌ࣔతʹॻ͘ඞཁ͸ͳ͍ ϙΠϯτ

Slide 230

Slide 230 text

Stop Killing Our Servers! ͜ͷηογϣϯͷൃදऀ Sela Davis(VREAL), Jennie Lees(Riot Games) GDC VaultͷURL http://www.gdcvault.com/play/1024584/Stop-Killing-Our- Servers

Slide 231

Slide 231 text

if( enemyKilled ) { server.UpdateProgress( 1000_ENEMIES, 1 ); } // ແ૒͢ΔͱେྔͷΠϕϯτ͕ඈͿ while( enemiesAreBeingKilled ) { enemiesKilled++; } if( enemiesKilled > 0 && !achAwarded ) { server.UpdateProgress( 1000_ENEMIES, enemiesKilled ); } // ·ͱΊΑ͏ ΫϥΠΞϯτ͔Βͷࡉ͔͗͢ΔΠϕϯτͰ αʔόΛ౗ͯ͠͠·Θͳ͍Α͏ʹؾΛ͚ͭΑ͏

Slide 232

Slide 232 text

ΈΜͳͰॻ͖׵͑Δཁૉ͸ ΩϡʔΛ࡞Δͱ͏·͘ࡹ͚Δ ॱ൪଴ͪ ࣗ෼ͷ൪͕དྷͨΒ ର৅Λૢ࡞ ΩϡʔΛ࡞Δͱཁٻ͕ॲཧ͞ΕΔ·Ͱʹ͸ ͕͔͔࣌ؒΔ͔΋͠Εͳ͍ ཁٻ͕଴ͪঢ়ଶ͔Ͳ͏͔͕Ϣʔβ͔Βݟ͑ͳ͍ͱ Ϣʔβ͸ཁٻΛ࿈ଧͯ͠ Ωϡʔʹେྔͷ଴ͪΛ࡞ͬͯ͠·͏͔΋͠Εͳ͍

Slide 233

Slide 233 text

৘ใΛ࠷৽ʹอͭͨΊʹϙʔϦϯά͗ͯ͢͠ αʔόΛ౗ͯ͠͠·Θͳ͍Α͏ʹؾΛ͚ͭΑ͏ ࠷৽ͷ৘ใΛऔಘ͢Δͷ͸ ͦΕ͕ඞཁʹͳͬͨ࣌ʹ͠Α͏ ͦͷ৘ใ͕ৗʹ ࠷৽ͷ৘ใͰͳ͚Ε͹ͳΒͳ͍͔Λߟ͑Α͏ (ΩϟογϡΛݕ౼͠Α͏) ৽ண͋Δ ৽ண͋Δ ৽ண͋Δ

Slide 234

Slide 234 text

αʔό͕ࢮΜͰ͍Δ࣌ɺਖ਼͘͠Ԡ౴Ͱ͖ͳ͍࣌ Կ͕ى͜Δ͔Λৗʹߟ͑Α͏ ϩάΠϯʹࣦഊ͠·ͨ͠ ϦτϥΠ ͜͏ݴΘΕΔͱϢʔβ͸ ϦτϥΠΛ࿈ଧͯ͠͠·͏

Slide 235

Slide 235 text

αʔό͕ࢮΜͰ͍Δ࣌ɺਖ਼͘͠Ԡ౴Ͱ͖ͳ͍࣌ Կ͕ى͜Δ͔Λৗʹߟ͑Α͏ ϝϯςφϯεதͰ͢ ৄ͘͠͸ެࣜαΠτΛ ҎԼུ αʔϏεʹ໰୊͕ൃੜ͍ͯ͠Δ࣌Ͱ΋ Կ͕ى͍ͬͯ͜Δͷ͔͘Β͍͸ ฦͤΔΑ͏ʹ͓ͯ͜͠͏

Slide 236

Slide 236 text

ෛՙςετΛߦ͓͏ ՄೳͳݶΓૣ͍ஈ֊͔Βසൟʹ ҟͳΔγφϦΦΛෳ਺༻ҙͯ͠ ຊ෺Β͍͠τϥϑΟοΫΛ࡞Ζ͏ ػೳ͝ͱʹγφϦΦΛ༻ҙ͠Α͏ ฏۉతͳέʔεͱϫʔετέʔεΛ૝ఆ͠Α͏ Ͳ͏͍͏࣌ʹࠞࡶ͢Δ͔ΛݟۃΊΑ͏

Slide 237

Slide 237 text

ϓϩϑΝΠϧΛऔΖ͏ ΫϥΠΞϯτͷৼΔ෣͍͕ αʔόʹͲΜͳӨڹΛ༩͑Δͷ͔ΛݟΑ͏ αʔόͷৼΔ෣͍͕ ΫϥΠΞϯτʹͲΜͳӨڹΛ༩͑Δͷ͔ΛݟΑ͏

Slide 238

Slide 238 text

ϦΫΤετ͔ΒϨεϙϯε·Ͱͷ࣌ؒΛଌΖ͏ RTT͕ҟৗʹ௕͍෦෼ʹ஫໨͢Δࣄ͸ ଟ͘ͷ৔߹໰୊ͷௐࠪʹ༗༻Ͱ͋Δ ΫϥΠΞϯτ͕ෆ҆ఆͳωοτϫʔΫΛհͯ͠ ઀ଓ͍ͯ͠ΔࣄΛݕ஌͠Α͏

Slide 239

Slide 239 text

ϩάΛ࢒ͦ͏ ԿΛϦΫΤετͯ͠Կ͕ฦ͖ͬͯͨͷ͔Λه࿥͠Α͏ ҟৗͳϨεϙϯεΛฦ͢αʔόͷ໰୊ͷௐࠪ ҟৗͳϦΫΤετΛ͢ΔΫϥΠΞϯτͷ໰୊ͷௐࠪ ౳Ͱ໾ཱͭ ΫϥογϡϨϙʔτπʔϧΛ׆༻͠Α͏

Slide 240

Slide 240 text

ΫϥΠΞϯτͷઃఆΛ αʔό͔Β໯ͬͯ͘ΔΑ͏ʹ͠Α͏ ΫϥΠΞϯτͷެ։ޙͰ΋ ήʔϜͷόϥϯεΛௐ੔Ͱ͖Δ ෆ۩߹͕ݟ͔ͭͬͨίϯςϯπΛ ࢖͑ͳ͍Α͏ʹͰ͖Δ ΫϥΠΞϯτ͕઀ଓ͢΂͖αʔόΛมߋͰ͖Δ ςετ༻ͷΫϥΠΞϯτͱ ຊ൪༻ͷΫϥΠΞϯτΛಉҰʹͰ͖Δ ௨শνΩϯεΠον

Slide 241

Slide 241 text

࠷΋ॏཁͳࣄ αʔόΤϯδχΞͱ ΫϥΠΞϯτΤϯδχΞ͸ ஥ྑͤ͘Α

Slide 242

Slide 242 text

Give people the power to “play, share and watch” the games they love with the people they care about. ͜ͷηογϣϯͷൃදऀ Leo Olebe(Facebook) GDC VaultͷURL (ͳ͠)

Slide 243

Slide 243 text

Facebook Instant Games Facebook Messenger্Ͱىಈͯ͠ ήʔϜϓϨΠͱ݁ՌΛͦͷ৔Ͱڞ༗Ͱ͖Δ ϛχήʔϜΛ։ൃ͢ΔͨΊͷϓϥοτϑΥʔϜ HTML5+JavaScriptͰ։ൃ͢Δ https://developers.facebook.com/blog/post/2016/11/30/instant- games-closed-beta/

Slide 244

Slide 244 text

Facebook Gameroom FacebookͷPCήʔϜൢചϓϥοτϑΥʔϜ Flash·ͨ͸HTML5Ͱॻ͔Εͨ ϒϥ΢β্Ͱಈ͘ήʔϜͱ UnityͰ։ൃ͞ΕͨωΠςΟϒͷήʔϜΛ Facebook͕ϗεςΟϯά https://developers.facebook.com/docs/games/gameroom

Slide 245

Slide 245 text

Facebook࿈ܞ Facebook͸ΞϓϦέʔγϣϯͷ։ൃऀʹ Facebookͱ࿈ܞ͢ΔͨΊͷAPIΛఏڙ͍ͯ͠Δ XBOX΍PS4͔Β΋࿈ܞͰ͖Δ FacebookΞΧ΢ϯτͰϩάΠϯͰ͖ΔΑ͏ʹ͠Α͏ https://developers.facebook.com/docs/facebook-login https://developers.facebook.com/docs/graph-api FacebookͰήʔϜମݧΛ౤ߘͰ͖ΔΑ͏ʹ͠Α͏

Slide 246

Slide 246 text

Facebook Live API Facebook͸ಈըͷϥΠϒετϦʔϛϯάͷͨΊͷ APIΛఏڙ͢Δ ήʔϜ͔Β͜ΕΒͷAPIΛར༻ͯ͠ Ϣʔβ͕ήʔϜମݧΛ ༑ୡͱڞ༗Ͱ͖ΔΑ͏ʹ͠Α͏ https://developers.facebook.com/docs/videos/live-video

Slide 247

Slide 247 text

Facebook Analytics https://developers.facebook.com/products/analytics ήʔϜ 'BDFCPPL Ϣʔβ ։ൃऀ Ϣʔβ৘ใ Πϕϯτ 'BDFCPPLͰ ϩάΠϯ ౷ܭ FacebookʹήʔϜ಺Ͱىͬͨ͜ΠϕϯτΛૹͬͯ ͲΜͳ૚ͷϢʔβ͕Ͳ͏༡ΜͰ͍Δ͔Λ஌Δ

Slide 248

Slide 248 text

Build Resilient Online Games with Amazon GameLift ͜ͷηογϣϯͷൃදऀ Chris Byskal(Amazon), Geoff Pare(Amazon) GDC VaultͷURL http://www.gdcvault.com/play/1024274/

Slide 249

Slide 249 text

GameLift ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό (BNF-JGU"1* ΦϯϥΠϯϚϧνϓϨΠϠʔήʔϜͷ αʔόͱηογϣϯͷ؅ཧΛߦ͏

Slide 250

Slide 250 text

ىಈ ఀࢭ ࢮ׆؂ࢹ ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό (BNF-JGU"1* αʔόͷঢ়ଶݟͤͯ ੜ͖ͯΔ ݸʑͷήʔϜαʔόͷىಈɺఀࢭɺࢮ׆؂ࢹ ϩάͷ֬ೝͳͲ͸؅ཧίϯιʔϧ͔Β ࢮΜͰΔ

Slide 251

Slide 251 text

σϓϩΠ ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό (BNF-JGU"1* ήʔϜαʔόͷ όΠφϦ αʔόͷόΠφϦΛGameLiftʹ౤͓͛ͯ͘ͱ ඞཁͳαʔόʹσϓϩΠ͞ΕΔ

Slide 252

Slide 252 text

αʔό (BNF-JGU"1* ࣗಈεέʔϧ αʔό F-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* ࣗಈεέʔϧΛ༗ޮʹ͓ͯ͘͠ͱ ϓϨΠϠʔ਺ʹԠͯ͡ αʔόͷΠϯελϯε͕ࣗಈͰ૿ݮ͢Δ αʔό (BNF-JGU"1* ৽͍͠αʔό΁ͷσϓϩΠ΋ࣗಈ ࠞࡶ ࠞࡶ

Slide 253

Slide 253 text

ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό (BNF-JGU"1* ઀ଓ ͜ͷ෦԰ʹೖΓ͍ͨͳ ΫϥΠΞϯτ͸GameLiftαʔϏεʹ ઀ଓΛཁٻ͢Δ

Slide 254

Slide 254 text

ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό (BNF-JGU"1* ઀ଓ ͜ΜͳϠπདྷͯΔΜ͚ͩͲ ೖΕͯྑ͍? αʔό͸GameLiftʹڐՄ͢Δ͔Ͳ͏͔Λฦ͢ ͓͚ͬɺ೚ͤΖ

Slide 255

Slide 255 text

ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό (BNF-JGU"1* ઀ଓ GameLift͸ΫϥΠΞϯτʹ ઀ଓઌΛڭ͑Δ ͋ͷαʔόʹܨ͍Ͱ

Slide 256

Slide 256 text

ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό (BNF-JGU"1* ઀ଓ ͓अຐ͠·͢ ͳΜ͔དྷ͚ͨͲ ͜ΕͬͯݴͬͯͨϠπ? ͤ΍Ͱ ୭͔઀ଓͯ͠དྷͨΒ αʔό͸GameLiftʹϢʔβΛ֬ೝ

Slide 257

Slide 257 text

ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό (BNF-JGU"1* ઀ଓ ੾அ ݴͬͯͨϠπ ؼͬͨͰ ΫϥΠΞϯτ͕੾அͨ͠Β αʔό͸GameLiftʹ௨஌

Slide 258

Slide 258 text

ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό (BNF-JGU"1* ෦԰ͷ࡞੒ ৽͍͠෦԰Λ ࡞Γ͍ͨͳ ৽͍͠෦԰୲౰ΑΖ͘͠ ΫϥΠΞϯτ͕৽͍͠෦԰Λ࡞Γ͍ͨ࣌͸ GameLiftʹཁٻ

Slide 259

Slide 259 text

ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό (BNF-JGU"1* ෦԰ͷݕࡧ ࠓ͋Δ෦԰ ͍ͩ͘͞ ͪ͜Β͕ҰཡʹͳΓ·͢ GameLift͸࣮ߦதͷશͯͷ෦԰Λ஌͍ͬͯͯ ΫϥΠΞϯτ͔Βཁٻ͞ΕͨΒͦΕΛฦ͢

Slide 260

Slide 260 text

ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό (BNF-JGU"1* ෦԰ͷݕࡧ ͜Μͳ෦԰ ͳ͍? ͜ΕͳΜ͔ Ͳ͏Ͱ͠ΐ͏ ήʔϜαʔό͔Β෦԰ͷ৘ใΛ౉͢͜ͱͰ ৚݅ʹ͋ͬͨ෦԰ΛݕࡧͰ͖ΔΑ͏ʹͳΔ ࠓ͜ͷ෦԰ ͜Μͳ෩ʹͳͬͯΔ

Slide 261

Slide 261 text

ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό (BNF-JGU"1* ෦԰ͷݕࡧ ݱࡏͷ෦԰ͷঢ়گͱϓϨΠϠʔͷঢ়گ͸ ؅ཧίϯιʔϧ͔Β֬ೝͰ͖Δ ϓϨΠϠʔདྷͯΔ? ͦͦ͜͜

Slide 262

Slide 262 text

ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό (BNF-JGU"1* ϚονϝΠΩϯά ରઓ૬खΛٻΊΔϓϨΠϠʔಉ࢜Λ άϧʔϓԽͯ͠ ରઓ͍ͨ͠! ϝϯόʔ͕ἧ͏·Ͱ ͓଴͍ͪͩ͘͞

Slide 263

Slide 263 text

ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔ (BNF-JGU"1* α (BN ϚονϝΠΩϯά ਓ਺͕ἧͬͨΒ෦԰Λ࡞Δ Զ΋ରઓ͍ͨ͠! ͍ͭ͜ͱ͍͕ͭ͜ ରઓ͕ͨͬͯ͠Δ͔Β ෦԰ΑΖ͘͠ ϥΠΞϯτ BNF-JGU"1*

Slide 264

Slide 264 text

ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔ (BNF-JGU"1* α (BN ϚονϝΠΩϯά ϥΠΞϯτ BNF-JGU"1* ͜ͷαʔόʹ ઀ଓ͍ͯͩ͘͠͞ ͜ͷαʔόʹ ઀ଓ͍ͯͩ͘͠͞ ͜͏ͨ͠ϚονϝΠΩϯά΋ GameLiftͰߦ͏ࣄ͕Ͱ͖Δ

Slide 265

Slide 265 text

ΫϥΠΞϯτ (BNF-JGU"1* (BNF-JGU ϚονϝΠΩϯά ରઓ͍ͨ͠! Ͳ͏͠Α͏ -BNCEB %ZOBNP ଴ͬͯΔϓϨΠϠʔͷ ৘ใͪΐ͏͍ͩ ͜ΜͳϠπ͕ ͓ΔͰ ͍ͭ͜ͱ͍ͭ͜Ͱ෦԰࡞ͬͯ Amazon Dynamoʹஔ͍ͨϓϨΠϠʔͷ৘ใΛ࢖ͬͯ Amazon LambdaͰ޷͖ͳϧʔϧͰάϧʔϓΛ࡞ΕΔ

Slide 266

Slide 266 text

ϚϧνϦʔδϣϯ ੈքதͷϓϨΠϠʔʹ ௿͍ϨΠςϯγͰͷαʔϏεΛఏڙ͢Δʹ͸ ෳ਺ͷ஍ҬʹαʔόΛஔ͍ͯ࠷΋͍ۙ΋ͷΛ࢖͏ αʔό (BNF-JGU"1* αʔό (BNF-JGU"1* αʔό (BNF-JGU"1*

Slide 267

Slide 267 text

GameLift͕࢖͑ΔAWSͷϦʔδϣϯ όʔδχΞ๺෦ ΦϨΰϯ ϑϥϯΫϑϧτ ΞΠϧϥϯυ ϜϯόΠ ι΢ϧ ౦ژ γϯΨϙʔϧ αϯύ΢ϩ

Slide 268

Slide 268 text

ϚϧνϦʔδϣϯ αʔό (BNF-JGU"1* αʔό (BNF-JGU"1* αʔό (BNF-JGU"1* ڧ͍ ԶΑΓڧౕ͍ʹ ձ͍ʹߦ͚ͳ͍ ϓϨΠϠʔ͕෼அ͞ΕΔ ৚݅ʹΑͬͯ͸ద੾ͳ૬खͱ ϚονϝΠΩϯά͕Ͱ͖ͳ͘ͳΔ

Slide 269

Slide 269 text

άϩʔόϧϚονϯά αʔό (BNF-JGU"1* αʔό (BNF-JGU"1* αʔό (BNF-JGU"1* ڧ͍ ڧ͍Ϡπืू Ϧʔδϣϯ୯ҐͷϚονϯάͰਓ਺͕ἧΘͳ͍࣌ ͦΕ·ͰʹἧͬͨϝϯόʔΛάϧʔϓʹͯ͠

Slide 270

Slide 270 text

άϩʔόϧϚονϯά αʔό (BNF-JGU"1* αʔό (BNF-JGU"1* αʔό (BNF-JGU"1* ڧ͍ ڧ͍΍ͭ͸ ͓ΒΜ͔ʔ ผͷϦʔδϣϯͷαʔόʹ ϚονϯάཁٻΛ౤͛Δ

Slide 271

Slide 271 text

άϩʔόϧϚονϯά αʔό (BNF-JGU"1* αʔό (BNF-JGU"1* αʔό (BNF-JGU"1* ͓ΔͰ ڧ͍΍ͭ͸ ͓ΒΜ͔ʔ GameLift͸ ଞͷϦʔδϣϯ͔ΒདྷͨάϧʔϓͷΩϡʔΠϯάͱ ΫϥΠΞϯτʹର͢Δ௨஌ͷ࢓૊ΈΛఏڙ͢Δ