NSTR
开始非序列模式追迹,并能够将数据保存到ZRD文件。
语法:
NSTR surf, source, split, scatter, usepolar, ignore_errors, random_seed, save, savefilename, filter, zrd_format
详述:
surf是一个整数值,表示非序列模式表面的编号。如果程序模式为非序列模式,surf设为1。source是指所需光源的物体编号。如果source设为0,则会追迹所有光源。如果Split不为0,则开启光线分裂,否则关闭光线分裂。如果Scatter不为0,则开启散射,否则关闭散射。如果Usepolar不为0,则使用偏振,否则关闭偏振。如果开启光线分裂,将自动选择偏振。如果ignore_errors不为0,则忽略几何错误,若ignore_errors设为0,在光线发生错误时,将终止非序列模式追迹和宏执行,并且出现错误信息提示。
如果random_seed为0,则随机数生成器将使用随机数做种子,并且每次调用NSTR都将生成不同的随机光线。如果random_seed是0以外的任何整数,则随机数生成器将使用指定数值做种子,并且每次调用NSTR都将生成相同的光线。使用NSTR进行优化时,建议将random_seed设为非0值。
如果save省略或者为0,则不需要提供参数savefilename、filter和zrd_format。如果save不为0,则光线将保存到某个文件中。保存的数据文件名称为savefilename所指定的名称。文件命名规范和目标文件夹与"将光线数据保存到文件(Saving ray data to a file)"中描述的相同。应提供savefilename的扩展名,但不包含路径。如果save不为0,则可选的filter名称可以是包含过滤的字符串变量或者双引号内的过滤字符。如果不使用过滤,则输入一对空的双引号,比如:""。如需了解有关过滤字符串的更多信息,请参阅"过滤字符串(The filter string)"。对于ZRD文件,zrd_format可以是0、1或2,分别表示不压缩全部数据、压缩基本数据或压缩全部数据。如需了解有关ZRD格式的更多信息,请参阅"光线数据库(ZRD)文件(Ray database (ZRD) files)"。
NSTR在进行光线追迹之前始终调用UPDATE,以确保所有物体都已经正确加载和更新。
相关函数:
NSTR2
NSDD
示例:
NSTR 1, 0, 0, 0, 0, 1, 0, 1, "saverays.ZRD", "h2"
下一部分: