Closed2

UnityでCompute Shaderを用いてドット絵加工を行う

0y00y0

はじめに

入力画像にドット絵加工を施す。画像取得には以下のパッケージを使用。
https://github.com/keijiro/TestTools

実装

以下リポジトリで公開中。Compute Shaderを用いることで高速に動作させる。
https://github.com/s4k10503/UnityShaderCollection/tree/main/Assets/Scenes

  • 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にクローズされました