Pov-ray 中的 image_map 未按预期工作

问题描述

我想将我拥有的图像映射到 Pov-ray 中的框的表面。

图片尺寸为 1500x1125 (Example Image)

所以我设置了一个场景,在相机上方有一个光源看着一个盒子

camera{location <3,1.8,0> look_at <3,1>}
light_source{<3,20,0>  color rgb <1,1,1>}
Box{<0,0> <1,0.75,1> texture{pigment{image_map{png "Test1.png"}}} translate <2.5,1.425,3>}

框的尺寸为 1x0.75(z 不相关),与图像的比例为 4:3。

然而,在渲染场景时,图像的宽度完美地映射到框上,但部分高度被切断了。图像看起来没有拉伸,我很困惑为什么它不适合。

解决方法

IIRC,porvray 将始终读取图像,就好像它们具有 1:1 的纵横比一样。 如果你在你的颜料声明中插入一个刻度,在使用它之前,它应该修复它:

box{
   <0,0> <1,0.75,1> 
   texture{
       pigment {
           image_map{png "Test1.png"}
           scale <1,1>
       }
   } translate <2.5,1.425,3>
}

(我很抱歉现在没有对此进行测试以确保确定)。