輪郭出力シェーダ

輪郭出力シェーダは、通常のイメージの計算が完了した後に呼び出されます。

輪郭のみ

輪郭出力シェーダ contour_only は、レンダリング後のカラー イメージを無効にし、カラー フレーム バッファ内の指定されたバックグラウンド カラーを使用して輪郭イメージを生成します。

contour_only
    "contour_only" (
        color           "background",
        boolean         "glow",
        boolean         "maxcomp")
background
バックグラウンド カラー(デフォルトは黒)です。
glow
on に設定した場合はすべての輪郭が暗くなり、エッジ付近では透明度が高くなり、グローのエフェクトが作成されます。
maxcomp
on に設定した場合は、輪郭同士が重なった場合には、(各カラー バンド内で) 2 つのカラーの最大値を使用するように指定されます。maxcomp が指定されていない場合(または off に設定されている場合)は、通常のアルファ合成が使用されます。

合成による輪郭

この輪郭出力シェーダは、レンダリング後のカラー イメージ上に合成される輪郭イメージを生成します。

contour_composite
    "contour_composite" (
        boolean         "glow",
        boolean         "maxcomp")
glow
on に設定した場合はすべての輪郭が暗くなり、エッジ付近では透明度が高くなり、グローのエフェクトが作成されます。
maxcomp
on に設定した場合は、輪郭同士が重なった場合には、(各カラー バンド内で) 2 つのカラーの最大値を使用するように指定されます。maxcomp が指定されていない場合(または off に設定されている場合)は、通常のアルファ合成が使用されます。

ポストスクリプトの輪郭

輪郭出力シェーダ contour_ps は、黒い輪郭のポストスクリプト コードを作成します。ポストスクリプト コードは、ファイル タイプ ps を指定する個別の出力ステートメントを使用してファイルに書き込まれます。このシェーダはレンダリング後のカラーフレームバッファには作用しません。

contour_ps
    "contour_ps" (
        integer         "paper_size",
        scalar          "paper_scale",
        scalar          "paper_transform_b",
        scalar          "paper_transform_d",
        boolean         "title",
        boolean         "landscape",
        vector          "ink_stroke_dir",
        scalar          "ink_min_frac",
        string          "file_name"
    )
paper_size
0 が「レター」サイズ、1 が「エグゼクティブ」、2 が「リーガル」、3 から 6 までがそれぞれ「A3」「A4」「A5」「A6」、7 から 9 までがそれぞれ「B4」「B5」「B6」、10 が 「11x17」を表す整数です。
paper_scale
ポストスクリプト出力のスケールを決定します。デフォルトは 1 です。
paper_transform_b
paper_transform_d
次の行列にしたがってポストスクリプト座標を変換します。
( b )
d
ここで、bd はそれぞれ paper_transform_b および paper_transform_d パラメータです。若干ずれた位置に出力されるプリンタを使用する場合に補正することができます。
title
on に設定した場合は、タイトル(ファイル名とフレーム番号)およびイメージの周囲のフレームを書き込みます。
landscape
on に設定した場合は、ポートレイト モード(縦置き)ではなくランドスケープ モード(横置き)で出力します。
ink_stroke_dir
ゼロ以外のベクトルに設定した場合は、それぞれの輪郭線セグメントの太さがベクトルの向きによって決定され、インク ペンのような外観が作成されます。輪郭線の幅は、ストロークと同じ方向になったときに最大になります。
ink_min_frac
ink_stroke_dir に対して垂直な角度になったときの「インクペン」のような輪郭線の(最大の太さに対する)太さを指定します。
file_name
輪郭を書き出す PostScript ファイルの名前を指定します。

たとえば、フル スケールで用紙サイズが A4 のポストスクリプト ファイルを出力するためには、カメラ定義において以下のようなステートメントを使用します。

     output "contour,rgba" "contour_ps" (
        "paper_size"         4,
        "paper_scale"        1.0,
        "paper_transform_b"  0.0,
        "paper_transform_d"  1.0,
        "title"              on,
        "landscape"          on,
        "file_name"          "contourimage.ps"
     )

Copyright © 1986-2009 by mental images GmbH