<script type="text/javascript" src="/https://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函数缺少整型参数下的重载问题,直接定义一个函数进行重载就行了。

本文介绍了如何让一个2005年的开源GPU光线追踪软件GPURT 1.1.0在VS 2005上正常工作。文章详细阐述了编译过程中遇到的问题,如编译错误、函数重载和wxWidget库的配置,并提供了解决方案。最终展示了CPU与GPU渲染的对比,强调了GPU在渲染效率上的优势。

8789

被折叠的 条评论
为什么被折叠?



