*.pov
我有一个代码,它使用 POV-Ray生成一堆用于可视化的文件。不幸的是,它们具有不同的纵横比(宽度/高度)。该信息以上/右向量的形式存在于脚本中。然而,当我渲染一个没有任何额外参数的脚本时,即 through povray test.pov
,POV-Ray 会强制使用标准的 4/3 纵横比。因此,图像失真。
问题:脚本是否可以通过任何方式请求特定的纵横比或分辨率?
*.pov
我有一个代码,它使用 POV-Ray生成一堆用于可视化的文件。不幸的是,它们具有不同的纵横比(宽度/高度)。该信息以上/右向量的形式存在于脚本中。然而,当我渲染一个没有任何额外参数的脚本时,即 through povray test.pov
,POV-Ray 会强制使用标准的 4/3 纵横比。因此,图像失真。
问题:脚本是否可以通过任何方式请求特定的纵横比或分辨率?
我就是这样做的(对不起,迟到的答案):
在 .pov 文件中,指定“up”和“right”关键字:
camera {
up <0,9,0>
right <16,0,0> // right,up -> 16:9
}
此外,我在 .ini 文件中指定了输出的高度和宽度:
Width=1600
Height=900
如果不想使用 .ini 文件,也可以在命令行中指定高度和宽度:
povray -H900 -W1600 ...
也许这更接近您的脚本解决方案。
正如@Fabian 所说,您可以使用image_width
and image_height
。下面将假设像素是正方形的。然后任何+H
和+W
设置最终都会在边缘裁剪图像,同时保持高度相同:
camera {
location <0, 2, -3>
look_at <0, 1, 2>
right image_width/image_height*x
}
我个人不明白为什么这样的东西不是默认设置,因为大多数人关心像素的形状而不是目标屏幕的纵横比。即,我可能正在制作一个应该只填充屏幕一小部分的图像,但我的像素是正方形的——那么上面的方法就可以了。或者,如果您的像素是高度的两倍,则只需使用right 2*image_width/image_height*x
(具有此类像素的显示器会有效地沿 X 轴拉伸图像,因此如果您在具有方形像素的显示器上查看该图像,它会沿 X轴)。
从文档:http ://www.povray.org/documentation/view/3.6.0/153/
您可以在相机块中使用“right”关键字设置纵横比。为图像尺寸设置正确纵横比的一般方法是:
camera
{ right x*ImageWidth/ImageHeight
(other camera settings...)
}