POV-Ray 3.7

POV-Ray是一个基于SDL (场景描述语言)的渲染引擎,具有悠久的历史,使其非常稳定和功能丰富。POV-Ray 3.7的最新版本可在 项目网址 中找到。

特性

出口商的一些主要特点包括:

  • 几何导入和导出及其修改器、键控和物理动画

  • 添加POV-Ray特定的非网格基元(从不显示tessellation)

  • 实例项

  • 毛发粒子

  • 烟雾模拟

  • 大气介质(体积雾)

  • HDRI环境

  • 光圈景深

  • 材质属性如过滤、发射、半透明、表面下散射、玻璃雾(着色吸收)、模糊/光泽反射...

  • 程序纹理(从Blender和POV-Ray本机仿真)

  • 图像纹理

  • 纹理影响通道: Alpha、漫反射、凹凸、镜面、镜面(使用与镜面相同的通道)

  • 全局照明:辐射度(间接照明)、光子苛性(反射/折射)、网格灯

  • 自定义POV-Ray代码输入,可访问导出器不支持的任何POV-Ray功能。

POV-Ray 3.7

容积计和介质(散射/吸收)、模糊反射( uberPOV )、运动模糊( uberPOV )、微多角形位移( HGPOV )等。

激活

  • 当然,不要忘记 下载 并安装POV-Ray本身!

  • 打开Blender并转到 "首选项" ,然后转到 "附加组件" 选项卡。

  • 单击渲染,然后复制渲染设置以启用脚本。

用法

快速入门

  1. 从渲染引擎选择器中选择 POV-Ray 3.7。然后,您可以使用 Render 按钮照常渲染。

  2. 将根据 "属性" 中设置的参数渲染图像。

例如,可以在 "渲染" 选项卡中更改主要全局渲染设置。但也有环境、材质(纹理)、对象等的属性,所有这些属性都可以在其他选项卡中访问,具体取决于所选对象(几何形状、相机、光线... )。

POV-Ray 分支

以下是该出口商可用的两个发动机的一些特点的比较:

特征/引擎/支持

POV-Ray

容积计和介质(散射/吸收)、模糊反射( uberPOV )、运动模糊( uberPOV )、微多角形位移( HGPOV )等。

全部

✓ (under development)

超采样

Alpha映射

凹凸贴图

法线贴图

转换贴图

运动模糊

次表面散射 (SSS)

体积光照明

模糊阴影。

✓ (very tricky)

黏塑

景深

混合着色器 节点用于将两个着色器的效果混合在一起。混合可用于材料分层,例如,系数 输入接口可以连接到 混合权重 节点。

薄膜涂层

色散

各向异性

幻彩纹理用得不多。它可以用于 薄膜干涉,如果你设置 映射反射 并使用相关的高数值 紊流,RGB组件将以正弦公式形式独立生成。

复杂模式

absorption()

自定义反射率 90

自定义曲线

✓ (tricky)

✓ (tricky)

西格玛

焦散

环境光遮蔽

✗ (tricky)

✓ (under development)

镜头平移

膜片 圆形/多角形

使用对象坐标的渐变纹理效果。

纹理投影模式

前/侧/顶/摄影机视图

✓ (tricky)

✓ (tricky)

多UV贴图

卡通 仅合成器

✓ (tricky)

✓ (tricky)

程序纹理

合成纹理分层

合成纹理分层

为选定或活动对象添加三点照明。

光照

基于图像照明

物理太阳/天空

✓ (tricky)

✓ (tricky)

HDRI(高动态范围图像)

IES纹理支持

支持

合并

Eevee的目标是成为交互式渲染引擎。在不影响性能的前提下,一些功能还没有加入或不可能整合进Eevee的架构中。

晕眩/开花/眩光(帖子)

✓ (tricky)

✓ (tricky)

相机响应功能(后置)

色彩校正节点。

多线程

区域渲染

被动

发射体

请注意,骨骼的隐藏取决于某种模式的,即你可以在 编辑模式 中隐藏某些骨骼,但它们仍将在 姿态模式 中可见,反之亦然。 姿势模式 中的隐藏骨骼在 物体模式 中也是不可见的。在 编辑模式 中,要隐藏的骨骼必须被完全选择,而不仅仅是他的根部或尾端。

目标物体

精确光源(点光,聚光和定向光源)

rendering/

可以导出的属性(未应用修改器)包括:

渲染属性

辐射

在POV-Ray中, "辐射度" 是漫反射,与基于顶点颜色的辐射无关。实际上,它更类似于辐照度样品的最终收集并且提供无噪声间接光。

包括一些无线电性的预设值,它们的名称和设置是 rad_def 包括随POV-Ray附带的文件,它们设置了属性,因此您不需要在导出的POV文件中包含 rad_def.inc ,这是像Blender这样的界面可以为所有不习惯使用POV-Ray的用户带来的众多示例之一。

See also

More details on POV-Ray Wiki.

抗锯齿

支持三种抽样方法:

  • 在简单、非递归的方法中, POV-Ray最初会跟踪每个像素的一个射线。如果像素的颜色与其邻居(向左或向上)至少不同设定阈值,那么通过投射给定的固定数量的额外光线对像素进行超采样。默认阈值为0.3 ,但可以使用此 Antialias_Threshold = n.n 选项进行更改。

  • 级联

  • 随机(蒙特卡洛)仅适用于UberPOV。

采样

值必须包含在1和9之间。值越高,渲染时间越长,甚至可能会引入一些不希望的模糊。

反锯齿阈值

在简单、非递归的方法中, POV-Ray最初会跟踪每个像素的一个射线。如果像素的颜色与其邻居(向左或向上)至少不同设定阈值,那么通过投射给定的固定数量的额外光线对像素进行超采样。默认阈值为0.3 ,但可以使用此 Antialias_Threshold = n.n 选项进行更改。

See also

More details on POV-Ray Wiki.

Tip

无抗锯齿的景深

开启摄像机景深时不使用抗锯齿功能将加快渲染速度,并经常提供足够的图像。

边界框

也称为加速,由导出器设置为自动BSP (二进制空间分区) ,因为它通常是最有效的(仅POV-Ray 3.7 ) ,但POV-Ray中提供了其他加速方法。

See also

More details on POV-Ray Wiki.

命令行开关

某些命令行参数可以传递给POV-Ray。参数用空格分隔。命令行开关由 / (斜线)、 + (加号)或 - (减号)符号组成,后面有一个或多个字母字符,可能还有一个数字值。

See also

More details on POV-Ray Wiki.

一些常用的命令:

-D: 渲染时隐藏图片

使用此命令行开关可在POV-Ray中不显示渲染的图像(在内存上稍微更快、更轻)。完成后,图像将被发送回Blender (在Linux上,这是一个隐藏的默认开关,以避免操作系统特定的编辑器问题)。

"+WT":限制使用的线程数

将POV-Ray限制为仅使用一个渲染线程。(同样, + WT2 将指示POV-Ray使用两个渲染线程。)

"+ C":继续中断的渲染

因为 "继续跟踪" 能够恢复上次渲染停止的点并从那里继续(即使您关闭了计算机)。

"/退出":渲染图像后关闭 POV 射线

POV-Ray for Windows界面中也有一个同样的选项: "完成时" 选项中的 "退出POV-Ray for Windows" (在 渲染 菜单中)。

Tip

快速预览渲染

首次设置场景时,若要快速进行预览渲染,请关闭抗锯齿、景深、光子、Radiosity、昂贵的材质功能,并在场景着色面板中关闭阴影。(在导出器的未来版本中,此面板可能会关闭其他功能。)

Alternatively, use the Quality command line switches +q1 to +q11. These allow you to easily disable most of the CPU-intensive features.

格式设置

可以自定义导出的 POV-Ray 文档:

  • 不同缩进字符可供选择。

  • 用于向 POV-Ray 文档添加注释的选项。

  • 在一行中写入长列表坐标的选项,以便于浏览POV文件(以及由渲染器稍微更快的解析)。

场景属性

色彩管理

目前应始终使用sRGB。

世界属性

背景

Blender 世界 出口:

  • 作为POV-Ray 背景{} (如果扁平着色)。

  • 使用Blender的 Blend Sky 选项可将其导出为POV-Ray sky_sphere {}

(Sky texture currently appears a little different because of its mapping).

大气浑浊度。

(To create volume lights):

  • 在最终渲染中使用的样本数。

  • 大气介质颜色。

物体属性

重要性采样

这是一个介于0和1之间的优先级值,可以在 Radiosity 的 对象 属性选项卡中为每个对象设置,以在最需要的对象上投射更多的光线。在尝试改善渲染时间时,请仔细触摸此图标。

每个物体与其关联的 物体数据 都有联系,多个物体可能会共享单个物体数据。

脚本导出天空、光源、毛发颗粒、烟雾、液体、网格、斑点(代谢球)。

相机

景深

必须启用它才能执行以下属性:

视野深度的焦点基于Blender UI Distance 字段或 Object 字段。

光圈

设置模糊量(增加以获得更多)。

摄 动

相机平面的法线贴图,本机POV程序模式可以与变量一起使用:

  • 强度

  • 紊流

  • 比例|缩放

灯光

任何阴影切换按钮都不能仅用于停用特定光源的阴影跟踪。

Tip

为了实现真实的光线衰减

使用反向平方衰减,并且具有较高光强度的小衰减距离值将通过POV-Ray实现反向平方定律而产生最佳结果。请参阅此 讨论

烟雾材质

导出DF3文件( POV-Ray体素格式)并与具有与Blender烟雾域相同尺寸和分辨率的POV-Ray介质容器一起使用。

毛发

POV-Ray sphere_sweep 的联合导出并用于每个股。它们可以采用应用于发射对象的纹理的颜色,并且球体扫描的形状尝试模拟股线的形状。

材料属性

自发光(发射)

Tip

全局照明:辐射度(间接照明)、光子苛性(反射/折射)、网格灯

当与Radiosity一起使用时, Emit属性将允许您创建灯泡或任何真正照亮其他物体的发光形式。

SSS

请注意, POV-Ray (称为SSLT )中的SSS非常敏感,如果网格法线是光滑的或平坦的,则会产生不同的结果。

半透明

从曲面到曲线偏移的距离。

See also

More details on POV-Ray Wiki.

IOR

此选项用于使用一个一致的IOR进行光线跟踪反射和折射,并且不违反两者之间的能量保存定律。

彩虹色

(Newton's thin film coating.)

焦散

  • 和反射焦散基本原理相同,但是折射的情况。

  • 快速的假苛性(有点像Blender Ray Transparency )

  • 和反射焦散基本原理相同,但是折射的情况。

  • 使用光子的反射苛性(高IOR或无镜像IOR ,效果更轻松)。

Tip

更快的光子

要设置一些苛责,尝试从最小的光子深度值移动到你开始看到你所追求的效果的最小值。勾选任何不需要的对象的 接收光子 物体属性。(然后你可以平衡其他参数来调整光子分布和平滑(聚集)。不要在场景设置中把全局间距设置得太细,因为这样你仍然可以在每个物体上使用其间距乘数使其更细。如果你的系统有几个线程,它们可以在光子阶段使用:每个灯一个线程,这样你就可以在没有开销的情况下使你的场景照明更加复杂。

着色器

贝塞尔曲线制作的Blender logo。

  • 镜面和漫反射(还没有边缘)

  • Phong和Cook Torrance (相同)

  • 布尔(不完全匹配)

  • 沃德各向同性

  • Fresnel和Minnaert ,开始但尚未完成

Tip

类似玻璃的材料

当尝试获得一些像材料一样的玻璃时,请保持低扩散值,黑色或完全黑色,以避免枯燥的表面,并保持清晰的透明度。

纹理属性

UV 坐标

目前最适合平面投影。(Silvio Falcinelli)

当使用材质节点定义材质时,可以使用这些命名输出。在这个例子中,可能不会使用纹理通道。而是使用 添加 ‣ 输入 ‣ 纹理 ,将纹理节点插入材质节点树中。在刚添加的纹理节点内,可以选择要使用的输出(如,漫反射或法向)。

当前导出的纹理影响包括: Alpha、Diffuse、Bump、Specular、Mirror (使用与Specular相同的渠道)。(由于他们的POV-Ray不统一语法,没有其他通道。)

Gamma

对于图像纹理(使用前请阅读POV-Ray 3.7文档,因为通常不需要使用)。

See also

More details on POV-Ray Wiki.

自定义代码POV

POV-Ray文件不仅仅是纯数据文件(与大多数其他渲染器不同)。它们是具有循环、功能等的程序。这意味着,无论该出口商可以支持多少功能, POV-Ray在引擎盖下总是有更多的功能。

Video Tutorial

Here is a demonstration of the exporter by SMcA. This video is currently being worked on and may get replaced in the future.

一步一步的介绍

您可以直接在Blender的文本编辑器中添加自定义POV代码,您只需确保此POV代码直接或间接具有 # declare 关键字,然后是您选择的名称和您要使用的POV项目。(当前的POV语法比Python更接近C ,因此任何跟随两个斜杠字符( // )的字符都是注释。)

从包含文件中添加POV代码

POV项目可以是任何东西,但目前只能使用此方法替换等效的Blender材质。在POV-Ray中,它被称为 "纹理" ,不要混淆,它包含所有材料属性。

虽然您可以在POV-Ray文件中直接指定 "纹理{}"块,但 # declare 指令允许将其分配给变量并更容易地重复使用。导出器默认使用此功能,因此除非您声明,否则您将无法使用自定义纹理。下面是一个例子:

#declare MyTexture =
texture{
    pigment{
        brick color rgb< 0.99, 0.99, 0.99>  // color mortar
        color rgb< 0.75, 0.5, 0.30>*0.75  // color brick
        brick_size <0.25, 0.0525, 0.125> // format in X, Y and Z-direction
        mortar 0.01                      // size of the mortar
        scale 3
    } // end of pigment
    normal {wrinkles 0.75 scale 0.01}
    finish {ambient 0.15 diffuse 0.95 phong 0.2}
    rotate<0,0,0>  translate< 0.01, 0.00, 0.00>
} // end of texture
  1. 文本编辑器 ‣ 侧边栏 ‣ 开发 标签

  2. 在文本视图属性选项中,您可以选择渲染3D视图和/或文本。启用 两者

  3. 语法高亮检测 pov/inc/mcr/ini 扩展。

  4. 一些完整的POV-Ray场景可用于模板标题菜单。

  5. 以及插入菜单,只需在光标的位置添加一些POV代码段。

  6. 然后,您需要进入 自定义POV代码 字段的材质属性,只需键入要使用的声明项目的名称:给出的示例中的 "MyTexture"。然后,您可以正常渲染图像,并将替换材质。

Blender和POV-Ray不具有相同的坐标系统: POV是Y ,而Blender是Z ,因此预期文本生成的内容不会与导出的UI项目相同,因为导出器向所有导出的实体添加变换矩阵。因此,如果您希望通过查看界面更直观地指定方向,则必须在自定义块的末尾指定一些变换,例如:

scale <-1, 1, 1>
rotate <90, 0, -90>
}

从包含文件中添加POV代码

在任何POV-Ray场景中,您可以使用`#include`指令来添加来自外部POV-Ray文件的项目。这就像Python中的import函数。要包含的文件以 .inc 作为其名字的扩展名。然后在替换字段中,您可以键入包含文件中可用的任何声明名称。"Out of the box",POV-Ray提供了大量的include文件。因此您可以将它们用于您的纹理,但您也可以将它们用于某些元素。例如,一个非常常用的包含文件是允许用它们的名字而不是数字来调用颜色的,叫做 colors.inc ,所以前面的例子也可以写成。

#include "colors.inc"
#declare MyTexture =
texture{
    pigment{
        brick color White*0.99  // color mortar
        color rgb< 0.75, 0.5, 0.30>*0.75  // color brick
        brick_size <0.25, 0.0525, 0.125> // format in x, y and z- direction
        mortar 0.01                      // size of the mortar
        scale 3
    } // end of pigment
    normal {wrinkles 0.75 scale 0.01}
    finish {ambient 0.15 diffuse 0.95 phong 0.2}
    rotate<0,0,0>  translate< 0.01, 0.00, 0.00>
} // end of texture

其他一些POV-Ray特定对象也可用:在POV-Ray中,三角形网格只是许多原始对象中的一个。您可以通过修改输出文件来探索POV-Ray语言,使用相同的方法,手动添加这些基元,也可以从 添加 菜单中选择一些。

POV-Ray

3D视口中的 "添加" 菜单允许您添加POV-Ray特定对象以及本机Blender对象。

它们是数学上定义的形状,而不是网格。球体、环形、圆柱体或圆锥体侧面在渲染时始终是圆形光滑的,无论您离它们有多近,也不管它们在3D视口中的外观,这只是代理。

这些对象是导入POV-Ray文件时创建的对象类型,因此理想情况下,您可以在POV-Ray和Blender之间来回 "交换" 数据。

无限平面

渲染的平面实际上是无限的,但在3D视口中由代理表示,它只是非常大,但仍然是有限的。如果您希望使用不同的默认量表,请报告。

See also

More details on POV-Ray Wiki.

方框

基于网格立方体,可以使用移动/旋转/缩放转换对象

See also

More details on POV-Ray Wiki.

球形

球体具有半径参数、位置和刻度。

See also

More details on POV-Ray Wiki.

柱体

在POV-Ray中,圆柱体由半径、基点和终点定义。为方便起见,移动/旋转/缩放也可用于相同的效果。

See also

More details on POV-Ray Wiki.

锥形

锥体具有基准半径和末端半径。

See also

More details on POV-Ray Wiki.

环体

环体的横截面半径。

See also

More details on POV-Ray Wiki.

参数

这是一个由三个数学方程组合产生的表面。

See also

More details on POV-Ray Wiki.

彩虹

彩虹是一种视图相关效果。

See also

More details on POV-Ray Wiki.

车床(Lathe)

此对象的行为类似于Blender Screw修改器,可通过旋转样条来创建表面,除非它遵循样条的数学曲线,因此无论缩放多近,您都不会看到任何多边形。

See also

More details on POV-Ray Wiki.

棱镜

这是一款POV光线原始设备,只需挤出形状即可。

See also

More details on POV-Ray Wiki.

超二次椭球

A quite versatile tool that can provide quick models for cushion or star shaped objects.

See also

More details on POV-Ray Wiki.

高度场地(Height Field)

这是表面在纹理之后的位移。Tessellation也发生在渲染时间,因此您以前不需要细分任何内容。

See also

More details on POV-Ray Wiki.

球面扫描

这款POV-Ray原始光线扫描球体,其长度与样条一样长,以创建可沿样条具有半径变化的插值形式。它也用于输出发绳。

See also

More details on POV-Ray Wiki.

球团

融球

See also

More details on POV-Ray Wiki.

等值面

在POV-Ray中,等表面是可以使用颜料或方程组合和变形的对象。

See also

More details on POV-Ray Wiki.

等值面盒

等值面盒

等值面球

等值面球

超环面 Supertorus

形状为环形的等表面,其变形参数等同于超椭圆体的参数。

POV-Ray 3.7

MajorRadius, MinorRadius

均化半径

MajorControlMinorControl

控制超级托盘的圆度。使用[0, 1]范围内的数字。

精度

精度

MaxGradient

最大梯度参数

基本体

两个基元实际上是宏,在渲染时间之前从曲线生成网格:

  • 定义圆或多边形的顶点数。

  • 放样(Loft)

导入 & 导出文件

  1. 在同一 "添加" 菜单中,您还可以导入POV-Ray文件。

  2. 或者,从顶栏菜单中单击 文件‣导入

  3. 然后,您可以选择一个或多个文件。

参考

类别

渲染

描述:

POV-Ray 3.7

位置

渲染 ‣引擎 ‣ POV-射线 3.7

文档

"测量工具" 文件夹

作者

Campbell Barton, Maurice Raybaud, Leonid Desyatkov, Bastien Montagne, Constantin Rahn, Silvio Falcinelli

许可证

通用公共图书馆

注意

此附加组件与Blender捆绑在一起。