Closed2
UnityでCompute Shaderを用いてドット絵加工を行う
はじめに
入力画像にドット絵加工を施す。画像取得には以下のパッケージを使用。
実装
以下リポジトリで公開中。Compute Shaderを用いることで高速に動作させる。
-
Visualizer.cs
- シェーダーハンドラーのインスタンスを使用して、具体的なシェーダー処理を実行。インスペクターから具体的なシェーダーハンドラーのインスタンスを割り当て可能。
-
IShaderHandler.cs
- 特定のシェーダーの実行を抽象化するためのインターフェース。RunShaderメソッドを定義、異なる種類のシェーダー処理が同一の方法で呼び出されることを保証。
-
ComputeShaderHandler.cs
- IShaderHandlerインターフェースを実装、シェーダーの実行に関する一般的な処理を定義。
-
PixelArtHandler.cs
- ComputeShaderHandlerを継承、RunShaderメソッドをオーバーライドして具体的な処理を定義。
-
PixelArt.compute
- 各hlslを呼び出すコンピュートシェーダ。
-
Contrast.hlsl
- コントラスト調整を行うシェーダ。
-
Saturation.hlsl
- 彩度の調整を行うシェーダ。
-
Mosaic.hlsl
- モザイク加工を行うシェーダ。
-
Quantaize.hlsl
- 色の量子化(減色)を行うシェーダ。
-
Linear2Gamma.hlsl
- 色空間をリニアからガンマに変更するシェーダ。
成果物
各パラメータをインスペクターから操作可能
このスクラップは2023/07/16にクローズされました