ラスターの入力と出力

 
 
 

ラスターの入力および出力の数は、ufoProcessDefine ユーザ関数で定義する必要があります。 入力および出力ごとに、その ID および推奨される作業コンポーネントの組み合わせを定義するには、ライブラリ関数 ufoProcessRasterInDefine または ufoProcessRasterOutDefine を呼び出す必要があります。 これは、RGB、RGB アルファ、アルファ、または任意です。

入力を接続せずにエフェクトを実行するには、ufoProcessSetRasterInOptional を呼び出して、入力をオプションに設定する必要があります。 オプション入力用のデフォルト選択状態は、ufoProcessSetRasterInOptionalDefault で設定できます。

入力/出力ラスターのうち、次の 9 種類のピクセル タイプは、UFO プロセスでサポートすることができます。

デフォルトで入力および出力に与えられるラスターには、サポートされているラスター タイプのものを任意に指定することができます。 RGB、RGB アルファ、またはアルファ正規化(0.0~1.0)コンポーネント値を設定/取得して、ラスターの実際のタイプにかかわらず妥当な結果が得られる関数としては、後述する汎用ピクセルアクセス関数があります。 これらの関数は、単発エフェクトまたは算術依存エフェクトの多くに適しています。

一方、直接ピクセル アクセスではほとんどの場合、ピクセル構造へのポインタおよび整数演算の併用によってレンダリング パフォーマンスが高まるので、これらを併用することは必要と考えられます。 この場合、その UFO コードに接続できる入力/出力ピクセル タイプの可能な組み合わせ全部のうちのほんの一部しか、UFO コードでサポートされない可能性があります。 入力/出力ピクセル タイプの組み合わせを、UFO コードでサポートされる組み合わせにどう変換するかを指定するには、2 つの方法があります。 推奨される方法は、ufoProcessSpecifyConvertPixelTypes ユーザ関数を指定することです。 UFO プロセスの入力/出力に与えられるラスターのピクセル タイプは、引数として渡されます。 アプリケーションで入力ラスターを事前に変換する場合、または別のタイプの出力を供給してレンダリング後に変換する場合は、ピクセル タイプ引数を変更する必要があります。

あるいは、ufoProcessSetPixelTypeCombinations を使用して、UFO レンダリング コードでサポートされている入力/出力ピクセル タイプの組み合わせを定義する方法もあります(ただし、この方法は非推奨です)。 この方法では、入力/出力ごとに必要なピクセル タイプを複数指定できます。

必要なピクセル タイプ値の記述に用いられる値のなかには、特定のコンポーネント タイプ不特定のピクセル タイプまたは任意のピクセル タイプを指定できるものがあります。 サポート対象ピクセル タイプの指定に利用可能な値の完全なセットは、次のとおりです。