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
シェーダーもGoで書く! Ebitengineで作る リアルタイムGPUシェーダーエディタ
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
cyokozai
June 13, 2026
Technology
140
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
英語が話せなくてもKubeConスタッフに参加した話
yusuke427
2
1.2k
そりゃあ、BoFぞなもし
yusuke427
0
120
若手_学生エンジニアがテックカンファレンスに参加すべき5つの理由.pdf
yusuke427
0
63
10Gb ルータを作るための下準備
yusuke427
0
77
アウトプットの質を高めるために僕はLTをやめた
yusuke427
0
50
年末なのでオンプレ Kubernetes クラスタをアップグレードしよう
yusuke427
0
48
さくらのクラウド AppRun と GitHub Actions でお手軽サーバレス構築
yusuke427
2
150
塩漬けになったVM それ、Kubernetesで動かせますよ
yusuke427
2
270
KubeVirt の Live Migration をやってみる | Try KubeVirt's Live Migration on Nekko Cloud
yusuke427
2
840
Other Decks in Technology
See All in Technology
Reticulum, le réseau cypherpunk dont vous avez besoin !
rlifchitz
0
110
公共システムAdventCalendar2026
toru_kubota
0
280
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
1
210
The Author Pays
hiccupps
0
120
慶應義塾大学 AI実践05 論文執筆の仕組み化
keio_smilab
PRO
7
3.8k
In-Context Learning再入門。ICLの勾配降下的解釈の研究動向を追ってみる。
dai08srhg
1
740
`go get`したらELFが降ってきた件
taiyow
0
190
Kiro 入門 (1 つのエージェントを、どの画面からでも) | 目指せ Kiro マスター 01
inariku
PRO
6
1.2k
AI Agent 時代のデータ基盤: ClickHouse で実現する 超高速分析とコスト削減の両立
jozono
0
210
【dbts2026】AIエージェントの 判断と探索を変える、 データベース エンジニアリング― 既存DBの処理と依存関係から作る、オペレーショナルオントロジー ―
shisyu_gaku
0
250
Shared Signals Framework 仕様解説
oidfj
0
250
PostgreSQL オプティマイザ統計の秘密
nori_shinoda
0
420
Featured
See All Featured
Design in an AI World
tapps
1
390
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
3k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
550
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
350
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
630
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
570
The Invisible Side of Design
smashingmag
301
52k
The untapped power of vector embeddings
frankvandijk
2
2k
Mobile First: as difficult as doing things right
swwweet
225
10k
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操作可能に • その他、欲しい機能募集
デモ