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
シェーダーもGoで書く! Ebitengineで作る リアルタイムGPUシェーダーエディタ
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
cyokozai
June 13, 2026
Technology
96
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
シェーダーもGoで書く! Ebitengineで作る リアルタイムGPUシェーダーエディタ
https://github.com/cyokozai/kagelife
cyokozai
June 13, 2026
More Decks by cyokozai
See All by cyokozai
若手_学生エンジニアがテックカンファレンスに参加すべき5つの理由.pdf
yusuke427
0
27
10Gb ルータを作るための下準備
yusuke427
0
26
アウトプットの質を高めるために僕はLTをやめた
yusuke427
0
29
年末なのでオンプレ Kubernetes クラスタをアップグレードしよう
yusuke427
0
17
さくらのクラウド AppRun と GitHub Actions でお手軽サーバレス構築
yusuke427
2
130
塩漬けになったVM それ、Kubernetesで動かせますよ
yusuke427
2
230
KubeVirt の Live Migration をやってみる | Try KubeVirt's Live Migration on Nekko Cloud
yusuke427
2
710
学生プライベートクラウドはKubeVirt の夢を見るか?
yusuke427
1
180
SREについて学ぶスリーシェイクのインターン
yusuke427
1
310
Other Decks in Technology
See All in Technology
クレデンシャル流出 ― 攻撃 3 時間 vs 復旧 10 時間。この非対称性にどう備えるか
kazzpapa3
3
620
Deep Data Security 機能解説
oracle4engineer
PRO
2
230
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
10
1.6k
【FinOps】データドリブンな意思決定を目指して
z63d
2
490
AI時代のコスト管理を考えよう〜明日から使える実践AWSノウハウ~
yoshimi0227
0
970
MySQL & MySQL HeatWave Report - June 2026
freshdaz
0
210
Comment regagner la souveraineté de vos données tout en étant payé grâce à Nostr !
rlifchitz
0
220
サイバーエージェントにおけるAI推進戦略と変革への取り組み
shotatsuge
0
610
10年間のブログ発信を振り返って見えたWebアプリケーションエンジニアとしての軌跡
stefafafan
0
190
AIは、人間らしい仕事の夢を見るか?─ AI時代のtoB/toEプロダクトを再設計する
techtekt
PRO
0
160
クラウドファンディング版StackChan 3体(4体)をインタラクティブな体験型作品にして展示もした話 / スタックチャンお誕生日会2026
you
PRO
0
250
飲食店もAIで。レジ締めやハンディシステムをつくってる話 / Using AI for restaurant management
vtryo
0
210
Featured
See All Featured
Side Projects
sachag
455
43k
Designing Powerful Visuals for Engaging Learning
tmiket
1
430
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Into the Great Unknown - MozCon
thekraken
41
2.6k
Claude Code のすすめ
schroneko
67
230k
Making Projects Easy
brettharned
120
6.7k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
850
Optimising Largest Contentful Paint
csswizardry
37
3.7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
260
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
870
Transcript
シェーダーもGoで書く! Ebitengineで作る リアルタイムGPUシェーダー エディタ 2026.06.13 Ramble vol.3
目次 • 自己紹介 • VJ に憧れて • Ebitengineとは • 個人開発のVJツール”KageLife”の紹介
• (時間があれば)デモ
井上 裕介 a.k.a cyokozai 千葉工業大学大学院 情報科学研究科 情報科学専攻 修士2年 ❏ ネットワークコンテンツ研究会
Nekko Cloud Team ❏ 株式会社スリーシェイク sreake事業部 学生インターン ❏ クラウドネイティブ会議実行委員
趣味: DJ (House, EDM, etc) クラウドネイティブ会議の 懇親会でもDJを担当しました
VJ に憧れて
VJ (Video Jockey) • 音楽に合わせてリアルタイムに 映像を演出・操作する役割 • 映像クリップ, CG, カメラの映像
などをその場でミックス • 近年ではシェーダ言語を使った パフォーマンスも有名 https://www.youtube.com/watch?v=vCMrviGfzpE&list=RDvCMrviGfzpE&start_radio=1 Goodbye FROGにて落合氏による DJ / VJ の様子
VJもできるように なりたい
KodeLife • Hexler社が開発しているリアルタイム のGPUシェーダーエディタ • コードをタイピングした瞬間に裏で コンパイルされ即座に映像出力 • コーディングしながらVJできて体験 が良い
https://hexler.net/kodelife
シェーダー言語 (Shader Language) • GPUに対して画面への描画方法や計算を指示するための プログラミング言語 • 代表的な言語 ◦ GLSL:
OpenGLやWebGLで標準的に使われる ◦ HLSL: WindowsのDirectX環境で使用、PCゲーム開発などが主流 ◦ WGSL: 次世代のWeb描画規格であるWebGPU向けに設計された https://ja.wikipedia.org/wiki/%E3%82%B7%E3%82%A7%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E
GLSLの特徴 • 並列処理を前提に組まれた言語 • 画面上の座標と最終的な色を計算し出力することに特化 • 空間座標や色を表現するベクトル (vec3, vec4) や回転など
を計算する行列 (mat4) などの数学用データ型を標準装備 • 構文はCに近いのでコツをつかめば....?🤔
シェーダー言語むっず.... • レンダリングエンジンの知識+線形代数 • パフォーマンスにはある程度慣れが必要 入門してすぐ挫折
Ebitengineとは
A dead simple 2D game engine for Go https://ebitengine.org/ja/
Ebitengine ぷちConf #4 に参加したことがきっかけ • Ebitengineを使ったシェーダーのデモを 見て「これだ」と思った • 1つのコードで全ての環境で動かせる! •
Goライクなシェーダー言語 Kage がある! • ついでにGoを書く練習になるぞ
個人開発のVJツール ”KageLife”の紹介
KageLifeとは • Goの構文でシェーダーを操作するレンダリングエンジン • Kage言語を用いてシェーダーを操作する • 編集→コンパイル→映像出力が可能 • エディタ機能は省いている https://github.com/cyokozai/kagelife
//kage:unit pixels package main var Resolution vec2 func Fragment(dstPos vec4,
srcPos vec2, color vec4) vec4 { uv := dstPos.xy / Resolution return vec4(uv.x, uv.y, 0.0, 1.0) } Kage言語とGLSLの比較 kage #version 300 es precision highp float; uniform vec2 Resolution; out vec4 FragColor; void main() { vec2 uv = gl_FragCoord.xy / Resolution; FragColor = vec4(uv.x, uv.y, 0.0, 1.0); } GLSL
今後実装していく機能 • MIDI 連携 • Ableton などの DAW と連携 •
一部APIをGUI操作可能に • その他、欲しい機能募集
デモ