| 飞跃小河 |
2020-05-25 17:35 |
新一代光学工程仿真软件RED MPC支持的功能
(GPU光线追迹和分析)> 支持的功能 'f7s*VKG BGO
pUy 概要 ;T>. 实体分析 =cx_3gCr{ 表面分析 4(8BWP~.y2 探测器实体 u6*0%
Km 方向分析实体 LdX'V]ITh 结果节点分析 v dU) 膜层 Dv=pX.Z+ 分布计算 FJ|JXH* 几何体 ,@8*c0Y~<! 表面 e{ZS"e`! 表面属性 !qs3fe<uh" 非表面几何体节点 q9$K.=_5 关键字 Uee$5a>( 数值精度 9_%??@^> 光线 8;(3fSNC 光线类型 #\3X;{ 光线属性 )=#zMdK& 光线追迹路径 Tnnj8I1v 光线追迹属性 Y0o{@)Y: 散射 mk3,ke8 散射模型 Qf@ha 重点采样 W;P8'_2Y 脚本 ^
`[T0X 光源 sN/8OLc 光谱 ~<3J9\z1 表面粗糙度 TA"gU8YQ $< .wQ8:Q 分析实体 G,@Jo[e 分析表面
VO,F[E~_ GPUs不支持并会忽略分析表面。当在GPUs使用光线追迹时,应该使用平面类型探测器实体而不是分析表面。 9f3rMPVh( Rw`64 L_ 探测器实体 di~ [Ivw 如果在模型中存在一个配置正确且支持的探测器实体(DE)类型,GPU光线追迹可以使用它生产分析结果节点(ARNs)。下表逐条列出了GPUs所支持的探测器实体类型。任意未支持的DE类型或者未支持的参数都会被GPUs忽略。 )H*BTfmt e,@5`aYHM@
D.x&N~- j=PM] 每个探测器实体使用一系列参数来定义其尺寸、像素分辨率以及计算类型等。下面的表格列出了GPU支持的每个参数。 .oe\wJ S6 eeOG(@@o(
C ?aa)H 7n'Ww=ttI FND+Ok& 1. 配置了“illuminance”分析的探测器实体不会执行所要求的分析,但如果“Abosorb rays”标志设置未True则会使GPU上的光线停止。 f2i9UZ$=e! 2. 光线滤波器 Vx=tP.BO] a. 在GPUs上,仅当计算时间设置为“at trace end”模式,才会应用DE上的光线滤波器标准。在“During Trace”模式下,光线滤波器会被忽略,并且所有被DE截断的光线都会包含在结果中。 6oq/\D$6~ b. 在Monte-Carlo模式下,在光线追迹的最后可以获得所有的光线并进行光线过滤处理。 ##yH*{/& c. 在光线分裂模式下,在光线追迹末端仅能够获取”母”光线并进行光线过滤处理。这意味着,例如,当GPUs上的光线追迹为光束分裂模式时,其不能使用光线滤波器分理处“子“散射光线。不推荐在光线分裂模式下使用光线滤波器。 8 v<*xy d. 在探测器实体方面,光线过滤应用的基本标准是光线必须被DE拦截。例如,若一个DE的光线过滤为“散射光线“模型,预期只有与DE相交的散射光线才会对结果分析有贡献。 -b'/}zz e. 光线过滤对每条光线进行属性操作。通过对GPU光线追迹模式使用如下规则,以进行光线属性测试并与光线关联: :eR\0cn 追迹CPU光线模式 EnYEAjX i. 光线通过CPU光线缓冲区进行创建并初始化所有光线属性 srd\Mf_Ej ii. 光线复制到GPU光线并用于追迹 Mdy4H[Odq iii. 光线在GPU上进行追迹 rTA#4.*& iv. 光线从GPU中复制回到其在CPU光线缓冲区的原始光线 BVxk}#d v. GPU不支持的任意的CPU光线属性都跟初始值意义 l }]"X@&G vi. 相应地,使用GPU不支持的属性的任意过滤操作都将在原始不变的CPU光线数据上进行测试 S1_):JvV 追迹GPU光线模式 v2f|%i;tq i. GPU上创建的光线具有GPU支持的属性 tjcG^m} _ ii. 光线在GPU进行追迹 X;yThb`iI iii. 光线从GPU复制到一个临时默认的CPU光线 Wf-P a9 iv. 相应地,任何使用GPU不支持的属性的过滤操作都将测试默认光线的设置 V6r*fEhrT_ 方向分析实体 IMHt#M` 方向分析实体(DAEs)将会在一个GPU光线追迹的最后自动生成一个分析结果节点(ARN)。一个DAE光线选择的标准会在光线追迹结束时使用,这样计算时间等同于一个探测器实体构造的“追迹终止“模式。请参考探测器实体部分文档以获得GPUs光线评价标准更完整的描述。 6G>loNM^ YZ/2:[b 分析结果节点 Ihx[S!: 如果在模式中激活了一个正确配置的探测器实体(DE)或者方向分析实体(DAE),则GPUs可以生成分析结果。如果一个正确配置的DE或者DAE出现在GPU光线追迹中,在GPU光线追迹结束时,分析结果节点将会添加到FRED文档对象树。 O+ J0X*&x 膜层 W-4R;!42 下方的表格逐条列出了如何指定膜层类型以使用GPUs进行处理。在GPUs上的膜层不会有透射或者反射相位系数,空间相关性或者偏振相关性。透射和反射功率系数将会作为S和P偏振的平均值进行计算。 a} :2lL% FLaj|Z~#)
'2ACZcjDSv o(oD8Ni 1. 反射和透射会忽略相位条件。 8 >!-|VSn 2. 简单表格搜寻(最近邻值)不包含角度插值。透射和反射是S和P分量的平均值。 z v:o$2Z 3. 近似为一种入射材料为空气,基板材料为简单玻璃的一般采样膜层类型。对于所有激活的光源的每个激活的波长,膜层将会在方向余弦0到0.9999之间采样8个角度。 @eN,m {b 4. 对于所有的偏振态,将会100%传播。 cf*SWKs 分布计算 m/ngPeZ 当使用FRED的分布式计算功能时,可以使用远程节点进行GPU光线追迹。 }n?D#Pk, 几何体 >ToI$~84 表面 wo\O0?d3{ 当在GPUs上描述一个表面时,既可以进行精确描述,也可以进行近似描述。对于一个精确描述的给定表面,需要满足以下要求: \kC'y9k • 表面类型具有一个GPU实现 dp*E#XCr1 • 表面可追迹 He}"e&K • 没有应用表面修剪参数 v=x)]<E"_ • 没有使用点乘表面修建参数 F&D,y-CQ • 表面不是布尔实体单元 LCok4N$o 当上述条件不符合一个给定的表面,在GPUs上使用三角网格来近似的描述表面(此处可认为是CAD的*.OBJ或者*.STL格式)。 )Xice=x9 将一个表面网格化一般会降低表面描述精度(除了网格化平面表面的情况),且跟CPU追迹结果相比,在GPU追迹中会成为错误的来源。 lrK?&a9AB 当一个表面使用三角网格近似时,用于近似表面的三角块是从两种不同的来源并根据表面类型来进行采集的。 /O[Z • 隐式表面是由一个函数形式,f(x,y,z)来进行定义的。例如,球体、圆锥和柱体都是隐式表面。 `/o| 1vv@_ • 显式表面是由参数化形式,f(u,v)来定义的。例如,直纹表面、拉伸表面和朗伯面都是显式表面。 4'H)h'#C 对于三角网格近似: F2dwT • 隐式表面使用内部算法,最终用户不能获得其控制的参数。用户无法访问提高网格质量的控键。 |pR'#M4j4A • 显式表面使用FRED的3D查看器中的三角块。使用FRED的可视化属性对话框增加曲面细分会在GPUs上生成更高质量的近似表面。 4gn|zSe>^ 下面表格指出了哪些表面类型具有精确的GPU实现,哪些使用三角网格近似。 .!_^< | |