实时光线追踪是实时渲染的前沿技术。直到最近,光线追踪还太慢,无法用于实时应用,但英伟达(NVIDIA)的新款gpu正在改变这一切。
NVIDIA在2018年推出了新的图灵系列显卡。这些卡具有对光线追踪(RTX)的实时支持。光线追踪目前被用于补充传统的实时渲染技术,但正在取得的进展将为消费者市场带来越来越多的实时光线追踪内容。
将实时光线追踪渲染公司的技能带到您的CAD渲染项目中。2022世界杯直播时间Cad Crowd可以建议您如何在您的项目中使用这种最先进的技术。
自20世纪90年代以来,3D实时渲染使用了一个称为光栅化.栅格化使用由三角形或多边形网格创建的对象。渲染管道将每个三角形转换为像素。在显示在屏幕上之前,像素会被着色。
另一方面,光线追踪通过模拟光的行为来提供更加真实的图像。光线追踪通过跟踪光线从眼睛或相机出发,然后在3D场景中被多个物体反射的路径来计算每个像素的颜色。
当光线四处传播时,它可能从一个物体反射到另一个物体。它可能被阻挡,也可能通过透明或半透明的表面折射。在光线追踪过程中,所有这些相互作用都被计算并结合起来产生像素的最终颜色。这需要大量的内存和处理速度,但结果是高度逼真渲染.
NVIDIA的RTX平台运行在该科技公司尖端的Volta和Turing系列gpu上,并结合了光线追踪,深度学习和光栅化来提升游戏的实时渲染。
NVIDIA RTX使用光线追踪、ai加速功能、高级着色器、模拟和资产交换格式来加速和增强图形。它支持用于制作电影真实感的应用程序接口(api)。
NVIDIA在2018年的GPU技术大会上宣布支持RTX星球大战演示。NVIDIA gpu现在可以在消费者和专业工作站上提供专业质量的实时光线追踪功能。
将实时光线追踪公司的专业知识带到您的实时渲染产品中。2022世界杯直播时间Cad Crowd可以建议您如何将这种最先进的技术整合到您的项目中。
自1996年第一张3Dfx Voodoo 1卡发布以来,图形硬件迅速发展。到1999年,NVIDIA创造了这个术语图形处理单元(GPU)的GeForce 256。在接下来的二十年里,gpu从静态流水线平台发展到高度可编程的硬件组件,开发人员可以创建和应用自定义算法。
如今,每台电脑、平板电脑和手机都有内置的图形处理器。这意味着每台设备内部的硬件加速技术都在不断改进实时渲染。这导致了实时渲染应用程序的速度和图像质量的爆炸式增长。
GPU的大部分芯片区域都专用于着色器处理器着色器核心.已经开发了数千个可编程着色器来控制gpu。大规模并行gpu的发展意味着处理需要几分钟,而不是以前需要的几个小时。
gpu还可以通过并行处理任务来提高速度。例如,在光栅化作业中,将空间分配给z缓冲区以快速访问纹理图像和其他缓冲区,并查找哪些像素被三角形覆盖。
新的支持rtx的gpu增加了专用的光线跟踪加速硬件,并实现了一个新的渲染管道来实现实时光线跟踪。场景中所有对象的RTX着色器都加载到内存中,并准备好计算对象交叉点。
RTX还使用了一个新的去噪模块。如果在不需要发送更多光线的情况下减少噪声,那么光线追踪的输出就会更快更好。NVIDIA并没有发布很多关于他们的新图灵gpu中Tensor“AI”核心的信息,但我们知道它们在计算存储在边界体层次结构(BVH)中的交叉点时要快得多,这是一种表示对象的数据结构。
为了开发NVIDIA RTX技术的应用程序,需要一个应用程序接口(API)。API是用于编程图形用户界面(GUI)组件的接口。
有一些api可供开发人员访问NVIDIA RTX。首先是NVIDIA自己的OptiX编程接口。创作者还可以通过微软的DirectX光线追踪API (DXR)访问RTX编程工具。第三个API是Vulkan,这是非营利组织Khronos Group开发的跨平台图形标准。这三个api都使用类似的方法。
NVIDIA自己的OptiX (OptiX应用加速引擎)API为开发人员提供了实时光线追踪的“简单,递归和灵活的管道”。OptiX用于许多行业:电影和游戏,设计和科学可视化,国防应用,特别是音频合成。OptiX API与RTX技术一起工作,在NVIDIA gpu上实现最佳的光线跟踪性能。
OptiX是一个高级API,这意味着它处理整个渲染算法,而不仅仅是光线跟踪部分。OptiX引擎可以执行大型混合算法,例如,栅格化和光线追踪一起使用,具有出色的灵活性。
OptiX已经集成到几个商业软件产品中,如Autodesk Arnold、Chaos Group V-Ray、Isotropix Clarisse、Optis、Pixar RenderMan和SolidWorks VisualizeSolidWorks自由职业者.
OptiX devkit包括两个主要组件:用于渲染器开发的光线跟踪引擎和用于图像处理的后处理管道。根据NVIDIA的说法,OptiX AI去噪技术与Quadro GV100和Titan V中的新NVIDIA张量内核相结合,提供了三倍于上一代gpu的性能,具有无噪声的流体交互性。
OptiX使用即时(JIT)编译器,不断分析代码以优化速度。JIT编译器为开发人员生成的程序生成自定义内核,用于光线生成、材质着色、对象交叉和场景遍历。紧凑的对象模型和光线跟踪编译器直接映射到运行在NVIDIA的Volta和Turing gpu上的RTX平台。
OptiX与NVIDIA的CUDA工具包一起工作。CUDA是NVIDIA于2006年开发的并行计算平台和编程模型。它是定制的工作与该公司的cuda功能的gpu,以实现最佳的图形性能。为了使用OptiX,需要具有CUDA功能的GPU和CUDA工具包。
对于OptiX的实时光线追踪,开发人员使用CUDA来指导光线在特定情况下应该如何工作。例如,射线击中花岗岩和击中水时的表现就不同。OptiX与CUDA允许开发人员自定义这些命中条件,但他们喜欢,提供了许多创造性的灵活性。
2014年,NVIDIA为OptiX 3.5添加了第二个库,称为OptiX Prime。OptiX Prime是一个用于光线追踪的低级API。OptiX Prime不处理整个渲染算法,只处理光线追踪部分,所以它不能为新的gpu重新编译算法,重构计算以提高性能,或者使用网络设备。
使用OptiX API进行光线跟踪是一个多步骤的过程。首先,开发人员定义射线生成程序。从“照相机”射出的光线会彼此平行吗?从线性角度看?然后,程序员可以定义的其他东西是:
这些程序的示例可以通过OptiX软件开发工具包(SDK)获得。以下是总结:
Ray-generation程序:在射线路径上发出的第一条射线或主射线使用射线生成程序。这个用户定义的程序通过场景跟踪光线,将跟踪结果写入输出缓冲区。
Scene-traversal程序:OptiX允许有效地剔除场景中未被给定光线相交的部分。这使得OptiX能够隐藏高度优化的、特定于架构的遍历加速实现的复杂性。
交集和定界盒程序:边界框程序计算自定义原语(如球体或曲线)的边界框。这有助于交叉项目的回归真正的或假基于射线是否与物体相交。
最接近命中和任何命中的程序:OptiX允许开发人员指定一种或多种类型的光线:例如,辐射,环境遮挡或阴影光线。开发人员可以创建一个最接近命中和任意命中程序来描述物体被每种光线类型相交时的着色行为。
任何命中或最接近命中的程序都可以不绑定;例如,一个不透明的材料可能只需要一个阴影光线的程序,因为找到光和阴影点之间的任何交集就足以确定该点在阴影中。
项目小姐:当没有物体被射线击中时,调用miss程序。它也可以为不同的射线类型指定,并且可以不绑定。Miss programs在创建环境地图或背景时非常有用。
OptiX可以在几种NVIDIA GPU上运行,但非正式的用户测试表明,它在Volta GPU上表现最好。借助NVIDIA Volta gpu和RTX光线追踪技术,开发人员可以在交互式应用程序中使用逼真的照明和材料实现实时的电影质量渲染。
微软的DirectX®光线追踪(DXR) API于2018年3月推出。与NVIDIA密切开发,DXR扩展DirectX 12与完全集成的光线追踪。与NVIDIA的OptiX一样,微软的DXR可以处理使用光线追踪和传统光栅化技术的混合算法。NVIDIA已经与微软合作,为DXR提供完整的RTX支持。
微软的DirectX光线追踪(DXR) API为游戏开发者将光线追踪完全集成到DirectX中。目前,它的市场定位是作为光栅化的补充而不是替代。DXR专注于使这种混合技术能够提高实时渲染的质量。随着技术的进步,微软的目标是在实时渲染应用程序中使用DXR实现真正的全局照明。
DXR的第一步是在两个层面上构建加速结构。在底层,应用程序为世界中的对象指定一组几何图形——顶点和索引缓冲区。在顶层,应用程序指定一个实例描述列表。这两层允许多种复杂的形状。
第二步是为着色器和纹理定义光线追踪管道。与OptiX一样,这允许开发人员指定当特定类型的光线击中特定对象时应该使用哪种着色器和纹理。
使用DXR的第三步是调用dispatchray。DispatchRays激活光线生成着色器。然后着色器调用TraceRay固有的,这激活适当的命中或错过着色器。TraceRay也可以在hit-or-miss着色器中调用,允许“多次反弹”照明效果。
NVIDIA GameWorks光线追踪开发工具包提供了使用微软DXR API与NVIDIA RTX的工具和资源,包括光线追踪去噪模块。随着这项技术在像微软这样的行业标准平台上的可用性,每个PC游戏开发者现在都可以访问实时光线追踪。
Vulkan API是第三个,也是最新的RTX API,用于编程实时光线追踪技术。它是由非营利组织Khronos集团于2015年在NVIDIA的GPU技术大会上发布的。Khronos专注于为软件供应商的游戏内、移动和工作站开发创建API。
Vulkan最初被称为“下一代OpenGL计划”。它源自AMD的Mantle API, AMD将其捐赠给Khronos,目的是为可以在整个行业标准化的低级RTX API提供基础。NVIDIA的Vulkan光线追踪扩展将在跨平台API中为Vulkan添加混合光线追踪和光栅化技术。
Vulkan指定着色器程序并计算内核、对象和操作。它也是一个具有可编程和固定功能的管道。Khronos希望Vulkan API具有各种优势,例如批处理以降低驱动程序开销,更直接地控制GPU,减少CPU使用,以及在多核CPU上更好地扩展。
Vulkan驱动程序并没有使用高级语言GLSL来编写着色器,而是使用已经转换成中间二进制格式的着色器。通过允许着色器预编译,应用程序初始化速度更快,并且每个场景可以使用更多种类的着色器。Vulkan驱动程序只需要做特定于gpu的优化和代码生成,从而更容易维护驱动程序。
Vulkan API适用于高级显卡和移动设备上的图形硬件。与OpenGL类似,Vulkan API不会锁定到单个操作系统。Vulkan支持Android、Linux、Tizen、Windows 7、Windows 8和Windows 10操作系统。免费授权的第三方支持iOS和MacOS也可用。
根据Vulkan用户教程,使用Vulkan需要四个先决条件:
为了开始开发Vulkan应用程序,创建者需要访问SDK。它包括头文件、标准验证层、调试工具和用于所有Vulkan函数的加载器。加载程序在运行时查找驱动程序中的函数。
与DirectX 12不同,Vulkan不包含用于线性代数操作的库。它的开源教程指导用户下载GLM,这是一个为图形api设计的库,也经常与OpenGL一起使用。
Vulkan本身也不包含显示渲染结果的工具。Vulkan建议开发者使用Windows、Linux和MacOS支持的GLFW库来创建窗口。
Vulkan中的图形开发包括三角形绘制、顶点缓冲区创建、统一缓冲区分配、纹理映射、深度缓冲、模型加载、mipmap生成和多采样。因为Vulkan是一个非营利性的合作组织,开源教程可以在线获取,以满足一般用户的兴趣。
随着gpu功能的不断增强和api的开发,NVIDIA、微软和Khronos集团正在引领着用实时光线追踪取代光栅化作为3D实时渲染标准算法的潮流。
除了游戏等应用的电影真实感之外,实时光线追踪也越来越多地用于增强建筑应用,2022年世界杯抽签 科学可视化等等。
现在,光线追踪工具,如Autodesk Arnold,来自Chaos Group的V-Ray,皮克斯的Renderman和NVIDIA的最新GPU技术,正在被创作者用来生成逼真的模型和原型,模拟光线与他们的设计的相互作用,并且,随着GPU提供更多的计算能力,创造互动娱乐,在其范围内将越来越电影化。
RTX及其附带的api产生的实时、电影质量的渲染是世界上一些最大的技术公司在计算机图形算法和GPU架构方面20多年工作的高潮。
通过使用运行在NVIDIA Turing和Volta gpu上的光线追踪引擎,并使用OptiX、Microsoft DirectX光线追踪(DXR)或Vulkan编程,以及GameWorks SDK等工具,开发人员可以扩展为客户实现创造性愿景的能力。
随着时间的推移,实时光线追踪将创造出越来越逼真的反射、阴影和折射,从而为交互式消费者应用程序提供电影制作中所有超真实的品质。尽管在短期内,将实时光线追踪与传统光栅化技术相结合的混合方法将继续成为竞争者。
尽管实时光线追踪在渲染场景中是一项相对较新的技术,但Cad Crowd中有一些自由职业者已经掌握了这项技术。2022世界杯直播时间他们可以与您一起创建高质量的3D模型和效果图,确保使您的视频游戏或电影看起来顶级。如果你有兴趣和我们聊天,请联系我们免费的报价!