POV-Ray

POV-Ray，全名是，是一个使用光线跟踪绘制三维图像的开放源代码自由軟體。运行POV脚本语言。它是基于DKBTrace来开发的，DKBTrace是由David Kirk Buck和Aaron A. Collins编写在Amiga上的。POV-Ray早期也受到了Polyray raytracer作者Alexander Enzmann的帮助。很多漂亮的图片就是由POV-Ray来制作的。

历史 
该软件最初发展始于80年代，是一個歷史悠久的三維算圖引擎。David Kirk Buck下载了一个为Unix编写的Amiga光线跟踪软件的原始碼。当他玩了一段时间后，他觉得应该自己写一个类似软件，以自己的名字縮寫命名為DKBTrace，以。於是他將它贴在了一个電子佈告欄上面，以为别人也許对它感兴趣。1987年，Aaron Collins下载了DKBTrace然后开始了x86机器的移植工作。他和David Buck一起合作为它添加了更多功能。

这个软件越來越流行，他们已经为了加新功能而应付不过来。1989年7月，David把这个軟體变成了一个程序员团队合作的項目。这时候，他觉得繼續用自己的名字来命名不甚妥當，因為他已不再維護此軟體。所以考虑了很多新的名字。最初打算使用「STAR-Light」（为动画和渲染而生存的软件：Software Taskforce on Animation and Rendering），但是最后变成了「持续不断更新版本的光线跟踪引擎Persistence of Vision Raytracer」，简写为「POV-Ray」。

POV-Ray是第一个在空间轨道渲染出图片的光线跟踪软件，由马克·沙特尔沃思在国际空间站渲染。

特征 
POV-Ray不像一般的3D軟體有圖形化使用介面，其使用自有腳本語言來描述場景。POV腳本語言具備圖靈完備性，可以編寫巨集以及迴圈程式。
 支援幾種幾何元素以及構造實體幾何。
 物件表面的折射、反射。
 支援TGA、PNG影像格式

当前版本 
最新的版本是3.7。
 支援多核心CPU對稱多處理。
 新增高動態範圍成像（HDRI）格式如OpenEXR和Radiance輸入與輸出。

基元

场景描述语言（Scene Description Language）例子 
下面的例子给出了场景描述语言（Scene Description Language）在POV-Ray的一个应用实例。展示了使用视角，光源，一个简单的方块模型和缩放，旋转，平移变换的效果。

 #version 3.6;
 #include "colors.inc"
 global_settings { assumed_gamma 1.0 }
 
 background   { color rgb <0.25, 0.25, 0.25> }
 
 camera       { location  <0.0, 0.5, -4.0>
                direction 1.5*z
                right     x*image_width/image_height
                look_at   <0.0, 0.0, 0.0> }
 
 light_source { <0, 0, 0>
                color rgb <1, 1, 1>
                translate <-5, 5, -5> }
 
 light_source { <0, 0, 0>        
                color rgb <0.25, 0.25, 0.25>
                translate <6, -6, -6> }
 
 box          { <-0.5, -0.5, -0.5>
                <0.5, 0.5, 0.5>
                texture { pigment { color Red }
                          finish  { specular 0.6 }
                          normal  { agate 0.25 scale 1/2 } }	
                rotate <45,46,47> }

下面的脚本片段展示了使用变量声明，赋值，比较和while循环结构。

 #declare the_angle = 0;
 
 #while (the_angle <= 360)
 	box {   <-0.5, -0.5, -0.5>
 		<0.5, 0.5, 0.5>
                texture { pigment { color Red }
                          finish  { specular 0.6 }
                          normal  { agate 0.25 scale 1/2 } }
 		rotate the_angle }
 	#declare the_angle = the_angle + 45;
 #end

外在连结 
 正式网址

三维图像软件
自由三維圖形軟體
带有代码示例的条目