Submit Search
Upload
はじめてのこんぴゅうとしぇえだあ〜ComputeShaderに入門してみた話〜
•
Download as PPTX, PDF
•
0 likes
•
7,973 views
めーぷる しろっぷ
Follow
コンピュートシェーダーに入門したので入門者にむけての内容です。
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 22
Download now
Recommended
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
Takahiro Miyaura
はじめようARCore:自己位置推定・平面検出・FaceTracking
はじめようARCore:自己位置推定・平面検出・FaceTracking
Takashi Yoshinaga
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
Hori Tasuku
VRM 標準シェーダ MToon の使い方
VRM 標準シェーダ MToon の使い方
VirtualCast, Inc.
OpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみた
Takahiro Miyaura
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
UnityTechnologiesJapan002
かわいい女の子になりたいんや! UE4の最新機能を使ってVTuberしてみた!
かわいい女の子になりたいんや! UE4の最新機能を使ってVTuberしてみた!
エピック・ゲームズ・ジャパン Epic Games Japan
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Fixstars Corporation
Recommended
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
Takahiro Miyaura
はじめようARCore:自己位置推定・平面検出・FaceTracking
はじめようARCore:自己位置推定・平面検出・FaceTracking
Takashi Yoshinaga
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
Hori Tasuku
VRM 標準シェーダ MToon の使い方
VRM 標準シェーダ MToon の使い方
VirtualCast, Inc.
OpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみた
Takahiro Miyaura
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
UnityTechnologiesJapan002
かわいい女の子になりたいんや! UE4の最新機能を使ってVTuberしてみた!
かわいい女の子になりたいんや! UE4の最新機能を使ってVTuberしてみた!
エピック・ゲームズ・ジャパン Epic Games Japan
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Fixstars Corporation
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
Takehito Gondo
AndroidでARの夢を再び 〜ARCoreの導入から応用まで
AndroidでARの夢を再び 〜ARCoreの導入から応用まで
Kenichi Takahashi
3次元計測とフィルタリング
3次元計測とフィルタリング
Norishige Fukushima
Pythonのシグナル処理
Pythonのシグナル処理
Atsuo Ishimoto
中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~
ProjectAsura
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
Takahito Tejima
Assembly Definition あれやこれ
Assembly Definition あれやこれ
NakanoYosuke1
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査
Kazuyuki Miyazawa
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
Unity Technologies Japan K.K.
アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~
アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~
エピック・ゲームズ・ジャパン Epic Games Japan
出張ヒストリア ブループリントを書くにあたって大切なこと
出張ヒストリア ブループリントを書くにあたって大切なこと
historia_Inc
強化学習 DQNからPPOまで
強化学習 DQNからPPOまで
harmonylab
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
エピック・ゲームズ・ジャパン Epic Games Japan
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
historia_Inc
優れた問いを見つける(中京大学講演)
優れた問いを見つける(中京大学講演)
cvpaper. challenge
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
20190131 lidar-camera fusion semantic segmentation survey
20190131 lidar-camera fusion semantic segmentation survey
Takuya Minagawa
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
Deep Learning JP
More Related Content
What's hot
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
Takehito Gondo
AndroidでARの夢を再び 〜ARCoreの導入から応用まで
AndroidでARの夢を再び 〜ARCoreの導入から応用まで
Kenichi Takahashi
3次元計測とフィルタリング
3次元計測とフィルタリング
Norishige Fukushima
Pythonのシグナル処理
Pythonのシグナル処理
Atsuo Ishimoto
中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~
ProjectAsura
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
Takahito Tejima
Assembly Definition あれやこれ
Assembly Definition あれやこれ
NakanoYosuke1
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査
Kazuyuki Miyazawa
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
Unity Technologies Japan K.K.
アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~
アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~
エピック・ゲームズ・ジャパン Epic Games Japan
出張ヒストリア ブループリントを書くにあたって大切なこと
出張ヒストリア ブループリントを書くにあたって大切なこと
historia_Inc
強化学習 DQNからPPOまで
強化学習 DQNからPPOまで
harmonylab
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
エピック・ゲームズ・ジャパン Epic Games Japan
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
historia_Inc
優れた問いを見つける(中京大学講演)
優れた問いを見つける(中京大学講演)
cvpaper. challenge
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
20190131 lidar-camera fusion semantic segmentation survey
20190131 lidar-camera fusion semantic segmentation survey
Takuya Minagawa
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
Deep Learning JP
What's hot
(20)
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
AndroidでARの夢を再び 〜ARCoreの導入から応用まで
AndroidでARの夢を再び 〜ARCoreの導入から応用まで
3次元計測とフィルタリング
3次元計測とフィルタリング
Pythonのシグナル処理
Pythonのシグナル処理
中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
Assembly Definition あれやこれ
Assembly Definition あれやこれ
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~
アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~
出張ヒストリア ブループリントを書くにあたって大切なこと
出張ヒストリア ブループリントを書くにあたって大切なこと
強化学習 DQNからPPOまで
強化学習 DQNからPPOまで
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
優れた問いを見つける(中京大学講演)
優れた問いを見つける(中京大学講演)
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
20190131 lidar-camera fusion semantic segmentation survey
20190131 lidar-camera fusion semantic segmentation survey
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
はじめてのこんぴゅうとしぇえだあ〜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