w 7JTVBM4UEVJPͰ։ൃͨ͠ͷͰɺ$MBOHͰϏϧυͰ͖ͳ͍
w --7.ͷόΠτίʔυΛಘΔͨΊʹɺ
$MBOHͰϏϧυͰ͖ΔΑ͏ʹमਖ਼͢Δඞཁ͕͋Δ
GPQFO@TͷΑ͏ͳ7$ͷಠࣗͷؔΛॻ͖͑ͨ
ฒྻॲཧͷͨΊͷ0QFO.1ΛແޮԽ
1/(ग़ྗͷͨΊͷTUC@JNBHFͳ͠
w ͜ΕͰ$MBOHͰϏϧυͰ͖ΔΑ͏ʹमਖ਼Ͱ͖ͨʂ
·ͣClangͰϏϧυ͢Δ
Slide 16
Slide 16 text
w FNDDίϚϯυ
$͔ΒBTNKTͷมΛߦ͏͜ͱͰɺϒϥβ্Ͱಈ࡞͢Δ
)5.-OPEFKTΛग़ྗ͢ΔίϯύΠϥ
w $MBOHͰϏϧυͰ͖Δঢ়ଶʹ͢Δ͜ͱͰɺ
FNDDʹΑΔϏϧυ͕Ͱ͖ͨ
DMBOHΛFNDDʹ͚ͨͩ͠
֎෦"1*04ػೳະ༻ͩͬͨͷͰɺ
͋ͬ͞ΓͱҠ২Ͱ͖ͨ
emccͰϏϧυ͢Δ
Slide 17
Slide 17 text
w ࣗ࡞ϨΠτϨʔα$6*ΞϓϦέʔγϣϯͳͷͰɺ
݁ՌΛϒϥβͰ֬ೝͰ͖ͳ͍ຯ͗͢Δʜ
w ͦ͏ͩʂ8FC(-Ͱը໘ग़ྗ͠Α͏ʂ
݁Ռͷ֬ೝ
w ϒϥβ্͔Βɺ0QFO(-ʢάϥϑΟοΫ"1*ʣΛ
ୟ͚Δඪ४༷
8FC(-0QFO(-&4ͱ͍͏ϞόΠϧ͚ͷ"1*૬
σεΫτοϓ͚ͷ0QFO(-ΑΓػೳΒΕ͍ͯΔ
ϋʔυΣΞͰΞΫηϥϨʔτ͞ΕΔͷͰߴύϑΥʔϚϯε
w &NTDSJQUFOɺ0QFO(-ͷίʔυ͔Β8FC(-ͷ
มඪ४Ͱαϙʔτ͍ͯ͠Δ
WebGLͱ
Slide 20
Slide 20 text
w 0QFO(-ΛFNDDͰϏϧυ͢ΔͨΊʹɺ
ఆΛએݴͨ͠ΓϔομΛՃ͑Δඞཁ͕͋ͬͨ
w ެࣜαΠτʹใ͕ͳ͘ɺݸਓαΠτ͔ΒใΛಘͨ
IUUQEIBUFOBOFKQTJNQH
OpenGLΛEmscriptenͰϏϧυ͢Δ
#ifdef EMSCRIPTEN
#include
#define GL_GLEXT_PROTOTYPES
#define EGL_EGLEXT_PROTOTYPES
#endif
ඞཁͳఆͷએݴͱϔομͷΠϯΫϧʔυ
Slide 21
Slide 21 text
w (-'8ɺ0QFO(-ͷར༻Λαϙʔτ͢ΔπʔϧΩοτ
ϚϧνϓϥοτϑΥʔϜ 8JOEPXT.BD-JOVY
Οϯυͷ࡞ΩʔϘʔυͷೖྗʹ(-'8Λར༻͢Δͱ
ಉ͡ίʔυͰ༷ʑͳڥʹରԠͰ͖Δ
w &NTDSJQUFO࠷৽ͷ(-'8αϙʔτ
w FNDDͷΦϓγϣϯʹT64&@(-'8Λ͚ͭΔͱ
(-'8Λར༻ͨ͠$ͷίʔυΛϏϧυͰ͖Δ
GLFW3ΛEmscriptenͰϏϧυ͢Δ
Slide 22
Slide 22 text
w 0QFO(-ʹɺ#.1Λը໘ग़ྗ͢Δ
HM%SBX1JYFMTͱ͍͏"1*͕͋Δ
8FC(-Ͱଘࡏ͠ͳ͍"1*͕ͩͬͨɺ͔ͯ͠͠ม͞ΕΔ͔ʁ
ˠΓ͑ͳ͔ͬͨ
ʢ·͋વͰ͕͆͢ʣ
w ସ࣮
ը໘શମΛ෴͏൘ϙϦΛஔͯ͠ςΫενϟΛઃఆ
HM5FY4VC*NBHF%ΛͬͯɺςΫενϟը૾Λ
ϨΠτϨͷ݁Ռը૾ʹಈతʹΞοϓσʔτ
w ͜ΕͳΒ͏·͘ಈ͍ͨ
glDrawPixelsͷସ࣮
Slide 23
Slide 23 text
w IUUQHBNOFUXFCHMFNTDSJQUFO@UTVLJIJ
ͨ͠ͷ
Slide 24
Slide 24 text
w .BD#PPL"JSΠϯν.JEϞσϧͰ࣮ߦ
w ωΠςΟϒͱൺֱͯ͠ഒ͘Β͍͘ͳͬͨ
ύϑΥʔϚϯεൺֱ
࣮ߦ࣌ؒʢsecʣ ࣮ߦ࣌ؒʢൺʣ
ωΠςΟϒ 4.54495 1
Emscripten 30.752 6.766
Slide 25
Slide 25 text
w 04֎෦ͷ"1*ͷґଘ͕গͳ͍ϓϩάϥϜͳΒ
&NTDSJQUFOͰͷϙʔτ؆୯ͩͱײͨ͡
w 0QFO(-(-'8ͷඪ४αϙʔτخ͍͠
w 0QFO(-Λαϙʔτ͍ͯ͠Δ͕ɺ
8FC(-ʹଘࡏ͠ͳ͍"1*
ࣗྗͰସ࣮͢Δඞཁ͕͋Δ
EmscriptenͰϨΠτϨͷ·ͱΊ