powervr吧 关注:57贴子:145
  • 3回复贴,共1

光线追踪【转wp7】

只看楼主收藏回复

在这周旧金山召开的2014Game Developer Conference(游戏开发者大会)中,尽管这不是一个硬件的展会,但是我们仍然在桌面与移动领域见到了不少与游戏有关的硬件。移动领域今年看起来也会相当繁忙。
Khronos在这周一(已经是半个月以前的事了)的展览中已经发布了OpenGLES 3.1,随后也有一大波发布会紧随其后。
也许其中最具开创性的就是IMG的发布会了。IMG在2014年的GDC中,发布了他们最新的GPU架构,Wizard。这是个前所未有的新GPU架构。【以上基本都是废话


IP属地:广东1楼2014-04-05 05:59回复
    Wizard架构
    今天IMG发布的第一个Wizard GPU,就是GR6500。GR6500是6XT系列的GX6450的一个改进版本,一样具有128个ALU并且增加了IMG的光线追踪单元。从较高的层次来看,GR6500在负责传统像素渲染的硬件上没有任何更新,并且由于我们在上一篇深入分析Rogue架构的文章中已经深入解剖了6XT的架构,我们在这里将专注于解读新的光线追踪单元。


    如上两张图:上为Rogue,下为Wizard,可见Wizard是直接在Rogue基础之上增加的光线追踪模块。
    Wizard的光线追踪由4个模块完成。
    Ray Tracing Data Master(光线追踪数据管理器,RTDM)
    Ray Tracing Unit(光线追踪单元,RTU)
    Scene HierarchyGenerator(场景层次生成器,SHG)
    Frame Accumulation Cache(帧累加缓存,FAC)
    这些模块沿着Rogue架构的总线排布,在直接与Unified Shader Cluster(统一着色器簇,USC)阵列连接的情况下,允许它们直接向像素渲染单元传送数据,并且从中获取用于进一步计算的数据。
    我们从RTDM开始。这是负责将光线数据送回像素渲染单元的模块。RTU计算光线与交点,RTDM将这些用于确定最终像素分辨率的数据传回像素渲染单元,同时光线的数据被用于计算这些像素值。
    同时,RTU是IMG光线追踪单元的核心部分。作为一个固定功能不可编程的硬件,RTU完成了实质上的光线追踪工作。RTU包括两个子模块:Ray Interaction Processor(光线交错处理器,RIP)和Coherency Engine(聚合引擎,CE)。RIP是一组ALU,负责依次追踪驻留的光线,CE负责使光线保持有序和聚合,以更有效率的计算。
    特别的是,RTU是一个独立的单元。也就是说,它不依赖于Shader中的ALU的计算资源,让Shader阵列可以专注于传统的像素渲染工作。这意味着增加的光线追踪单元不会影响理论上的像素渲染性能。但是我们可以预见到在实际中,RTU会消耗一定的内存带宽。
    最终就是SHG和FAC了。IMG告诉我们,这些模块受到了相当的限制。我们除了知道SHG适用于动态对象更新,以及FAC可以提供对帧缓冲区零散数据的写合并之外,我们对这二者了解甚少。在后面的情况下,这看起来就像是实现一个对于自然混乱的自然光追踪的补偿,不过也使得内存与缓存的高效操作变得困难。


    IP属地:广东2楼2014-04-05 06:00
    回复
      太牛了,光线追踪都用到游戏里了
      ✎﹏₯㎕﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏ 高智商找规律:986f,875e,764d,653c,_______,431a。


      IP属地:云南来自WindowsPhone客户端3楼2014-05-18 00:04
      回复
        我等级超过吧主了


        来自Android客户端4楼2014-05-20 18:29
        回复