vs2010 编译 SALVIA源码

关于SALVIA

  SALVIA is a pure object-oriented software 3D renderer with a programmable pipeline only. 

  Interfaces, operations and parameters of it take advantage of modern graphics APIs such as D3D 10 and OpenGL。

  (PS: From SALVIAgoogle code主页

  SALVIA是一款光栅化的软件渲染器,设计目标是达到Direct3D 10/11的核心功能的实现。我们的设计目的主要包括以下几点:

  一个高度可移植的光栅化图形管线的软件实现

  图形硬件工作原理的展现和教学

  为下一代Many CoreLarrabee类的多x86处理器架构的计算设备提供高性能的图形绘制能力

  提供在GPU一类的流处理器上难以实现,但在Many Core架构的设备上有着显著优势的Features

  比图形API更加易于使用的接口

  与复杂的渲染技术(如辐射度和光线追踪等)相结合的可伸缩的渲染体系,研究可以提供速度-质量相均衡的渲染架构

  SALVIA的接口参照了DX10的设计,以流水线划分Stage;每个Stage及其相关设施的接口,均采用了Object-Oriented的设计风格。
这种设计与D3D9OGL的状态机风格的设计相比更易于使用,同时也降低了流水线前后级的耦合,对于优化或扩展都是有利的。(PS: From 开源中国社区)

  空明大和龚大等都参与了开发(无限膜拜ing)

 

注意事项:

  之前在xpvs2008编译SALVIA源码遇到很多问题,后来在Q上联系空明大,空明大建议最好是用vs2010。一些依赖库是基于vs2005vs2010的,建议还是vs2010

 

安装所需:

  (*注意以下都是用于32位系统的,64位的请到官网找相关版本,sourceforge等有时是需要FQ的,请自带梯子)

  boost 1.51    下载地址http://sourceforge.net/projects/boost/files/boost/1.51.0/

  (PS:空明大说SALVIA项目会尽量保持boost的最新版本,所以这里使用boost的 1.51)

  (PPS:不需要先编译boost SALVIA会一站式编译的。当然你如果之前编译过,下面会重编译一边- -)

  Python 2.7  下载地址http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi

  cmake 2.8   下载地址http://www.cmake.org/files/v2.8/cmake-2.8.10.1-win32-x86.exe

  tortoiseHg 2.5 下载地址:http://bitbucket.org/tortoisehg/files/downloads/tortoisehg-2.5.1-hg-2.3.2-x86.msi

 

安装步骤:

  1. 解压boost 放到配置起来比较方便的目录。

 

  2. 安装python。安装完成后设置环境变量的PATH,添加Python的目录。(PS 环境变量的设置如果不熟悉,google)

 

  3. 安装cmake。安装完成后设置环境变量的PATH,添加cmake目录的下bin的目录到PATH,注意不是cmake目录,而是cmake下的bin目录。

 

  4. 安装tortoiseHg,进SALVIAgoogle code 主页 https://code.google.com/p/softart/,找到source选项,复制SALVIAhg clone的地址,这里我直接贴上https://code.google.com/p/softart/ 。找一个平常放工程的文件夹,右键你可以看到tortoiseHg的选项。选子菜单中的clone选项,弹出一个对话框,让你输入想要clone的地址,和放代码的目录,clone的地址即https://code.google.com/p/softart/ ,放代码的目录看个人的情况 (PS: download页面可以直接下载SALVIA SampleDemo,运行看效果。)

 

  5. 当Hg Clone完 在SALIVA源代码目录下,你将会看到名为build_all.py的文件,直接双击运行(不要通过命令行,否则会造成参数接受不正确),同级目录下生成proj.py文件,用记事本打开,修改其中的配置。配置是关于编译器,操作系统,boost目录和cmake目录的。要根据具体情况配置,下面给下的我的配置,以作参考。

 

################################################

# !!!! DO NOT DELETE ANY FIELD OF THIS FILE !!!!

################################################

 

boost_root     = 'E:/boost_1_51_0'

build_root     = '.\\build'

install_root        = './'

arch     = 'x86'     # or 'x86'

toolset     = 'msvc-10.0'    # toolset = 'msvc-10.0', 'msvc-9.0', 'msvc-8.0', 'gcc-4.3', etc, or None.

config     = 'Debug'

cmake     = 'E:/CMake 2.8/bin'     # Path of cmake executable. Environment variable PATH is available on windows platform. 

配置完成,保存文件。

 

  6.    运行build_all.py (PS:不是proj.py) 开始编译boostSALVIAdll20-30min之后大约完成(PS:本人i5,所以建议中午去吃饭之前编下。。)。这步完成之后,下面开始编译LLVMLLVM下下面编译sampledriver等的依赖项,所以需要先编译。

 

  7.    打开cmakegui,里面的source目录选择SALVIA\3rd_party\llvm , build目录按自己喜好。然后点击guiconfigure按钮,选择要生成的项目的编译器,5min之后configure完成后;点击Generate按钮,生成项目(PS:vs而言就是对应的sln)

 

  8.    打开刚才cmake build所在目录,打开项目编译SALVIA的编译依赖项LLVM,编译时间在15分钟。(PS: 你可以选择去买个早点。。)

 

  9.    准备工作已经完毕,打开SALVIA源码目录下的build目录 salvia_ntx86_msvcX 目录,打开其目录下的salvia.sln项目。 然后设置全局的dx include目录和llvm include目录(PS: 刚才build生成的include和原llvm include目录都要加进来),设置全局的lib目录,即刚才LLVM编译成功的lib目录。

 

  10.   设置工作完成之后,右键sln,点击build。等一段时间之后,编译工作完成。生成的SampledllSALVIAbin->ntx86->Debug 目录下。

 

  下面码效果图一张。

    

 

  最后3P一下,错了。。PS一下: debug模式下,运行程序很慢,如果想要看效果建议还是自己buildrelease模式的,或者直接在SALVIAgoogle code 官网下载release版本,大概24M

  在此深深感谢空明大的指导,和龚大的鼓励。

  也”感谢”GFW,为中间的过程平添许多插曲。

 

参考资料:

  SALVIA群号:22059645

  http://www.cppblog.com/lingjingqiu/archive/2012/01/12/162868.html

posted @ 2012-11-09 11:41  singmelody  阅读(620)  评论(0编辑  收藏  举报