轮廓输出着色器

轮廓输出着色器在计算常规图像之后调用。

仅轮廓

轮廓输出着色器 contour_only 生成以颜色帧缓冲区中指定的背景色显示的轮廓图像,丢弃了渲染的颜色图像。

contour_only
"contour_only" (
    color           "background",
    boolean         "glow",
    boolean         "maxcomp")
background
背景色(默认为黑色)。
glow
如果设定为启用,将使得所有轮廓在边附近变得较暗且更透明,从而创建了辉光效果。
maxcomp
如果设定为启用,则指定当某轮廓位于另一个轮廓上方时,应使用两种颜色(在每个色带中)之间的最大值。如果未指定 maxcomp(或设定为禁用),则使用普通的 Alpha 合成。

合成的轮廓

此轮廓输出着色器生成在渲染颜色图像上合成的轮廓图像。

contour_composite
"contour_composite" (
    boolean         "glow",
    boolean         "maxcomp")
glow
如果设定为启用,将使得所有轮廓在边附近变得较暗且更透明,从而创建了辉光效果。
maxcomp
如果设定为启用,则指定当某轮廓位于另一个轮廓上方时,应使用两种颜色(在每个色带中)之间的最大值。如果未指定 maxcomp(或设定为禁用),则使用普通的 Alpha 合成。

PostScript 轮廓

轮廓输出着色器 contour_ps 可创建具有黑色轮廓的 PostScript 代码。可以通过一条用于指定文件类型 ps 的单独输出语句将 PostScript 代码写入文件。该着色器不接触渲染的颜色帧缓冲区。

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
缩放 PostScript 输出。默认值为 1。
paper_transform_b
paper_transform_d
根据矩阵
( b )
d
变换 PostScript 坐标,其中,bd 分别代表参数 paper_transform_b 和 paper_transform_d。这可以补偿打印略微倾斜的打印机。
title
如果设定为启用,确定是否写入标题(包括文件名和帧编号)和图像周围的框。
landscape
如果设定为启用,将使得输出为横向模式而不是纵向模式。
ink_stroke_dir
如果设定为一个非零向量,将使得每个轮廓线段的厚度取决于其方向;这可以实现墨笔外观。轮廓线在笔画方向最宽。
ink_min_frac
指定“墨水外观”轮廓线在垂直于 ink_stroke_dir 方向的粗细(相对于最大粗细)。
file_name
指定向其写入轮廓的 PostScript 文件的名称。

例如,若要以全比例获取 A4 纸张大小的 PostScript 文件,请在摄影机定义中使用以下语句:

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, 2015 NVIDIA ARC GmbH. All rights reserved.