ToKyoto.js https://kyotojs.connpass.com/event/64310/
APIsforVJ-ingAPIsforVJ-ingamagitaJayosi
View Slide
@amagitakayosi
࠷ۙAtomύοέʔδΛ࡞ͬͯ·͢
ࠓ͕࡞ͬͨ"UPNύοέʔδΛ հσϞ͍ͭͭͬͯ͠Δ"1*Λղઆ͠·͢ʂʂʂʂ
glsllivecoder
HMTMMJWFDPEFSw "UPNͰ7+Ͱ͖Δύοέʔδw (-4-ͷ࣮ߦڥw (-4-Ͱө૾ΛϦΞϧλΠϜʹੜͨ͠Γw ಈըը૾Λϩʔυͯ͠ (-4-ͰՃͰ͖ΔΑ͏ʹͨ͠Γ
(-4-γΣʔμʔͷҰछw %$(ͰӄӨΛܭࢉ͢ΔͨΊͷݴޠw )-4- %JSFDU9ͱ͔ɺ.FUBM NBD04ͱ͔w ߦྻܭࢉʹศརͳϏϧτΠϯؔw qPBUEPU WFDB WFDCͱ͔
γΣʔμʔΞʔτw (-4-(16ύϫʔΛϑϧ׆༻Ͱ͖Δw ʮ(-4-͚ͩͰෳࡶͳάϥϑΟοΫදݱΛ ɹඳըͰ͖ΔͷͰʁʯw Ұ෦ͷਓʑ͕େڵฃ
ࢀߟLJOUSPl&MFWBUFEzIUUQTXXXZPVUVCFDPNXBUDI WK#W#NJ5SP
ී௨ͷ%άϥϑΟοΫεw ઍʙສϙϦΰϯγΣʔμʔ
൘ϙϦw ࡾ֯ܗݸγΣʔμʔ͚ͩͰશͯΛදݱ
طଘͷϥΠϒίʔσΟϯάڥw ,PEFMJGFNFUBMͰॻ͚ΔσεΫτοϓΞϓϦw 4IBEFSUPOF&NBDT$MPKVSFw ):-0(&/)BTLFMM"MU(-4-ڥw 4ZOUIDMJQTFδϟό
4ZOUIDMJQTF
طଘڥͷෆຬ• ίʔυิ͍ͨ͠• linter͍͍ͨ• ϞδϡʔϧγεςϜ͍͍ͨ• GLSLʹجຊincludeͱ͔ͳ͍
"UPNύοέʔδͱͯࣗ͠࡞w طଘͷύοέʔδΛར༻Ͱ͖Δw MJOUFS BVUPDPNQMFUF FUDʜw &MFDUSPOͳͷͰɺϒϥβͷ༷ʑͳ "1*Λར༻Ͱ͖Δw +4(-4-όϯυϥʔΛ͑Δ
DeMO
IUUQTXXXqJDLSDPNQIPUPTIFMMPDBUGPPEAPI
HMTMMJWFDPEFSͰར༻ͯ͠Δ"1*w 8FC"VEJP"1*w 8FC.*%*"1*w (BNFQBE"1*w HFU6TFS.FEJBw 04$ 8*1
8FC"VEJP"1*w ݴΘͣͱΕͨԻΛग़ͭ͢w γϯηͱ͔࡞ΕΔw ༷͕ίϩίϩมΘΔw (JU)VCͰ͕ٞݟΕΔ
Իೖྗ͔ΒछྨͷใΛऔಘw Իྔw ܗw εϖΫτϥϜw पଳ͝ͱͷԻྔΛղੳͨ͠ͷ
Իೖྗ͔ΒछྨͷใΛऔಘw Իྔw ܗw εϖΫτϥϜw पଳ͝ͱͷԻྔΛղੳͨ͠ͷAnalyserNodeͰҰؾʹऔಘͰ͖Δ
(-4-ʹσʔλΛ͢w +4͔Β(-4-ʹͤΔσʔλͷ্ݶ͕͋Δw େྔͷσʔλΛ͢ʹςΫενϟΛ͏ʂw ܗΛ6JOU"SSBZʹม͠ɺ 5)3&&%BUB5FYUVSFͰ(16ଆʹૹΔ
ܗΛUFYUVSFͱͯ͠දݱ
εϖΫτϥϜಉ༷
8FC.*%*"1*w .*%*ָثͷԋใͷن֨w ϒϥβ͔ΒָثΛ໐Βͨ͠Γw .*%*ίϯτϩʔϥʔͰ 8FCΞϓϦΛૢ࡞ͨ͠Γ
.*%*ϝοηʔδͷߏw .*%*ίϯͰΘΕΔϝοηʔδόΠτ0xB0 0x00 0x7Fϝοηʔδͷछྨ ίϯτϩʔϧ൪߸
UFYUVSFʹมw YͷUFYUVSFʹϚοϐϯάw CZUFY࣠w CZUFZ࣠w CZUF
ྫY#YY'256128
ྫY#YY'x=0xB0=172y=00x7F= 128 (/255)= ໌Δ͞
OPUFPOPGGಛผѻ͍͍ͨ͠w OPUFPOP⒎όΠτ͕YYw YͷςΫενϟΛ࡞Δx=Իͷߴ͞৭=Իྔ
(BNFQBE"1*w ήʔϜύουͷใΛऔಘ͢Δw ϑϨʔϜຖʹϙʔϦϯά͢Δඞཁ͕͋Δ
ήʔϜύουͷଓΛͬͯrAFͰຖϑϨʔϜϘλϯใΛऔಘ͢Δ
HFU6TFS.FEJBw ϚΠΫΧϝϥͷө૾ΛऔಘͰ͖Δw WJEFPཁૉͷTSDʹࢦఆͰ͖Δ
getUserMediaͷ݁Ռ͔ΒvideoཁૉΛ࡞ͬͯTHREE.VideoTextureͰGLSLʹ͢
04$ ະରԠw .*%*ΑΓॊೈͰɺ ༷ʑͳϝοηʔδΛఆٛͰ͖Δϓϩτίϧw ָثͱ͔ϥΠϒίʔσΟϯάۀքͰ σϑΝΫτʹͳΓͭͭ͋Δw ରԠͯ͠Μͷʁͱ͍͏ཁ͕͋ͬͨ
04$ϝοηʔδͷߏw Ϛδ͔Α/foo/bar 1 baz [1 2 3]OSCΞυϨεҙͷจࣈྻOSCҾ ҙݸͷҾ
04$ʹରԠ͢Δʹw NJEJYZ[Έ͍ͨͳΤϯυϙΠϯτͰ .*%*ͬΆ͘ରԠ͢Δ͔͠ͳ͍ʜʜʁw 5PVDI04$ʹ.*%*ϒϦοδ͕͋Γɺ ࣅͨΑ͏ͳ͜ͱΛ͍ͬͯΔͬΆ͍
͓·͚TUBDLHMHMTMJGZw CSPXTFSJGZͷ(-4-൛w ͱ͔ॻ͘ͱόϯυϧͯ͘͠ΕΔw HMTMJGZ༻ͷϥΠϒϥϦ͕ OQNͰଟެ։͞ΕͯΔ
ݟ֮͑͋Δ։ൃਞ
͍ΖΜͳϥΠϒϥϦ͕͋Δɻੈքʜʜ
ࡢHMTMJGZαϙʔτ͠·ͨ͠
·ͱΊ
(-4-ͨͷ͍͠ʂʂʂw ࠷ۙझຯͰ8FCΞϓϦશવॻ͍ͯͳ͍w ΈΜͳ(-4-Ζ͏ͥ
1BUDIFTXFMDPNF
eNJOYVJ-ING!!!eNJOYVJ-ING!!!