Ubuntu11.10下配置Pbrt1.04

        最近上图像合成课程,需要装Pbrt。在windows下好像挺不好用的,刚好电脑最近装了Ubuntu11.10,在这个系统上配一下Pbrt。

1、安装Pbrt的依赖关系

      Ubuntu11.10下配置Pbrt1.04_第1张图片

     这个命令是安装Pbrt的依赖关系。要编译Pbrt,必须先安装这些依赖关系。

2、下载Pbrt

      下载网址:http://www.pbrt.org/downloads.php 

      我选择了1.04的版本,因为课程上老师推荐用这个。名字是pbrt-src-1.04.tar.gz,1.7M,挺小的。注意保存的目录,这个可以自己选,和windows一样,不管你保存在哪里,待会你自己得找的到。这些都是源码版src的,类似于在windows下下载的src的rar包,解压之后编译。

3、解压Pbrt

     tar.gz文件,解压之。ctrl+alt+t调出终端(terminal),然后使用cd命令,进入你的下载目录下。使用tar -zxvf命令解压文件。


       解压后可以使用ls命令看到下载目录下多了一个文件夹叫pbrt-1.04,你可以使用mv命令将它移动到你想要到地方,如:

       mv pbrt-1.04 /home/app     

       移到任何地方都是可以的,不过有的地方需要权限,在mv命令前加上sudo,如sudo mv 这样就可以以管理员的权限来执行操作了。当然,你也可以不移动,就在当前目录下。

4、修改Makefile文件

      现在,我们进入pbrt-1.04的目录,使用cd命令进入。然后编辑Makefile文件:

               gedit Makefile

      你也可以使用图形界面操作,进入你的pbrt-1.04的目录,然后在Makefile上右键打开。

      将如下两行:

           EXRINCLUDE=-I/usr/local/include/OpenEXR
           EXRLIBDIR=-L/usr/local/lib
          修改为:
            EXRINCLUDE=-I/usr/include/OpenEXR 
            EXRLIBDIR=-L/usr/lib
       保存并退出。因为OpenEXR在ubuntu下的目录不同。

5、编译

       在终端键入命令:    

         make clean ; make
       键入命令之后回车,会开始编译,等待编译完成。
6、设置路径

      设置两个环境变量,表示编译后的程序保存的地方。


      其中PATH变量的路径为$PATH:(你的pbrt安装路径下的bin目录),PBRT_SEARCHPATH的路径为(你的pbrt安装路径下的bin目录)。

7、运行示例程序

       要运行示例程序,需要先下载场景,下载地址为:http://gec.di.uminho.pt/DISCIP/Minf/IFR0708/pbrt/SCENES.ZIP。这个文件比较大,有85.9M,慢慢下吧。

       下载完成后,进入下载目录,使用命令unzip SCENES.ZIP命令解压,解压后在下载目录会出现一个文件夹,名为scenes。使用cd scenes命令,进入此文件夹。

        由于之前已经设置了路径,现在可以直接使用pbrt命令来编译。

        pbrt buddha.pbrt    此命令编译scenes下的buddha.pbrt文件

        待编译完成后,让其可视化:

        exrdisplay pbrt.exr

        这样就会出现图片了:

        

8、OK了

       在scenes目录下,还有很多.pbrt文件,均可使用pbrt (name).pbrt编译,然后使用exrdisplay pbrt.exr命令显示。这样就配置好了pbrt,成功运行了示例程序了。


参考:

http://ubuntued.info/aprenda-a-instalar-o-pbrt-no-ubuntu      主要参考了此网址,上面的语言是葡萄牙语,谷歌翻译吧。

http://blog.csdn.net/samek/article/details/6128869     这里面的问题我还没遇到过,可做为参考。


The End


       

        

你可能感兴趣的:(windows,ubuntu,Path,makefile,Terminal,终端)