<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
因为工作的需要,在网上找了个使用GPU实现光线追踪的代码GPU RayTracer,GPU Shading是通过HLSL实现的,界面采用了wxwidget实现跨平台。虽然这个工程的代码是2005年刚刚公布的,那时gpu的shading技术还没有像现在这样丰富,但作者通过GPU实现光线追踪的方法仍然值得借鉴。
这里介绍一下如何让它正常工作。
我用的是vs 2005,所以为了正常的编译,需要对代码作些修改。
1.首先自然是将下载的压缩包GPURT-1.1.0-alpha4-src.zip解压缩,这里;
2.然后直接打开sln文件,vs2005会对工程文件自动进行转换的;
3.先尝试对代码进行编译,会发现有些与vc2005不兼容造成的错误,比如“不允许缺省的函数返回值类型为整型”,“函数的参数缺乏相应类型”,“循环中的下标可以在for指令内定义”等,改起来也容易,没有定义的添加上定义,没用到的直接注释掉。
对于其中pow函数缺少整型参数下的重载问题,直接定义一个函数进行重载就行了。
这里介绍一下如何让它正常工作。
我用的是vs 2005,所以为了正常的编译,需要对代码作些修改。
1.首先自然是将下载的压缩包GPURT-1.1.0-alpha4-src.zip解压缩,这里;
2.然后直接打开sln文件,vs2005会对工程文件自动进行转换的;
3.先尝试对代码进行编译,会发现有些与vc2005不兼容造成的错误,比如“不允许缺省的函数返回值类型为整型”,“函数的参数缺乏相应类型”,“循环中的下标可以在for指令内定义”等,改起来也容易,没有定义的添加上定义,没用到的直接注释掉。
对于其中pow函数缺少整型参数下的重载问题,直接定义一个函数进行重载就行了。