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
gocon-2022-spring_sponsor-session.pdf
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Cluster, Inc.
April 27, 2022
Technology
1.6k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
gocon-2022-spring_sponsor-session.pdf
Cluster, Inc.
April 27, 2022
More Decks by Cluster, Inc.
See All by Cluster, Inc.
iOSDC2023_Cluster
clusterinc
1
2.8k
Cluster_Extended Tokyo_WWDC 2023
clusterinc
0
3.9k
2023-05-24_Qiita_Night_AWS_vol.2_Cluster
clusterinc
0
560
cluster_SwiftUI
clusterinc
0
1.2k
cluster_Android_JetpackCompose
clusterinc
0
1.1k
AvatarMakerを支える技術 / cluster_avatarmaker_engineering
clusterinc
0
1.8k
clusterでLOD対応したときの話 / cluster LOD
clusterinc
0
2.1k
クラスター株式会社紹介資料 / Company Deck
clusterinc
5
340k
Other Decks in Technology
See All in Technology
20260906 「AWS運用入門」著者が教える、運用業務への生成AI活用入門
masaruogura
0
240
エンタープライズInnerSourceと開発者ポータル
nogikazuma
1
110
Microsoft 365 Copilot chat -tekoälypalvelun tietosuojaongelmat
hponka
0
540
Driving AI Adoption Using In-House GPUs to Serve Qwen
po3rin
2
470
作り直せるコードは迅速に 作り直せないDBは慎重に - AI時代のプロダクトエンジニアが「判断の不可逆性」で開発速度を変える話
kinosuke01
0
270
Sony-DroidKaigi2026
sony
1
400
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
160
こんなアーキテクチャ図は嫌だ BEYOND THE TIME: 半年後の自分へ贈る15のメッセージ / 15 of Anti-pattern in AWS Architecture Diagrams
naospon
3
260
Multica × 長期記憶:40個のミニプロジェクト管理
eiei114
1
200
Webとヘルスデータ
yukukotani
1
200
V8コントリビュート超入門
riyaamemiya
0
150
Amazon Quick on DesktopがIAM Identity Centerで動かない理由
yukiogawa
0
110
Featured
See All Featured
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
660
Between Models and Reality
mayunak
4
450
Embracing the Ebb and Flow
colly
88
5.2k
How to Talk to Developers About Accessibility
jct
2
540
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
240
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
430
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
590
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
710
Designing for Performance
lara
611
70k
The Pragmatic Product Professional
lauravandoore
37
7.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Paper Plane
katiecoart
PRO
2
53k
Transcript
ϝλόʔεΛࢧ͑Δٕज़ ʙUGCʹᷓΕΔ3DۭؒͷϦΞϧλΠϜ௨৴Λࢧ͑ΔGoʙ Ϋϥελʔגࣜձࣾ thara 2022-04-23 Go Conference 2022 Spring (Online)
Cluster, Inc. All Rights Reserved. ࣗݾհ 2 thara • Tomochika
Hara (ݪ Ѫ) • ѪݝࡏॅϦϞʔτϫʔΧʔ • ࢠͷ • झຯ • NESΤϛϡϨʔλ࣮ @zetta1985
Cluster, Inc. All Rights Reserved. ϝλόʔεϓϥοτϑΥʔϜ cluster ͱ 3
Cluster, Inc. All Rights Reserved. ϝλόʔεϓϥοτϑΥʔϜ cluster ͱ 4
Cluster, Inc. All Rights Reserved. ϝλόʔεϓϥοτϑΥʔϜ cluster ͱ 5
Cluster, Inc. All Rights Reserved. ࠓ͢͜ͱ 6 • ϝλόʔεΛߏ͢Δཁૉٕज़ •
ϝλόʔεϓϥοτϑΥʔϜͷόοΫΤϯυͱGo • room serverͷมભͱ෦ΞʔΩςΫνϟ
ϝλόʔεΛߏ͢Δཁૉٕज़
Cluster, Inc. All Rights Reserved. ϝλόʔεΛߏ͢Δཁૉٕज़ 8 3࣍ݩͷԾۭؒ UGC ΤίγεςϜ
Cluster, Inc. All Rights Reserved. 3࣍ݩͷԾۭؒ 9 • Unity3d •
ϦΞϧλΠϜಉظ • Ξόλʔͷ࢟ใ • ϘΠενϟοτ • ϞϊͷҐஔɾ͖
Cluster, Inc. All Rights Reserved. UGC ( = User Generated
Contents) 10 • Ξόλʔ • ϫʔϧυ • Ϋϥϑτ
Cluster, Inc. All Rights Reserved. ΤίγεςϜ 11 • ΞϓϦ௨՟ •
UGCͷചങ • Πϕϯτνέοτ • ΠϕϯτͰͷ͛મ
ϝλόʔεϓϥοτϑΥʔϜͷόοΫΤϯυͱGo
Cluster, Inc. All Rights Reserved. શମߏ 13
Cluster, Inc. All Rights Reserved. શମߏ 14 6($ ΤίγεςϜ ࣍ݩͷԾۭؒ
Cluster, Inc. All Rights Reserved. APIαʔόʔ 15 The Go gopher
was designed by Renée French. • Ϣʔβʔೝূ • ϑϨϯυ • UGCཧ • ೖࣨཧ • ܾࡁ
Cluster, Inc. All Rights Reserved. UGCύΠϓϥΠϯ 16 The Go gopher
was designed by Renée French. • VRM, glTF • reduction • native texture
Cluster, Inc. All Rights Reserved. glTF 17 • JSONʹΑΔ3DϞσϧγʔϯΛදݱ͢ΔσʔλϑΥʔϚοτ •
૬ޓӡ༻ɾ༰ྔɾϥϯλΠϜॲཧͷޮԽ • ʮ3Dʹ͓͚ΔJPEGʯ IUUQTHJUIVCDPN,ISPOPT(SPVQHM5'CMPCNBJOTQFDJ fi DBUJPO fi HVSFTHM5'@3(#@+VOFTWH
Cluster, Inc. All Rights Reserved. VRM 18 • ϓϥοτϑΥʔϜඇґଘͷ3DΞόλʔϑΝΠϧϑΥʔϚοτ •
glTF-2.0Λϕʔεʹ͍ͯ͠Δ • ώϡʔϚϊΠυɾඪ४ͷإૢ࡞ɾҰਓশࢹ࠶ݱɾϥΠηϯε IUUQTWSNEFW
Cluster, Inc. All Rights Reserved. VRMΛGoͰѻ͏ 19 https://github.com/qmuntal/gltf ΛϕʔεʹVRMʹରԠ type
VRMExtension struct{ ... } func init() { gltf.RegisterExtension("VRM", func(data []byte) (interface{}, error) { var vrm VRMExtensio n err := json.Unmarshal(data, vrm ) return vrm, er r } ) } func DecodeVRM(raw []byte) (*gltf.Document, *VRMExtension, error) { var doc gltf.Documen t if err := gltf.NewDecoder(bytes.NewReader(raw)).Decode(&doc); err != nil { // error handling } return &doc, doc.Extensions["VRM"].(*VRMExtension), nil }
Cluster, Inc. All Rights Reserved. reduction/GPU native texture 20 func
(c *converter) bufferViewImage ( src *gltf.Document, index uint32, dst *gltf.Document) (uint32, string, error) { bv := src.BufferViews[index ] buf, err := modeler.ReadBufferView(src, bv ) if err != nil { // error handling } // reduction & GPU native texture encoding converted, mimeType, err := converter.Convert(buf ) if err != nil { // error handling } newIndex := modeler.WriteBufferView(dst, gltf.TargetNone, converted ) return newIndex, mimeType, nil }
Cluster, Inc. All Rights Reserved. room server 21 The Go
gopher was designed by Renée French.
room serverͷมભͱ෦ΞʔΩςΫνϟ
Cluster, Inc. All Rights Reserved. pubsubͷΈ (room serverҎલ) 23 •
ۭؒಉظͰ͋Ε͜ΕͰे • messageͷׯবͰ͖ͳ͍ • = ࣮ݱͰ͖Δػೳʹ੍ݶ
Cluster, Inc. All Rights Reserved. pubsubͷΈ (room server) 24 •
୯ʹMQTTΛ͠ΌΔ͚ͩͷ GoTCPαʔόʔ • hack͢ΔͨΊͷԼ
Cluster, Inc. All Rights Reserved. Actor 25 • client͝ͱͷॲཧ͕Մೳʹ •
messageͷfiltering • LOD • Ξόλʔ࢟ใ • ϘΠε
Cluster, Inc. All Rights Reserved. Actor 26
Cluster, Inc. All Rights Reserved. Actor + global state 27
• globalͳঢ়ଶΛߋ৽Մೳʹ • ϫʔϧυΫϥϑτ • = ஔ͍ͨϞϊͷӬଓԽ
Cluster, Inc. All Rights Reserved. Actor + global state 28
Cluster, Inc. All Rights Reserved. Next…? 29 • ͍ͩͿͷཧղ͕ਐΜͩ •
൚༻తͳ݁߹͔ΒɺΑΓҙຯ Λ࣋ͬͨߏ • ߋͳΔ௨৴ྔݮ • UDPϕʔεͷಠࣗϓϩτίϧ
·ͱΊ
Cluster, Inc. All Rights Reserved. ·ͱΊ 31 • ϝλόʔεΛߏ͢Δཁૉٕज़ •
3࣍ݩͷԾۭؒ • UGC • ΤίγεςϜ • clusterͰͦͷόοΫΤϯυΛ Go Ͱ࣮ݱͯ͠·͢
IUUQTSFDSVJUDMVTUFSNVFOHJOFFS
Thanks for Listening