CUDA 交互式光线跟踪

本文介绍了一个使用CUDA实现的光线跟踪代码,包含MFC UI界面和DirectX预览。光线跟踪分为CPU和GPU两种实现,GPU版基于CUDA,针对640*480分辨率提供交互式体验。代码支持阴影、反射、折射和贴图,并能处理多个光源。源代码已开源,可从Source Forge获取。
摘要由CSDN通过智能技术生成

由于最近工作比较繁忙,博客基本不怎么更新了……
这次也不打算写点什么,只是把之前的code开源了,把链接帖在这里,有兴趣的朋友可以check out出来简单看看。
简单列出一些信息吧:
1. 这份代码实现有UI界面,可以进行简单的交互。UI部分是用MFC实现的。
2. 在渲染图片之前,可以实时预览(当然这里不是RT)。渲染是用DX做的。
3. 有两份RT实现,分别基于CPU和GPU。CPU的实现没有用多线程,只是一份naive的算法实现,而且KD树遍历算法不好。GPU的算法实现是基于CUDA的,对于640*480的分辨率,基本可以达到交互式。如果三角形比较少,Cornell box (34)可以完全实时。如果相对多一些的话,例如dragon_on_table(87w),可以达到7-8fps吧。显卡要用NV的260以上吧,至少9800不太够用。
4. KD树是离线创建的,只有遍历过程是在GPU内核做的。
5. 支持阴影、反射、折射、贴图,以及最多两个光源。基本上是一个Whitted RT。
简单上几张图片吧:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值