新一代光学工程仿真软件RED MPC支持的功能(中)

[复制链接]
cherryjhy 发表于 2023-1-16 17:33:51 | 显示全部楼层 |阅读模式
光线类型                                                   
GPU支持的光线类型在下方表格逐条列出并提供了一个好的初始点以用于评估FREDMPC是否能够用于一个给定的分析。

1-1Q21G9291Vb.png

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-1Q21G930525E.png



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 error
3. 请务必注意,尽管可以使用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-1Q21G93150110.png
1-1Q21G932152N.png

1. 父光线和光线分裂
a. 使用蒙特卡罗以外的父光线说明符时,必须注意正确配置GPU缓冲区,以确保为光线生成保留适当数量的资源。特别是,通过设置GPU设备支持的最大总祖先级别(镜面反射+散射),在MPC Trace Advanced对话框中指定用于光线分割的GPU内存分配。
b. 当使用蒙特卡罗以外的父光线说明符和Trace CPU Rays模式时,只有父光线将返回到CPU光线缓冲区。这限制了在GPU光线追迹期间光线分割处于激活状态时可用的光线数据跟踪后分析。
散射                                                           
散射模型
下表列出了对GPU上散射模型的支持。 以下行为适用于GPU上的散射模型:
 如果是不支持的散射模型,那么GPU会忽略它
 Total Integrated Scatter(TIS)表在7个入射角处预先计算,作为散射模型表示的一部分,然后在GPU光线追迹期间进行插值。

1-1Q21G93302a8.png


1. 如果是不支持的散射模型,那么GPU会忽略它
每个散射模型定义都包含进一步描述散射行为的其他属性。这些属性在FRED GUI中显示为散射模型对话框底部的“Additional Data”,或者作为用户脚本散射模型定义的一部分。

1-1Q21G9333M10.png

重点采样
具有散射模型的表面必须至少具有一个激活的重点采样(或FRED的GUI中显示的” ScatterDirections Regions of Interest “),以便由曲面生成散射光线。尽管重点采样不会影响散射光线本身的辐射测量,但它会影响散射光线对给定方向的统计采样,并最终影响分析平面上的光线统计。
下表列出了GPU重点采样的类型:

1-1Q21H02QCF.png

1. “Full Hemisphere”是“Into a given direction”重点采样类型的特定实例,其中关于散射位置处的局部表面法线将半角设置为90°。
2. 椭圆体重点采样类型的GPU实现与CPU实现不同。在GPU实现中,重点采样由矩形定义,该矩形围绕从散射点看到的椭圆体的投影。采用这种方法是因为在GPU上实现比CPU上的严格椭圆更快。 在GPU和CPU实现中,辐射度测量是正确的。
每个重点采样规范都有一组额外的属性(在FRED GUI中显示为“OtherData”),用于进一步优化重点采样的效率。 下表列出了对这些属性的GPU支持

1-1Q21H0292ab.png

1. 当散射表面的光线追迹属性将蒙特卡罗设置为父光线说明符时,方向类型标志将被强制使用GPU上的蒙特卡洛选项。在所有其他情况下,将使用请求的方向类型。 此选项在BSDF值最高的位置生成更多的散射光线。
2. 当散射表面的光线追迹属性将蒙特卡罗设置为父光线说明符时,在GPU光线追迹期间,散射光线的数量将强制为1。在所有其他情况下,将使用所请求的散射光线数量(最多10条光线)
脚本                                                         
GPU上不支持脚本元件(例如材料,曲面,散射等)。 有关脚本元件如何在GPU上进行近似的更多信息,请参阅本文档的相应部分。
修改FRED文档的脚本(包括更新前/后脚本)应在将文档发送到GPU之前执行
以下脚本命令用于支持MPC光线追迹:

1-1Q21H03216160.png



1-1Q21H03250533.png

1-1Q21H03315K6.png
1-1Q21H0340G18.png

1-1Q21H0343b50.png

1-1Q21H0345Q17.png

回复

使用道具 举报

全部回复0 显示全部楼层
暂无回复,精彩从你开始!

快速回帖

您需要登录后才可以回帖 登录 | 立即注册 手机动态码快速登录

本版积分规则

关于楼主

高级会员
  • 主题

    820
  • 回答

    812
  • 积分

    821
联系客服 关注微信 访问手机版 返回顶部 返回列表