Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
gocon-2022-spring_sponsor-session.pdf
Search
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
4k
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
【Findyテック文化祭ワークショップ】新卒エンジニア&採用担当と作る、 なりたい姿と今やるべき一歩
dip_tech
PRO
0
150
手を動かして実感する、Kiro が変える開発体験
inariku
0
420
2026-09-26 Platform Engineering Kaigi 2026 インフラとアプリの境界線と委譲の設計 / Drawing the Infra and App Line
masasuzu
0
500
メルカリにおけるAI時代の高速プロトタイピング基盤「Arca」
ryotarai
18
13k
大阪オフィスに Unitree Go2 がやってきたので Physical AI やってみた
dafujii
0
150
「大丈夫そう?」をObservabilityで確かめる
mrmtsu
0
240
Databricksメトリクスビューはじめてのもくもく会
taka_aki
0
140
Claude起点の仕様駆動開発
tanakaseiya
0
230
GitHub Agentic Workflows を触ってみる
htkym
2
880
Swap and Memory Reclaim - Squeezing Out More RAM
ennael
PRO
1
1.4k
The kernel report
ennael
PRO
1
150
データ品質を壊しながらSnowflakeのAIに分析させてみた
kawanago
0
320
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
890
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
550
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
KATA
mclloyd
PRO
35
16k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Automating Front-end Workflow
addyosmani
1369
210k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
390
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
710
The World Runs on Bad Software
bkeepers
PRO
72
12k
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