Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
APIs for VJ-ing
fand/amagitakayosi
September 15, 2017
Technology
1
5.6k
APIs for VJ-ing
ToKyoto.js
https://kyotojs.connpass.com/event/64310/
fand/amagitakayosi
September 15, 2017
Tweet
Share
More Decks by fand/amagitakayosi
See All by fand/amagitakayosi
fand
5
2.7k
fand
1
360
fand
2
1.4k
fand
2
4.2k
fand
3
1.1k
fand
2
2.9k
fand
0
150
fand
1
320
fand
2
1.7k
Other Decks in Technology
See All in Technology
sasakendayo
2
370
pinboro
1
1.5k
shirayanagiryuji
0
2.1k
tzkoba
0
390
tsuyo
0
180
layerx
1
810
bufferings
2
3.1k
satoshirobatofujimoto
0
110
yuhta28
1
210
caori_t
0
160
yukitodate
2
320
satotakeshi
2
420
Featured
See All Featured
paulrobertlloyd
71
1.4k
jonrohan
1021
380k
bryan
100
11k
jcasabona
7
520
lara
16
2.6k
chrislema
173
14k
lauravandoore
11
1.2k
dougneiner
119
7.8k
cromwellryan
101
5.9k
colly
66
3k
ddemaree
274
31k
roundedbygravity
84
7.8k
Transcript
APIs for VJ-ing APIs for VJ-ing amagitaJayosi
@amagitakayosi
࠷ۙAtomύοέʔδΛ࡞ͬͯ·͢
ࠓ͕࡞ͬͨ "UPNύοέʔδΛ հσϞͭͭ͠ ͍ͬͯΔ"1*Λ ղઆ͠·͢ʂʂʂʂ
glsl livecoder
HMTMMJWFDPEFS w "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 Ұ෦ͷਓʑ͕େڵฃ
None
ࢀߟLJOUSPl&MFWBUFEz IUUQTXXXZPVUVCFDPNXBUDI WK#W#NJ5SP
ී௨ͷ%άϥϑΟοΫε w ઍʙສϙϦΰϯ γΣʔμʔ
൘ϙϦ w ࡾ֯ܗݸ γΣʔμʔ͚ͩͰશͯΛදݱ
طଘͷϥΠϒίʔσΟϯάڥ w ,PEFMJGFNFUBMͰॻ͚ΔσεΫτοϓΞϓϦ w 4IBEFSUPOF&NBDT $MPKVSF w ):-0(&/)BTLFMM"MU(-4-ڥ w 4ZOUIDMJQTFδϟό
4ZOUIDMJQTF
طଘڥͷෆຬ • ίʔυิ͍ͨ͠ • linter͍͍ͨ • ϞδϡʔϧγεςϜ͍͍ͨ • GLSLʹجຊincludeͱ͔ͳ͍
"UPNύοέʔδͱͯࣗ͠࡞ w طଘͷύοέʔδΛར༻Ͱ͖Δ w MJOUFS BVUPDPNQMFUF FUDʜ w &MFDUSPOͳͷͰɺϒϥβͷ༷ʑͳ "1*Λར༻Ͱ͖Δ
w +4(-4-όϯυϥʔΛ͑Δ
DeMO
IUUQTXXXqJDLSDPNQIPUPTIFMMPDBUGPPE API
HMTMMJWFDPEFSͰར༻ͯ͠Δ"1* w 8FC"VEJP"1* w 8FC.*%*"1* w (BNFQBE"1* w HFU6TFS.FEJB w
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' 256 128
ྫY#YY' x=0xB0=172 y=0 0x7F = 128 (/255) = ໌Δ͞
OPUFPOPGGಛผѻ͍͍ͨ͠ w OPUFPOP⒎όΠτ͕YY w YͷςΫενϟΛ࡞Δ x=Իͷߴ͞ ৭=Իྔ
(BNFQBE"1* w ήʔϜύουͷใΛऔಘ͢Δ w ϑϨʔϜຖʹϙʔϦϯά͢Δඞཁ͕͋Δ
ήʔϜύουͷଓΛͬͯ rAFͰຖϑϨʔϜ ϘλϯใΛऔಘ͢Δ
HFU6TFS.FEJB w ϚΠΫΧϝϥͷө૾ΛऔಘͰ͖Δ 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$ʹ.*%*ϒϦοδ͕͋Γɺ ࣅͨΑ͏ͳ͜ͱΛ͍ͬͯΔͬΆ͍
͓·͚TUBDLHMHMTMJGZ w CSPXTFSJGZͷ(-4-൛ w ͱ͔ॻ͘ͱόϯυϧͯ͘͠ΕΔ w HMTMJGZ༻ͷϥΠϒϥϦ͕ OQNͰଟެ։͞ΕͯΔ
ݟ֮͑͋Δ։ൃਞ
͍ΖΜͳϥΠϒϥϦ͕͋Δɻੈքʜʜ
ࡢHMTMJGZαϙʔτ͠·ͨ͠
·ͱΊ
(-4-ͨͷ͍͠ʂʂʂ w ࠷ۙझຯͰ8FCΞϓϦશવॻ͍ͯͳ͍ w ΈΜͳ(-4-Ζ͏ͥ
1BUDIFTXFMDPNF
eNJOY VJ-ING!!! eNJOY VJ-ING!!!