我想使用Pov-Ray生成可用于任何背景颜色的网站图片。这些图片需要具有透明背景,但在透明平面表面上反射和投影阴影。在Pov-Ray(3.7)中,您可以通过在povray.ini文件中设置Output_Alpha=True并输出为png文件来设置背景透明。您甚至可以使用Clear颜色在平面上(或任何其他对象上)获得透明反射表面。但是,如果将对象的颜色设置为Clear,则不会对其投射阴影。是否可能在透明对象上投射阴影?
技巧 建议 by m13r 产生非常好的渲染效果,但每次需要进行三次渲染和对场景进行大量更改。这需要时间并且需要相当多的设置。
只需两次渲染即可获得更简单且在某些情况下更好的结果。将背景和地面平面都设置为白色,渲染,然后将它们设置为黑色,再次渲染。假设您在此处切换设置并使用其中一种光定义生成两个文件white.png
和black.png
。
//#declare SceneLight = rgb<1,1,1>
#declare SceneLight = rgb<0,0,0>
background { color SceneLight }
plane {
y, 0
pigment {
color SceneLight
}
}
magick black.png white.png -alpha off \
\( -clone 0,1 -compose difference -composite -negate \) \
\( -clone 0,2 +swap -compose divide -composite \) \
-delete 0,1 +swap -compose CopyOpacity -composite \
transparent.png