PBRT-01 编译PBRT-V3 并渲染出一个Demo

1.1 网页电子书

PBRT的网页版的电子书 : http://www.pbr-book.org/3ed-2018/contents.html,在这里是Physical Based Rendering,Third Edition,学习的话可以参照这里的看书也行。

1.2 安装环境

我的开发环境是:Win7  VS2017 CMake3.11.

1.3 过程

1.3.1    首先我们要去Git上边讲源代码给Clone下来,对应的地址是 git clone --recursive https://github.com/mmp/pbrt-v3/,对应的代码和依赖比较多,等会儿你就会发现在你clone的目录下边会出现pbrt-v3文件夹:

PBRT-01 编译PBRT-V3 并渲染出一个Demo_第1张图片

1.3.2    这样子我们就获得了我们需要编译的源码,接下来我们要做的事情就是用CMake Generate出来一个Solution 解决方案,首先我们进入到pbrt-v3目录,新建一个如下图的文件夹:

PBRT-01 编译PBRT-V3 并渲染出一个Demo_第2张图片

上边的这个build的文件夹就是我们需要放最终生成我们解决方案的地方,接下来我们需要做的是用CMake来生成对应的的解决方案,我们打开CMake:

PBRT-01 编译PBRT-V3 并渲染出一个Demo_第3张图片

在“where is the source code”这里选择你的pbrt-v3对应的目录, 而下边的就相应的选择你刚刚新建的build的目录,这个目录就是即将生成解决方案的目录,接着,你点击下面对应的Configue,这样对应右边的进度条,等待配置加载解析完成了之后,你只要genarate然后选择对应的VS的版本就会生成对应的解决方案了,然后你到对应的build目录下边,就会看到如下图所示的解决方案和项目文件:

PBRT-01 编译PBRT-V3 并渲染出一个Demo_第4张图片

接下来的事情就相对比较简单了。

1.3.3    接下来我们用VS2017打开对应的PBRT-V3.sln 解决方案文件,得到如下图所示的各个解决方案:

PBRT-01 编译PBRT-V3 并渲染出一个Demo_第5张图片

得到这些工程之后我们只需要生成pbrt_exe,你可以选择生成对应的Debug和Release版本,生成完成之后就可以在build文件夹下面得到对应的PBRT-01 编译PBRT-V3 并渲染出一个Demo_第6张图片

Debug和Release文件夹,里边就有对应的pbrt.exe,到这里我们的pbrt的程序就已经编译完成。

1.4 测试PBRT的渲染

pbrt渲染是基于一种特定格式的场景描述文件的,在这里他们命名为xxx.pbrt(至于pbrt文件的详细解释在这里先不详细的介绍了),至此你只要去对应的pbrt-v3/scenes 目录下边你就会发现里边存在一个xxx.pbrt文件,对这个文件就是让你来测试的,然后我在网上找了个cloud.pbrt的文件,然后在cmd如下图运行(我是用的Release版本这样子速度回稍微快些):PBRT-01 编译PBRT-V3 并渲染出一个Demo_第7张图片

运行完了之后你就会在当前目录下边得到对应的cloud.exr,该文件就是你最终渲染出来的结果,我是在photo shop里边查看的,具体结果如下图:

PBRT-01 编译PBRT-V3 并渲染出一个Demo_第8张图片

接着我渲染了一个BathRoom,我们也一起来看看bathRoom的渲染效果如下:

至此我们就已经完成了PBR的编译和用它渲染出来了个一个Demo,接下来我们就一起来学习学习PBRT里边的知识了。

 

 

 

 

 

你可能感兴趣的:(Graphics)