Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
VEDA GLSL Livecoding workshop
Search
Amagi
April 28, 2018
Technology
2
5.2k
VEDA GLSL Livecoding workshop
Presented at TOPLAP Japan Vol.2 workshop at Kyoto
Amagi
April 28, 2018
Tweet
Share
More Decks by Amagi
See All by Amagi
Enchant your website with VFX-JS
fand
0
75
How to hack VS Code: evil ways (Japanese)
fand
5
3.5k
READY FOR THE BATTLE? -Introduction to Live Coding-
fand
1
490
GLSL PostEffect in TouchDesigner
fand
2
2k
PWA 方法 無料 今すぐ
fand
3
1.5k
Have you ever heard GPUs cry?
fand
2
3.7k
Real World GLSL
fand
0
250
APIs for VJ-ing
fand
1
6.8k
Style your Components with styled-component!
fand
1
730
Other Decks in Technology
See All in Technology
Platform Engineeringは自由のめまい
nwiizo
1
620
Datadogとともにオブザーバビリティを布教しよう
mego2221
0
110
Ask! NIKKEIの運用基盤と改善に向けた取り組み / NIKKEI TECH TALK #30
kaitomajima
1
420
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
110
アジャイル開発とスクラム
araihara
0
140
サーバーレスアーキテクチャと生成AIの融合 / Serverless Meets Generative AI
_kensh
12
2.8k
Datadog APM におけるトレース収集の流れ及び Retention Filters のはなし / datadog-apm-trace-retention-filters
k6s4i53rx
0
260
飲食店予約台帳を支えるインタラクティブ UI 設計と実装
siropaca
5
1.1k
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
1
350
実践!OpenTelemetry
oracle4engineer
PRO
0
210
2.5Dモデルのすべて
yu4u
0
150
ろう・難聴者のコミュニケーションを円滑化する取り組み
chiemi627
0
130
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Git: the NoSQL Database
bkeepers
PRO
427
64k
BBQ
matthewcrist
86
9.4k
KATA
mclloyd
29
14k
Building Adaptive Systems
keathley
39
2.4k
The Invisible Side of Design
smashingmag
299
50k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Visualization
eitanlees
146
15k
Scaling GitHub
holman
459
140k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Transcript
amagitakayosi GLSL Livecoding Workshop
͡Ί·ͯ͠ʂ ʜʜͷલʹ
ߨٛͷ४උΛ͓ئ͍͠·͢ w ͜ͷεϥΠυͷ63-IUUQTCJUMZS"MEF w αϯϓϧϑΝΠϧΛμϯϩʔυͯ͠Լ͍͞ IUUQTCJUMZ)[H#S w ࣍ʹɺ7&%"ͷΞοϓσʔτΛ͓ئ͍͠·͢
7&%"ͷΞοϓσʔτ w $NE Ͱઃఆը໘Λ։͘
7&%"ͷΞοϓσʔτ w $NE Ͱઃఆը໘Λ։͘
7&%"ͷΞοϓσʔτ w 6QEBUFϘλϯΛԡ͢
7&%"ͷΞοϓσʔτ w "UPNΛ࠶ىಈ
7&%"Λىಈͯ͠ΈΑ͏ w $NE 4IJGU 1ˠlWFEBUPHHMFzΛ࣮ߦ
w $NE 4IJGU 1ˠlWFEBUPHHMFzΛ࣮ߦ
Α͋͘ΔΤϥʔ w lHMTMBOH7BMJEBUPSOPUGPVOEzΈ͍ͨͳౕ w HMTMBOH7BMJEBUPSͷΠϯετʔϧΛ͓ئ͍͠·͢ w IUUQTWFEBHMJOTUBMM MBOHKBHMTMBOHWBMJEBUPS w ӈԼʹϚʔΫ͕ͰͯΔ࣌
w ϚʔΫΛΫϦοΫͯ͠ɺ3FCVJME࠶ىಈ͢ΔͱΔ ͣ
@amagitakayosi
GLSLͰVJͯ͠·͢ https://twitter.com/mactkg/status/944246499818422272
(-4-ྺ w (-4-ʹΑΔ7+ΛݟͯিܸΛड͚Δ w 7&%"࡞։࢝ w ϥΠϒίʔσΟϯά7+σϏϡʔ w ౦ژ/PEFֶԂࡇ w
"MHPSBWF5PLZP
(-4-ྺ w (-4-ʹΑΔ7+ΛݟͯিܸΛड͚Δ w 7&%"࡞։࢝ w ϥΠϒίʔσΟϯά7+σϏϡʔ w ౦ژ/PEFֶԂࡇ w
"MHPSBWF5PLZP ͬͯΈΕ ҙ֎ͱ͙͢ ग़དྷΔΑ͏ʹͳΓ·͢ʂ
ࠓͷϝχϡʔ w (-4-֓આ w ϑϥάϝϯτγΣʔμʔجૅ w ಈըʹΤϑΣΫτΛ͔͚Δ w γΣʔμʔͱͷ߹ͤ w
͕࣌ؒ͋Ε Իೖྗ
εϩʔΨϯΘ͔Βͳͯ͘ؾʹ͠ͳ͍ w ࡉ͔͍ܭࢉͱ͔ޙͰࢿྉݟΕ͍͍Ͱ͢ w ʮϥΠϒίʔσΟϯάͰ͜Μͳ͜ͱ͕ग़དྷΔ ΜͩͳʙʯΈ͍ͨͳࣄΛײ͡Δͷ͕େࣄ
GLSL
(-4-ͱ w 0QFO(-8FC(-ͷγΣʔμʔݴޠ w ϒϥβ্Ͱը૾ॲཧͨ͠Γ w 7+ιϑτͷΤϑΣΫτͱͯ͠ར༻͞ΕͨΓ w ϥΠϒίʔσΟϯά7+ͰΑ͘ΘΕΔ
γΣʔμʔͱ w %άϥϑΟοΫʹ͓͍ͯɺମͷҐஔ ϥΠςΟϯάɺ৭ͳͲΛܭࢉ͢ΔϓϩάϥϜ w γΣʔμʔݴޠଞʹ)-4- %JSFDU9 .FUBM J04
w ߦྻͳͲɺը૾ॲཧʹศརͳ͕ؔଟ͍ w (16ʹΑΔߴͳॲཧ͕Մೳ
γΣʔμʔΞʔτ w (-4-(16ͷύϫʔΛϑϧ׆༻Ͱ͖Δ w ʮ(-4-͚ͩͰෳࡶͳάϥϑΟοΫදݱΛ ɹඳըͰ͖ΔͷͰʁʯ w ͳ͔ͥ୯ମͰΞχϝʔγϣϯΛ࡞ͬͨΓ ϥΠϒίʔσΟϯά7+͢Δਓ͕ݱΕΔ
ࢀߟLJOUSPl&MFWBUFEz IUUQTXXXZPVUVCFDPNXBUDI WK#W#NJ5SP
γΣʔμʔͷछྨ w γΣʔμʔ w ςοηϨʔγϣϯγΣʔμʔʢࠓΒͳ͍ʣ w δΦϝτϦγΣʔμʔʢࠓΒͳ͍ʣ w ϑϥάϝϯτγΣʔμʔ
γΣʔμʔ w ϞσϧͷͷҐஔΛܭࢉ͢ΔγΣʔμʔ w ΧϝϥͷҐஔɺΩϟϥΫλʔͷҐஔ͔Β ͕ը໘ͷͲ͜ʹདྷΔ͔Λܭࢉ͢Δ w ҰͭҰͭʹର࣮͠ߦ͞ΕΔ
ϑϥάϝϯτγΣʔμʔ w ໘ͷ৭Λܭࢉ͢ΔγΣʔμʔ w ޫݯͷҐஔใ͔ΒӨΛܭࢉͨ͠Γ w ςΫενϟΛషͬͨΓ w ϐΫηϧҰͭҰͭʹର࣮͠ߦ͞ΕΔ w
'VMM)% GQTͩͱճඵ
ɹɹ7&%" w "UPNΤσΟλʔ্Ͱಈ࡞͢Δ (-4-ϥΠϒίʔσΟϯάڥ w ฤूதͷ(-4-ίʔυΛධՁͯ͠ ΤσΟλʔͷഎܠʹඳը͢Δ w γΣʔμʔϑϥάϝϯτγΣʔμʔʹରԠ
ୈҰষ ϑϥάϝϯτγΣʔμʔ جૅ
͜ͷষͷඪ w ϑϥάϝϯτγΣʔμʔ͚ͩͰਤܗΛඳ͘ w (-4-ͷجૅจ๏ΛֶͿ
௨ৗͷ%$( w ઍʙສݸͷͰཱମΛදݱ͠ɺ ϑϥάϝϯτγΣʔμʔͰ৭Λ͋ͯΔ
ϑϥάϝϯτγΣʔμʔΞʔτ w ࡾ֯ܗݸ γΣʔμʔͰશͯͷମΛදݱ ʢ൘ϙϦʣ
αϯϓϧϑΝΠϧΛ։͜͏
7&%"Λىಈͯ͠ΈΑ͏ w $NE 4IJGU 1ˠlWFEBUPHHMFzΛ࣮ߦ
w $NE 4IJGU 1ˠlWFEBUPHHMFzΛ࣮ߦ
TUFQGSBHΛ࣮ߦͯ͠ΈΑ͏ w $USM &OUFSͰ࣮ߦ
ίϝϯτΛ֎࣮ͯ͠ߦ w $USM ͰɺͦͷߦͷίϝϯτPOP⒎Ͱ͖·͢
͜ͷลΛͻͱͭͣͭ ίϝϯτ֎࣮ͯ͠ߦ NBD$NE XJO$USM
ͷछྨ w JOU w qPBUුಈখ w WFDdWFDϕΫτϧ
JOU w $ݴޠͳͲͰ͓ͳ͡Έ w AJOUBAͱॻ͘ w ͋Μ·ΘΜ w GPSϧʔϓͷΠϯσοΫε͘Β͍
qPBUුಈখ w AqPBUBAຢɹɹɹɹɹɹͱͱॻ͘ w ϑΝΠϧઌ಄ͷɹɹɹɹɹ qPBUͷਫ਼Λࢦఆ͍ͯ͠Δ w MPXQ NFEJVNQ IJHIQͷॱʹਫ਼͕ߴ͘ͳΔ
w ͍͍ͩͨNFEJVNQͰे
WFD WFD WFDϕΫλʔ w AqPBUBɹɹɹɹPS w ͱॻ͍ͯ0, ʢத͕JOUʹͳΔ༁Ͱͳ͍ʣ w ɹɹɹɹɹɹɹɹͱ͢Δͱ
CWFD ʹͳΔ TXJ[[MF
ϑϥάϝϯτγΣʔμʔͷྲྀΕ w γΣʔμʔϐΫηϧຖʹ࣮ߦ͞ΕΔ w HM@'SBH$PMPSʹɺͦͷϐΫηϧͷ৭Λ WFD S H C B
ܗࣜͰೖΕͯ͋͛Δ
7&%"Ͱ͑Δม w WFDHM@'SBH$PPSEϐΫηϧͷҐஔ w VOJGPSNม w qPBUUJNF7&%"ىಈ͔Βͷܦա࣌ؒ ඵ w
WFDSFTPMVUJPOΟϯυͷαΠζ
TUFQGSBHΛ࣮ߦͯ͠ΈΑ͏
TUFQGSBHΛ࣮ߦͯ͠ΈΑ͏
TUFQGSBHΛ࣮ߦͯ͠ΈΑ͏
ୈೋষ ಈըʹΤϑΣΫτΛ͔͚Δ
͜ͷষͷඪ w ಈըΛ࠶ੜ͠ΤϑΣΫτΛ͔͚Δํ๏Λ֮͑Δ w (-4-ͰԿΛͲ͏ͨ͠ΒͲ͏ͳΔͷ͔ɺ ͳΜͱͳ͘ײ֮Λ͔ͭΉ
WJEFPGSBHΛ࣮ߦͯ͠ΈΑ͏ w ͭͷಈըΛςΫενϟʹಡΈࠐΜͰ͍Δ
TBNQMFS%ςΫενϟ w ɹɹɹɹɹɹɹɹɹJOUBAͱॻ͘ͱ ςΫενϟͷ࠲ඪVWͷΛऔಘͰ͖Δ w VW ʙ
ͷൣғ
ಈըͷΓସ͑ํखಈ w *.1035&%ΛίϝϯτΞτͰΓସ͑ w ۂͷ͍͍ײ͡ͷͱ͜Ͱ$USM &OUFS w Ұ൪͍͍ͧ͢ʂʂʂ
ಈըͷΓସ͑ํࣗಈ w UJNFΛͬͯྑ͍ײ͡ʹΓସ͑Δ w lJG NPE UJNF zͨ͠Γ
w lHM@'SBH$PMPS TJO UJNF zͨ͠Γ w WJEFPGSBH͜ͷύλʔϯͰ͢Ͷ
ಈըͷΓସ͑ํ֎෦ೖྗ w Իʹ߹ΘͤͨΓɺ .*%*04$ೖྗΛͬͨΓ w ্ख͘Ͱ͖Δͱ͔͍͍ͬͧ͜ʂʂʂ
GYGSBHΛ࣮ߦͯ͠ΈΑ͏
7+ͰΑ͋͘ΔΤϑΣΫτ w ճస w Ώ͕Έ w ສ՚ڸͬΆ͍ͭ w 3(#ͣΒ͠ w
࠲ඪͣΒ͠
σΟεϓϨΠεϝϯτϚοϓ w WJEFPͷͰɺWJEFPͷදࣔҐஔΛ·ͤΔ
ୈࡾষ γΣʔμʔ
͜ͷষͷඪ w γΣʔμʔͷॻ͖ํΛ֮͑Δ w ઢʹΑΔॳาతͳදݱΛֶͿ
γΣʔμʔʹΑΔγΣʔμʔΞʔτ w IUUQTWFSUFYTIBEFSBSUDPN͕ൃʁ w %σʔλΛ༻͍ͣɺγΣʔμʔ͚ͩͰ ͷҐஔΛܭࢉ͢Δ w WBSZJOHWFDDPMPSͰͷ৭Λઃఆ w WBSZJOHมγΣʔμʔ͔Βϑϥάϝ
ϯτγΣʔμʔͤΔม
WFSUWFSUΛ࣮ߦͯ͠ΈΑ͏
γΣʔμʔͷྲྀΕ w HM@1PTJUJPOʹɺͦͷͷ࠲ඪΛ WFD Y Z [ X ܗࣜͰೖΕͯ͋͛Δ w
Xؾʹ͠ͳͯ͘ྑ͍Ͱ͢ʢৗʹͰʣ w HM@1PJOU4J[Fʹɺͷେ͖͞ΛೖΕΔ
γΣʔμʔͰԁΛඳ͘ w WFSUFY*Eͷ൪߸ w WFSUFY$PVOUͷ૯ w WFSUFY*E͔Β֯Λܭࢉͯ͠ɺTJODPTͰ ࠲ඪΛܭࢉ͢Εྑ͍ w WFSUFY*EWFSUFY$PVOU
ʙͱͳΔ
WFSUWFSU͕ԁΛඳ͘
ϓϦϛςΟϒλΠϓ w ίϝϯτͰWFSUFY.PEFΛมߋͰ͖Δ w 10*/54 -*/&4 53*"/(-&4ͳͲ w งғؾ͕ΨοͱมΘͬͯΓ্͕Δͧʂʂ
WFSUWFSU࠷ऴܗଶ
QBSUJDMFGSBHղઆ w γΣʔμͰਤܗΛඳ͍ͯ ϑϥάϝϯτγΣʔμͰΤϑΣΫτ͔͚ͯΔ w WFSUFY.PEFͰඳըϞʔυΓସ͑ w 53*"/(-&4Ҏ֎ͷͱ͖WFSUFY$PVOUΛ ૿͠·͠ΐ͏ʢຯͳͷͰʣ
None
ୈ࢛ষ ԻೖྗΛར༻͢Δ
͜ͷষͷඪ w ԻʹԠ͢ΔΞχϝʔγϣϯΛֶͿ w ֎෦ೖྗΛ༗ޮ׆༻͢Δํ๏Λߟ͑Δ
7&%"Ͱ֎෦ೖྗΛ͏ w ϑΝΠϧͷઌ಄ʹ ͳͲΛՃ w NJEJͷ࣌ w Χϝϥͷ࣌
Իೖྗ w ҎԼͷVOJGPSN͕͑·͢ w qPBUWPMVNFϘϦϡʔϜ w TBNQMFS%TBNQMFTܗ w TBNQMFS%TQFDUSVNपଳຖͷڧ͞
BVEJPGSBHΛ࣮ߦ
BVEJPGSBHΛ࣮ߦ Volume Spectrum Samples: ܗ
PCKNUMGSBHશ෦Γ
ͦͷଞͷೖྗ w ϚεɺΩʔϘʔυɺ.*%* 04$ 8FCΧϝϥɺήʔϜύουʹରԠ
ԋशλΠϜ
࠷ޙʹ w (-4-ͷָ͠͞ɺϥΠϒίʔσΟϯάͷָ͠͞ ͕ΘΕ͍͍ͳͱࢥͬͯ·͢⚡ w ͥͻ7+ʹઓͯ͠Έ͍ͯͩ͘͞ʂ w 7&%"ͷ࣭ײɺ৽ػೳͷϦΫΤετ 5XJUUFSPS(JU)VCͰ͓ؾܰʹͲ͏ͧʂ
ࢀߟϦϯΫ w 7&%" IUUQTWFEBHM w 5IF#PPL0G4IBEFST IUUQTUIFCPPLPGTIBEFSTDPN MBOKQ w XHMEPSHc(-4-
IUUQTXHMEPSHEHMTM