概要实体分析表面分析探测器实体方向分析实体结果节点分析膜层分布计算几何体表面表面属性非表面几何体节点关键字数值精度光线光线类型光线属性光线追迹路径光线追迹属性散射散射模型重点采样脚本光源光谱表面粗糙度 分析实体 分析表面GPUs不支持并会忽略分析表面。当在GPUs使用光线追迹时,应该使用平面类型探测器实体而不是分析表面。
探测器实体如果在模型中存在一个配置正确且支持的探测器实体(DE)类型,GPU光线追迹可以使用它生产分析结果节点(ARNs)。下表逐条列出了GPUs所支持的探测器实体类型。任意未支持的DE类型或者未支持的参数都会被GPUs忽略。
每个探测器实体使用一系列参数来定义其尺寸、像素分辨率以及计算类型等。下面的表格列出了GPU支持的每个参数。
1. 配置了“illuminance”分析的探测器实体不会执行所要求的分析,但如果“Abosorb rays”标志设置未True则会使GPU上的光线停止。2. 光线滤波器a. 在GPUs上,仅当计算时间设置为“at trace end”模式,才会应用DE上的光线滤波器标准。在“During Trace”模式下,光线滤波器会被忽略,并且所有被DE截断的光线都会包含在结果中。b. 在Monte-Carlo模式下,在光线追迹的最后可以获得所有的光线并进行光线过滤处理。c. 在光线分裂模式下,在光线追迹末端仅能够获取”母”光线并进行光线过滤处理。这意味着,例如,当GPUs上的光线追迹为光束分裂模式时,其不能使用光线滤波器分理处“子“散射光线。不推荐在光线分裂模式下使用光线滤波器。d. 在探测器实体方面,光线过滤应用的基本标准是光线必须被DE****。例如,若一个DE的光线过滤为“散射光线“模型,预期只有与DE相交的散射光线才会对结果分析有贡献。e. 光线过滤对每条光线进行属性操作。通过对GPU光线追迹模式使用如下规则,以进行光线属性测试并与光线关联:追迹CPU光线模式i. 光线通过CPU光线缓冲区进行创建并初始化所有光线属性ii. 光线复制到GPU光线并用于追迹iii. 光线在GPU上进行追迹iv. 光线从GPU中复制回到其在CPU光线缓冲区的原始光线v. GPU不支持的任意的CPU光线属性都跟初始值意义vi. 相应地,使用GPU不支持的属性的任意过滤操作都将在原始不变的CPU光线数据上进行测试追迹GPU光线模式i. GPU上创建的光线具有GPU支持的属性ii. 光线在GPU进行追迹iii. 光线从GPU复制到一个临时默认的CPU光线iv. 相应地,任何使用GPU不支持的属性的过滤操作都将测试默认光线的设置方向分析实体方向分析实体(DAEs)将会在一个GPU光线追迹的最后自动生成一个分析结果节点(ARN)。一个DAE光线选择的标准会在光线追迹结束时使用,这样计算时间等同于一个探测器实体构造的“追迹终止“模式。请参考探测器实体部分文档以获得GPUs光线评价标准更完整的描述。 分析结果节点 如果在模式中激活了一个正确配置的探测器实体(DE)或者方向分析实体(DAE),则GPUs可以生成分析结果。如果一个正确配置的DE或者DAE出现在GPU光线追迹中,在GPU光线追迹结束时,分析结果节点将会添加到FRED文档对象树。膜层 下方的表格逐条列出了如何指定膜层类型以使用GPUs进行处理。在GPUs上的膜层不会有透射或者反射相位系数,空间相关性或者偏振相关性。透射和反射功率系数将会作为S和P偏振的平均值进行计算。
1. 仅当前端和后端的半孔径是理想(例如,柱脊沿Z轴为常数)情况下,则可完全支持柱面类型。如果柱脊是倾斜的,则在GPUs上使用三角网格来近似描述表面。2. 在上述表格中未指定的表面类型将会在GPUs上使用三角网格来进行近似。 表面属性在FRED模型中每个表面都有一系列属性以描述几何体性质。这些属性可以是物理属性,FRED特定属性需要用于光线追迹或者FRED的可视化属性要用于渲染。 下方的表格指出了GPUs是否支持,部分支持或者忽略一个给定表面性质。一个受支持属性并不意味着在GPU上的实现和在FRED中CPU光线追迹的本来的实现是意义的。请参考此文档关于每个受支持或者部分受支持属性相应的部分以获得更多的信息。
1. 如果对一个表面应用了Advanced Dot-product Surface Trimming Specifications,则会使用三角网格将表面转换为一个近似表面。2. 如果一个表面应用了Surface Trimming Specifications,则会使用三角网格将表面转换为一个近似表面。非表面几何体节点 在光线追迹中,光线与表面相交。然而,在几何体层级中非表面节点会用来增强表面描述属性。例如,曲线在FRED中可以用于构建表面或者定义表面自定义孔径。或者一个表面的位置可能取决于其上方一个自定义元件在树中的位置。下方表格逐条列出了GPUs支持的非表面几何体节点。
1. 表面是一个元件组合结构的一部分,其在GPUs上将会被自动转化为一个近似三角网格描述。关键词 关键词不支持并被忽略。模型构建中关键词的利用和模型管理。同样地,为了进行光线追迹,对GPUs来说,关键词没有值。材料 下方表格逐条列出了如何确定GPUs处理的材料类型。
1. 对于所有光源的所有激活波长,会计算实部和虚部折射率。2. 所有未支持材料类型,会自动转化未采样材料。对于所有光源的所有激活波长,会计算正入射时实部和虚部折射率。表格下方逐条列出了如何确定GPUs所处理的材料属性。
数值精度 所有的GPU计算都是单精度。光线类型 GPU支持的光线类型在下方表格逐条列出并提供了一个好的初始点以用于评估FREDMPC是否能够用于一个给定的分析。
1. 偏振光a. 如果支持光源配置,而且激活了偏振标志,光线仍然可以通过Trace GPU Rays调用生成,但是会忽略偏振信息(即光线会被认为是非偏振,不相干的光源)b. 如果光源是在FRED生成的,然后需要用Trace CPU Rays调用GPU来追迹,那么在GPU上追迹的光线的偏振信息会被忽略,但是当光线回到FRED中时,偏振信息会回到CPU上。这些光线的偏振数据是无效的,不能使用这些光线数据来分析偏振2. 相干光a. 使用Trace GPU Rays光线追迹模式,在GPU上不会生成相干光b. 使用Trace CPU Rays光线追迹模式,将光线从FRED光线缓冲区推送到GPU时,在GPU光线追迹之前,相干属性将从光线中移除,然后在光线返回到FRED时在CPU上被替换。这些在GPU上追迹的光线,不能用来进行辐射度计算光线属性 每条光线都有一组属性(例如位置,方向,功率,波长等),这些属性由各种分析功能使用。下表列出了GPU支持的光线属性
1. 光“强度”是一种仅适用于Trace Render光线追迹模式以生成渲染图形的属性。2. 目前仅支持一组有限的状态属性代码,支持的状态代码为ray is halted, reason ray is halted, ray intersected, ray interacted, ray reflected, ray transmitted, scatter ray, specular ray, unresolvable material error, TIR error3. 请务必注意,尽管可以使用MPC Trace Advanced选项请求光线追迹路径数据,但在GPU光线追迹期间,不会更新路径#的光线属性。因此,在执行GPU光线追迹之后,不支持基于路径#的光线选择过滤。基于路径的分析仅限于Raytrace Path表和Stray Light Report表中显示的信息追迹路径 当模型在适用的光线追迹属性定义上使用蒙特卡洛父光线说明符时,可以在GPU上追迹光线获得Raytrace Paths。当GPU上发生光线分裂时,将不会追迹Raytrace Paths。必须在光线追迹之前将用户提供的用于路径追迹的最大总事件计数提供给GPU。此选项位于GUI中的MPC Trace Advanced对话框中。只有总事件计数小于或等于此用户提供的值(默认值= 10个事件)的路径才能在GPU光线追迹结束时在Raytrace Paths表或Stray Light Report中查看。在GPU光线追迹结束时,在输出窗口中报告超过最大总事件计数限制的光线追迹路径的数量以及这些路径中的总功率。目前不支持在CPU上生成重绘光线跟踪路径(如果它们已由GPU生成)。目前不支持使用光线执行基于路径的分析(例如,分析路径#X的辐照度分布)。光线追迹属性 下表列出了GPU如何处理光线跟踪属性的特定属性。
1. 父光线和光线分裂a. 使用蒙特卡罗以外的父光线说明符时,必须注意正确配置GPU缓冲区,以确保为光线生成保留适当数量的资源。特别是,通过设置GPU设备支持的最大总祖先级别(镜面反射+散射),在MPC Trace Advanced对话框中指定用于光线分割的GPU内存分配。b. 当使用蒙特卡罗以外的父光线说明符和Trace CPU Rays模式时,只有父光线将返回到CPU光线缓冲区。这限制了在GPU光线追迹期间光线分割处于激活状态时可用的光线数据跟踪后分析。散射 散射模型下表列出了对GPU上散射模型的支持。 以下行为适用于GPU上的散射模型: 如果是不支持的散射模型,那么GPU会忽略它 Total Integrated Scatter(TIS)表在7个入射角处预先计算,作为散射模型表示的一部分,然后在GPU光线追迹期间进行插值。
重点采样具有散射模型的表面必须至少具有一个激活的重点采样(或FRED的GUI中显示的” ScatterDirections Regions of Interest “),以便由曲面生成散射光线。尽管重点采样不会影响散射光线本身的辐射测量,但它会影响散射光线对给定方向的统计采样,并最终影响分析平面上的光线统计。下表列出了GPU重点采样的类型:
1. “Full Hemisphere”是“Into a given direction”重点采样类型的特定实例,其中关于散射位置处的局部表面法线将半角设置为90°。2. 椭圆体重点采样类型的GPU实现与CPU实现不同。在GPU实现中,重点采样由矩形定义,该矩形围绕从散射点看到的椭圆体的投影。采用这种方法是因为在GPU上实现比CPU上的严格椭圆更快。 在GPU和CPU实现中,辐射度测量是正确的。每个重点采样规范都有一组额外的属性(在FRED GUI中显示为“OtherData”),用于进一步优化重点采样的效率。 下表列出了对这些属性的GPU支持
1. 当散射表面的光线追迹属性将蒙特卡罗设置为父光线说明符时,方向类型标志将被强制使用GPU上的蒙特卡洛选项。在所有其他情况下,将使用请求的方向类型。 此选项在BSDF值最高的位置生成更多的散射光线。2. 当散射表面的光线追迹属性将蒙特卡罗设置为父光线说明符时,在GPU光线追迹期间,散射光线的数量将强制为1。在所有其他情况下,将使用所请求的散射光线数量(最多10条光线)脚本 GPU上不支持脚本元件(例如材料,曲面,散射等)。 有关脚本元件如何在GPU上进行近似的更多信息,请参阅本文档的相应部分。修改FRED文档的脚本(包括更新前/后脚本)应在将文档发送到GPU之前执行以下脚本命令用于支持MPC光线追迹:
1. GPU仅使用列表中激活的波长。 这也会影响GPU上采样材料的表示,其折射率值在使用“As specified by list”波长选项的每个光源的有效波长下进行评估。2. 有关GPU如何表示每种材料类型的详细信息,请参阅本文档的“材料”部分。3. 无论光源中的实际设置如何,功率单位始终为瓦特。 例如,如果指定50流明的光源,则GPU将产生具有50瓦特总功率的光线。 光线将被正确追迹,但50流明光源的辐射测量是不正确的。4. 如果支持位置/方向组合,仍将生成光线,但光线将不具有与偏振相关的任何属性。光谱 所有Spectra类型都不受支持而会被忽略。 波长规格为“Randomly according to spectrum”的光源将无法使用Trace GPU Rays光线追迹模式在GPU上生成光线。在这种情况下,需要在CPU上的FRED中生成光线,然后使用Trace CPU Rays模式在GPU上推送和追迹光线。但是,因为在将文档加载到GPU中时预先计算折射率值,所以当折射元素包含在模型中时,这可能会给出不正确的结果。表面粗糙度 GPU不支持表面粗糙度。如果将Surface Roughness属性分配给FRED模型中的曲面,则在转换为GPU时将忽略该属性。