Submit Search
Upload
はじめてのこんぴゅうとしぇえだあ〜ComputeShaderに入門してみた話〜
•
Download as PPTX, PDF
•
0 likes
•
8,006 views
めーぷる しろっぷ
Follow
コンピュートシェーダーに入門したので入門者にむけての内容です。
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 22
Download now
Recommended
ゲームアプリの数学@GREE GameDevelopers' Meetup
ゲームアプリの数学@GREE GameDevelopers' Meetup
gree_tech
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
攻略リニアカラー改訂版
攻略リニアカラー改訂版
小林 信行
なぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリング
Satoshi Kodaira
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
UnityTechnologiesJapan002
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
コールバックと戦う話
コールバックと戦う話
torisoup
MRTKをNreal Lightに対応させてみた
MRTKをNreal Lightに対応させてみた
Takashi Yoshinaga
Recommended
ゲームアプリの数学@GREE GameDevelopers' Meetup
ゲームアプリの数学@GREE GameDevelopers' Meetup
gree_tech
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
攻略リニアカラー改訂版
攻略リニアカラー改訂版
小林 信行
なぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリング
Satoshi Kodaira
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
UnityTechnologiesJapan002
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
コールバックと戦う話
コールバックと戦う話
torisoup
MRTKをNreal Lightに対応させてみた
MRTKをNreal Lightに対応させてみた
Takashi Yoshinaga
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
Unity Technologies Japan K.K.
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
Unity Technologies Japan K.K.
「3Dゲームをおもしろくする技術 」のいろいろな読み方
「3Dゲームをおもしろくする技術 」のいろいろな読み方
Kouji Ohno
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
UnityTechnologiesJapan002
アニメーションとスキニングをBurstで独自実装する.pdf
アニメーションとスキニングをBurstで独自実装する.pdf
infinite_loop
MAYAで作ったアニメーションをUnityに取り込んで動かしてみるの巻
MAYAで作ったアニメーションをUnityに取り込んで動かしてみるの巻
poko ponmaru
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
KLab Inc. / Tech
【Unity道場Houdini編】Houdini Engine とプロシージャル法
【Unity道場Houdini編】Houdini Engine とプロシージャル法
UnityTechnologiesJapan002
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
Drecom Co., Ltd.
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
エピック・ゲームズ・ジャパン Epic Games Japan
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
Unity Technologies Japan K.K.
GPU最適化入門
GPU最適化入門
Takahiro KOGUCHI
【Unity】より良い表現のためのライティング戦略
【Unity】より良い表現のためのライティング戦略
Takayasu Beharu
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
Unity Technologies Japan K.K.
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
torisoup
UniTask入門
UniTask入門
torisoup
Mayaカメラデータunityインストール
Mayaカメラデータunityインストール
小林 信行
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
まべ☆てっく運営
ゲームの仕様書を書こうまとめ
ゲームの仕様書を書こうまとめ
Sugimoto Chizuru
UnityでUI開発を高速化した件
UnityでUI開発を高速化した件
Grenge, Inc.
More Related Content
What's hot
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
Unity Technologies Japan K.K.
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
Unity Technologies Japan K.K.
「3Dゲームをおもしろくする技術 」のいろいろな読み方
「3Dゲームをおもしろくする技術 」のいろいろな読み方
Kouji Ohno
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
UnityTechnologiesJapan002
アニメーションとスキニングをBurstで独自実装する.pdf
アニメーションとスキニングをBurstで独自実装する.pdf
infinite_loop
MAYAで作ったアニメーションをUnityに取り込んで動かしてみるの巻
MAYAで作ったアニメーションをUnityに取り込んで動かしてみるの巻
poko ponmaru
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
KLab Inc. / Tech
【Unity道場Houdini編】Houdini Engine とプロシージャル法
【Unity道場Houdini編】Houdini Engine とプロシージャル法
UnityTechnologiesJapan002
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
Drecom Co., Ltd.
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
エピック・ゲームズ・ジャパン Epic Games Japan
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
Unity Technologies Japan K.K.
GPU最適化入門
GPU最適化入門
Takahiro KOGUCHI
【Unity】より良い表現のためのライティング戦略
【Unity】より良い表現のためのライティング戦略
Takayasu Beharu
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
Unity Technologies Japan K.K.
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
torisoup
UniTask入門
UniTask入門
torisoup
Mayaカメラデータunityインストール
Mayaカメラデータunityインストール
小林 信行
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
まべ☆てっく運営
ゲームの仕様書を書こうまとめ
ゲームの仕様書を書こうまとめ
Sugimoto Chizuru
UnityでUI開発を高速化した件
UnityでUI開発を高速化した件
Grenge, Inc.
What's hot
(20)
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
「3Dゲームをおもしろくする技術 」のいろいろな読み方
「3Dゲームをおもしろくする技術 」のいろいろな読み方
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
アニメーションとスキニングをBurstで独自実装する.pdf
アニメーションとスキニングをBurstで独自実装する.pdf
MAYAで作ったアニメーションをUnityに取り込んで動かしてみるの巻
MAYAで作ったアニメーションをUnityに取り込んで動かしてみるの巻
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
【Unity道場Houdini編】Houdini Engine とプロシージャル法
【Unity道場Houdini編】Houdini Engine とプロシージャル法
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
GPU最適化入門
GPU最適化入門
【Unity】より良い表現のためのライティング戦略
【Unity】より良い表現のためのライティング戦略
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
UniTask入門
UniTask入門
Mayaカメラデータunityインストール
Mayaカメラデータunityインストール
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
ゲームの仕様書を書こうまとめ
ゲームの仕様書を書こうまとめ
UnityでUI開発を高速化した件
UnityでUI開発を高速化した件
はじめてのこんぴゅうとしぇえだあ〜ComputeShaderに入門してみた話〜
1.
はじめての こんぴゅうとしぇえだあ 〜Compute Shaderに入門してみた話〜 沼
2.
わたしはだあれ? 名前:めーぷる 職種:Unityエンジニア Twitter:@MapleSyrupCS6 ブログ:めーぷるのおもちゃばこ 担当カラー:あおとぱんだ
3.
こんぴゅうとしぇえだあってなに? GPUを使用して単純処理を並列化し、大量の演算を 高速に実行するために用いられる。 →つまりCPUでやると重たい処理を軽くできるもの
4.
こんぴゅうとしぇえだあってなに? よく例えられるのが、1人の天才と100人の凡人という話 1人の天才(CPU) 100人の凡人(GPU)
5.
こんぴゅうとしぇえだあってなに? 1人100おばあちゃん 1人1おばあちゃん 疲れたおばあちゃん(ただし100人いる)をおんぶするというだけのタスク
6.
こんぴゅうとしぇえだあってなに? 1人100おばあちゃん 1人1おばあちゃん こっちのほうが負荷がすくないし早い↓↓
7.
こんぴゅうとしぇえだあってなに? ただし...コンピュートシェーダーの向いてるタスクは ふつうのシェーダーと一緒で、すべてが独立して計算可能なもの →あたえられたデータのみでみちびきだせるもの まわりのことを一切気にせずに自分だけで計算を終えれるもの いま助けているおばあちゃんしかわ からない。 さっき助けてたおばあちゃん? だれそれ? となりにいるおばあちゃん? なにそれ? さすが凡人じ ゃ...
8.
なにができるの? 凹さん edomさん パーティクルを扱うものが多そう https://twitter.com/edo_m18/status/12017522463099084 81?s=20 https://www.youtube.com/watch?v=G- 4k8Zur7zY&feature=youtu.be
9.
なにができるの? 他にも ・物理シミュレーション ・流体シミュレーション ・群シミュレーション などに使われたりする
10.
なんでシェーダーっていうの? 描画をあつかうシェーダーっていうものがあって それを扱うGPUの膨大な演算能力が目をつけられて 描画を抜いた「計算のためだけのシェーダー」がうまれた
11.
なんでシェーダーっていうの? コンピュートシェーダー = GPGPUのためのシェーダー
12.
なんでシェーダーっていうの? GPGPU (General-Purpose computing on
Graphics Processing Units) →GPUを画面描画以外の汎用的な計算につかうこと
13.
こんぴゅうとしぇえだで作ってみた https://youtu.be/1QxyXRxmdMo
14.
こんぴゅうとしぇえだで作ってみた 2箇所コンピュートシェーダーを使った 1.パーティクルの動き 2.頂点の取得
15.
こんぴゅうとしぇえだで作ってみた 1.パーティクルの動き パーティクルをコンピュートシェーダーで扱う方法は edomさんの記事を参考にした↓↓ Compute ShaderとGraphics.DrawMeshInstancedIndirectを使ったレンダリングを理解する
16.
こんぴゅうとしぇえだで作ってみた パーティクルがキューブの方 向に飛んでいくように計算 Particle.compute
17.
こんぴゅうとしぇえだで作ってみた 2.頂点の取得 ・範囲内の頂点からパーティクルを出したい ・範囲内の頂点の色を変えたい →頂点はふつう数万から数十万ある
18.
こんぴゅうとしぇえだで作ってみた GetVertex.cs GetVertex.Compute 頂点シェーダー Particle.cs 触れてるか どうかの判 定 頂点カラー の変更 頂点の格納 メッシュの 頂点データ 人オブジェ クトの位置 触れてる頂 点の配列 Particle.compute パーティクル の計算 GetVertex.Compute
19.
こんぴゅうとしぇえだで作ってみた ・まずはCPUで実装してみる →慣れてないところからいきなりコンピュートシェーダーで実装しようと すると混乱してくるので、C#でまず実装したい内容を書いてそれをコンピ ュートシェーダーに書き換えるというやりかたが混乱しにくい ・あきらめないこころ →だんだんわけがわからなくなってきますがあきらめないこころがだいじ コツ?
20.
どうやって入門するの? おすすめ記事など IKD-Memberさん https://qiita.com/IKD- Member/items/f424b3e53a6482ca b884 edomさん https://edom18.hateblo.jp/entry/2019/11/25/0 81232 IndeieVisualLabさん https://twitter.com/mattatz/status/12 54353324423307264
21.
どうやって入門するの? めーぷるのおもちゃばこ っていうブログおすすめ 【Unity】Compute Shader入門① 〜オブジェクトを実際に動かしてみて完全に理解〜 https://www.wwwmaplesyrup-cs6.work/entry/MapleComputeTutorial1
22.
おわり
Editor's Notes
過去のデータとかを使うものはダメで、あたえられたデータのみでみちびきだせるもの(となりのピクセルとかって定数にできない、そういうのが絡んでくると向いてない) まわりのことを一切気にせずに自分だけで計算を終えれるもの
じゃあ具体的にどういうことができるの?
じゃあ具体的にどういうことができるの?
GPU(グラフィックス・プロセッシング・ユニット)はもともと画面の描画に最適化されたプロセッサーでした。ディスプレイの各ピクセルの色を計算するために大量のデータに対して並列に単純な計算ができるよう設計されていたためです。近年になってGPUの演算性能の向上に伴い、GPUを画面描画以外の汎用的な計算に使おうという流れが出てきました。これをGPGPU(ジーピージーピーユー)といいます。現在、GPGPUは物理シミュレーションや機械学習、暗号通貨の発掘などさまざまな用途で計算に使われています。 コンピュートシェーダーはGPGPUのためのシェーダーで、GPUの演算性能を活かして高速に数値計算をするために追加されました。一般的な3DグラフィックスAPIの他のシェーダーと比較すると次のような用途の違いがあります。
そのGPGPUを行うために作られた書き方の様式のひとつがコンピュートシェーダー もともとはピクセルを扱うためのGPUを使用することから、名残でシェーダーという名前がついている? コンピュートシェーダーはGPGPUのためのシェーダーで、GPUの演算性能を活かして高速に数値計算をするために追加されました。
GPU(グラフィックス・プロセッシング・ユニット)はもともと画面の描画に最適化されたプロセッサーでした。ディスプレイの各ピクセルの色を計算するために大量のデータに対して並列に単純な計算ができるよう設計されていたためです。近年になってGPUの演算性能の向上に伴い、GPUを画面描画以外の汎用的な計算に使おうという流れが出てきました。これをGPGPU(ジーピージーピーユー)といいます。現在、GPGPUは物理シミュレーションや機械学習、暗号通貨の発掘などさまざまな用途で計算に使われています。 コンピュートシェーダーはGPGPUのためのシェーダーで、GPUの演算性能を活かして高速に数値計算をするために追加されました。一般的な3DグラフィックスAPIの他のシェーダーと比較すると次のような用途の違いがあります。
こういう悪役いますよね、通ったとこの花全部枯らしてくみたいな そもそも頂点って数万から数十マンあるよね→処理負荷が高い
IndieVisualLabいま無料配布されてまっせ
Download now