CUDA 交互式光线跟踪

基于CUDA光线跟踪算法 光线跟踪是目前常用的主流绘制技术之一,由于它能方便地模拟生成复杂的光照效果,生成高质量的图像,在很多领域得到了广泛的应用,如真实感绘制,虚拟现实,可视化,计算机动画等。但光线跟踪算法的计算开销较大,妨碍了其应用效率。光线跟踪渲染的主要运算操作耗费在光线与场景求交的过程中,为此,为了加快这一计算过程,人们研究了大量的技术来加快求交操作。其中,通过建立一定的空间组织结构来加速求交计算机取得了很大的进展 阅读详情

由于最近工作比较繁忙,博客基本不怎么更新了……
这次也不打算写点什么,只是把之前的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。
简单上几张图片吧:
toasters1

glsl-cornell-box:康奈尔盒子在 GLSL 中进行了 raymarched,用于测试 glsl-康奈尔盒 Cornell Box 在 GLSL 中进行了 raymarched,用于测试目的。 。 precision highp float ; uniform vec2 iResolution; uniform float iGlobalTime; #pragma glslify : cornell = require('glsl - cornell - box') #pragma glslify : camera = require('glsl - turntable - camera') void main() { vec3 ro, rd; float anim = sin (iGlobalTime); float rot = anim * 0.1 ; float angle = anim * 0.25 ; float dist = - 2.0 立即下载

相关推荐

CUDA光线跟踪

vs2010开发,CUDA6.5实现光线跟踪,初学者可以看看

【光线追踪系列十三】Cornell Box场景搭建

本文主要参照 Ray Tracing: The Next Week,其中只是主要精炼光追相关理论,具体实现可参照原文。

qq_35312463的博客 3697

raytracegroundup_v2.6_GlobalTace_CornellBox_20170316

raytracegroundup_v2.6_GlobalTace_CornellBox_20170316 较之前版本,这个版本主要是将path tracing算法只用于间接光照。 基于Cornell Box对比测试了效果图形。

几个著名的3D测试场景与模型

来自:http://tieba.baidu.com/p/2516805630 Sponza Atrium(Marko Dabrovic版) 由来自Lightwave的Marko Dabrovic于2002年创建,原型是位于克罗地亚南部港口城市杜布罗夫尼克的著名旅游景点、有400余年历史的Sponza宫。因其发杂又易于进行观察对比的结构,sponza成为了一个著名的测试全局光照的场景。 场

wolf96的专栏 1万+

Instance(案例)

Cornell Box一般来说还有两个box,这里我们可以撞见六边面来模拟对于一个立方体,六个面,分别的求每个面的形状就可以。定义边界点定义轴向量这里我们按照正对一个面的左边的点来定义起始的位置,然后定义每个面的轴在cornell_box中加上两句在真实的Cornell Box中这两个盒子是有不同程度的倾斜的。所以我们需要对他进行旋转等操作。

m0_57958061的博客 1148

Cuda By Example - 7 (光线追踪)

cuda by example 第6章

dairyman的专栏 1345

光线跟踪引擎做到了

构建灵活软件系统的有效方法就是通过嵌入式脚本语言使软件系统具有扩展性。TCL、Python 以及 Lua 等语言让程序员能够对许多软件 系统的行为进行安排和定制 – 例如,游戏大多由 C++ 编写,但通常会用 Lua 来实现人物及其他游戏机制的 AI(人工智能),并用 Python 代码通过协调 C++ 或 Fortran 库代码的执行来编写高性能计算应用程序。     大多数嵌

邢树军optix的专栏 1862

opengl光线跟踪算法_RTX实时光线追踪推出一年后,有哪些应用已经支持RTX?

在NVIDIA推出NVIDIA RTX技术一年后,光线追踪已成为产品设计、建筑、游戏、特效和科学可视化领域的全新行业标准。顶尖独立软件开发商(ISV)陆续推出了RTX技术赋能的应用程序,截至目前,已有多家全球领先的软件制造商推出了40多款采用RTX技术的应用程序。这些应用使数千万用户能够充分利用光线追踪和AI技术,而无需再因交互式工作对计算能力的高要求而心生顾虑。Adobe Dimension C...

weixin_39832348的博客 890

NVIDIA Technologies

一、Architectures Blackwell Hopper Ada Lovelace 以前的体系结构: 二、企业和开发人员 CUDA(开发人员) IndeX Iray Material Definition Language (MDL) Multi-GPU NVAPI NVLink Optimus OptiX Ray Tracing Engine (Developer) PhysX(开发者) PostWorks RTX Real-Time Ray Tracing SceniX ShadowWorks

AI工程化、开源分享、文档翻译、代码笔记 1044

turing tree_Turing GPU将如何彻底改变沉浸式AI

turing tree 图形处理单元(GPU)远远超过图形芯片。 多年来,它们一直是人工智能革命的核心。 这在很大程度上是由于这样的事实,即用于高保真3D图像处理的计算基础非常适合支持支持当今最复杂的AI应用程序的神经网络的数学。 GPU从一开始就似乎是为AI设计的,但是这会歪曲该技术的历史发展。 多年来,Nvidia,AMD和其他芯片制造商通过提供用于PC图形,交互式游戏,图像后处理和虚拟...

cxw9087的博客 230

About Realtime Radiosity

前言:实时辐射度Realtime Radiosity是一种Shading着色方法,模拟了热力学能量传输,最终在场景中达到平衡的过程。这种方法首先在上世纪50年代应用于航天飞行器表面与外界的热交换工程模拟上,随后于1984年由日本Fukuyama大学、Hiroshima大学,以及Cornell康奈尔大学的研究者应用于计算机图形学。它可以很好的生成具有全局光照(Gobal Illumination)的...

weixin_33841722的博客 364

cudart:一个简单的光线追踪器,用 Cuda 和 OpenGL 实现

蛋挞 一个简单的光线追踪器,用 Cuda 和 OpenGL 实现

光线追踪代码

《DirectX 3D HLSL 高级实例精讲》中的代码

鹿回头作业

即便后来有更为精确的模型出现,但 Phong 模型因其能产生看起来真实且相对简单的图形效果,至今在图形学界的博客中仍广受欢迎。这种着色法的持久流行,一方面得益于其在图形表现上的出色效果,能够为观众带来较为逼真的视觉体验;法国 3D 插画师 Gilles Tran 运用 POV-Ray 3.6 所创建的 Persistence of Vision Raytracer 是一款具有重要意义的开放源代码自由软件,它利用光线跟踪技术绘制出逼真的三维图像。

2403_88367283的博客 514

Turing GPU将如何彻底改变沉浸式AI

图形处理单元(GPU)远远超过图形芯片。 多年来,它们一直是人工智能革命的核心。 这在很大程度上是由于这样的事实,即用于高保真3D图像处理的计算基础非常适合支持支持当今最复杂的AI应用程序的神经网络的数学。 GPU从一开始就似乎是为AI设计的,但是那会歪曲这项技术的历史发展。 多年来,Nvidia,AMD和其他芯片制造商通过提供用于PC图形,交互式游戏,图像后处理和虚拟桌面基础架构的GPU...

cxw9087的博客 492

新型物理模拟系统​Genesis训练机器人的速度比现实世界快43万倍

本周四,一大批大学和私营企业的研究人员发布了Genesis,这是一个新的开源计算机模拟系统,可让机器人在模拟现实中练习任务,速度比现实世界快 43 万倍。研究人员还可以使用人工智能代理根据文本提示生成三维物理模拟。加速模拟意味着,只需几个小时的真实计算机时间,用于驾驶机器人的神经网络就能在虚拟世界中学习拾取物体、行走或操作工具,相当于几十年的时间。“一个小时的计算时间可以让机器人获得 10 年的训练经验。这就是尼欧如何在《黑客帝国》的道场中眨眼间学会武术的。

weixin_41446370的博客 1789
上一篇: Anti-Aliasing (SSAA , MSAA , MLAA , SRAA) 简介
下一篇: 在离线渲染器中应用MERL BRDF
就不告诉你1111
博客等级 码龄19年 87粉丝 25原创
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值