AIF Toolkit

  • 公式ページ(英語, Adobe Labs)
  • ビデオカードサポートに書かれていないものでも動くことがある
    • GeForce? Go 7400 で動きました。同じ7系列でもモバイルは省略されてる?
  • メニューの New Hydra Filter で、画像をそのまま出力する Hydra が開かれる
  • AIF Toolkit がインストールされたフォルダの hydra files にサンプル
  • プログラムを読み込んだら、右下の run ボタンで実行
    • 必要に応じて画像を読み込むダイアログが表示される

Hydra

概要

  • Hydra は言語の名前
  • GLSL ベースと書いてある
    • と言うものの、独自拡張が激しい
    • はじめてシェーダ触れる人は HLSL で勉強してもあまり差が無い気がする
  • Flash で動く機能とそうでないものがある
    • リファレンス中に明記されている

カーネル

  • カーネルは画像処理の単位
  • シェーダで言えば、フラグメントシェーダ (GLSL) やピクセルシェーダ (HLSL)
  • それぞれの Hydra プログラムが1つのカーネルを構成する
  • カーネル同士をつなぎ合わせる仕組みは他に存在する
    • 例えば AIF filter graph (……って何?)
  • それぞれのカーネル間には相互作用は無い

定義例

kernel Sample
<
	nameSpace : "libspark";
	Vendor : "Spark Project";
	Version : 1;
	description : "kore ha sample desu";
>
{
	void evaluatePixel(...);
}

  • スカラ型
    • bool
    • int
    • float
    • pixel1
  • ベクトル型
    • float2, float3, float4
    • bool2, bool3, bool4
    • int2, int3, int4
    • pixel2, pixel3, pixel4
  • 行列型
    • float2x2, float3x3, float4x4
  • リージョン型
    • region
  • イメージ型
    • image1, image2, image3, image4
  • 配列
  • void