(GPU光线追迹和分析)> 支持的功能

概要

实体分析

表面分析

探测器实体

方向分析实体

结果节点分析

膜层

分布计算

几何体

表面

表面属性

非表面几何体节点

关键字

数值精度

光线

光线类型

光线属性

光线追迹路径

光线追迹属性

散射

散射模型

重点采样

脚本

光源

光谱

表面粗糙度

分析实体                                                       

分析表面

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. 反射和透射会忽略相位条件。

2. 简单表格搜寻(最近邻值)不包含角度插值。透射和反射是S和P分量的平均值。

3. 近似为一种入射材料为空气,基板材料为简单玻璃的一般采样膜层类型。对于所有激活的光源的每个激活的波长,膜层将会在方向余弦0到0.9999之间采样8个角度。

4. 对于所有的偏振态,将会100%传播。

分布计算

当使用FRED的分布式计算功能时,可以使用远程节点进行GPU光线追迹。

几何体

表面

当在GPUs上描述一个表面时,既可以进行精确描述,也可以进行近似描述。对于一个精确描述的给定表面,需要满足以下要求:

• 表面类型具有一个GPU实现

• 表面可追迹

• 没有应用表面修剪参数

• 没有使用点乘表面修建参数

• 表面不是布尔实体单元

当上述条件不符合一个给定的表面,在GPUs上使用三角网格来近似的描述表面(此处可认为是CAD的*.OBJ或者*.STL格式)。

将一个表面网格化一般会降低表面描述精度(除了网格化平面表面的情况),且跟CPU追迹结果相比,在GPU追迹中会成为错误的来源。

当一个表面使用三角网格近似时,用于近似表面的三角块是从两种不同的来源并根据表面类型来进行采集的。

• 隐式表面是由一个函数形式,f(x,y,z)来进行定义的。例如,球体、圆锥和柱体都是隐式表面。

• 显式表面是由参数化形式,f(u,v)来定义的。例如,直纹表面、拉伸表面和朗伯面都是显式表面。

对于三角网格近似:

• 隐式表面使用内部算法,最终用户不能获得其控制的参数。用户无法访问提高网格质量的控键。

• 显式表面使用FRED的3D查看器中的三角块。使用FRED的可视化属性对话框增加曲面细分会在GPUs上生成更高质量的近似表面。

下面表格指出了哪些表面类型具有精确的GPU实现,哪些使用三角网格近似。

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 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. 父光线和光线分裂

a. 使用蒙特卡罗以外的父光线说明符时,必须注意正确配置GPU缓冲区,以确保为光线生成保留适当数量的资源。特别是,通过设置GPU设备支持的最大总祖先级别(镜面反射+散射),在MPC Trace Advanced对话框中指定用于光线分割的GPU内存分配。

b. 当使用蒙特卡罗以外的父光线说明符和Trace CPU Rays模式时,只有父光线将返回到CPU光线缓冲区。这限制了在GPU光线追迹期间光线分割处于激活状态时可用的光线数据跟踪后分析。

散射

散射模型

下表列出了对GPU上散射模型的支持。 以下行为适用于GPU上的散射模型:

 如果是不支持的散射模型,那么GPU会忽略它

 Total Integrated Scatter(TIS)表在7个入射角处预先计算,作为散射模型表示的一部分,然后在GPU光线追迹期间进行插值。

1. 如果是不支持的散射模型,那么GPU会忽略它

每个散射模型定义都包含进一步描述散射行为的其他属性。这些属性在FRED GUI中显示为散射模型对话框底部的“Additional Data”,或者作为用户脚本散射模型定义的一部分。

重点采样

具有散射模型的表面必须至少具有一个激活的重点采样(或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光线追迹:

光源

有三种光线追迹操作模式用于使用GPU执行光线追迹,本文档的光线追迹模式部分对此进行了描述。仅当使用Trace GPU Rays模式时,本节中的信息才有意义。使用Trace CPU Rays模式时,光源功能仅受GPU上光线数据支持的属性限制(有关详细信息,请参阅“光线”部分)。

使用Trace GPU Rays模式时,光源定义将加载到GPU中,然后GPU用于生成和追迹光线。为了正确执行,GPU实现需要支持源定义的属性。如果不支持光源的属性,则GPU不会生成或追迹光线。

下表列出了GPU的光源属性支持:

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时将忽略该属性。

新一代光学工程仿真软件RED MPC支持的功能相关推荐

  1. 新一代光学工程仿真软件FRED MPC介绍

    FREDMPC是Photon Engineering公司持续投入利用GPU技术的成果.它能快速以及精确地进行辐射测量和光机系统光线追迹和分析. GPU硬件技术中,NVIDIA是业界领先者,在单个工作站 ...

  2. 计算机考研一些常纹面试知识,2020年光学工程考研复试真题和技巧

    深圳大学光学工程考研复试技巧和真题 2020年硕士研究生的复试就要展开了,念念不忘,必有回响.大多数考研人花费了大量心血,只为最后能成功上岸.下面整理了深圳大学往年光学工程专业研究生考试复试的一些基本 ...

  3. 计算机考研专业课是0803的学校,22考研院校排名:0803光学工程院校排名一览表...

    专业的选择,关系到未来的职业发展路径;而学校的选择,关系到考研时的院校竞争难度,两个都非常重要,网络上关于院校排名的文章非常多,其中有的还比较靠谱,但是有的看起来就不那么靠谱了,因此武汉文都考研小编结 ...

  4. 量子计算机科学与技术学科评估,第四轮全国学科评估结果公布光学工程进步显著...

    西电新闻网讯(通讯员 金阳群)12月28日,教育部学位与研究生教育发展中心(简称学位中心)公布了全国第四轮学科评估结果,物理与光电工程学院光学工程学科进步显著. 在本轮学科评估中,学院仅有光学工程学科 ...

  5. 机器视觉 光学工程专业_学引之高校专业篇(一):光学工程

    2020年注定不平凡,一场突如其来的疫情防控阻击战,在中华大地骤然打响,这是一场没有硝烟的持久战,关系到每个人的生命健康.从中我们失去了很多,但也收获了很多.这段经历中最难熬的应该还是广大莘莘学子,尤 ...

  6. 中北大学工程硕士计算机技术,中北大学光学工程专业介绍

    专业概述: 中北大学光学工程专业已发展为光学为主,与信息科学.能源科学.材料科学.生命科学.空间科学.精密机械与制造.计算机科学及微电子技术等学科紧密交叉和相互渗透的学科.本学科于2005年6月被批准 ...

  7. 计算机调剂光学工程,山东大学2020研究生调剂信息-光学工程/材料科学与工程

    山东大学2020研究生调剂信息-光学工程/材料科学与工程 这是山东大学信息科学与工程院2020研究生调剂信息,具体的院校和专业以及招生人数和要求都会给大家列出来,虽然目前考研初试成绩都还没出,2020 ...

  8. 光学工程专业学matlab的什么,光学工程是冷门专业吗 具体是什么类型的专业

    光学工程专业是一门听上去及其高大上的专业,很多同学在报考这一专业时相当犹豫,觉得听上去就相当的难就业了,那么光学工程专业真的是一个冷门专业吗?这个专业究竟是什么类型的呢?来一起跟小编了解下吧. 光学工 ...

  9. 西安电子科技大学光学工程(学硕)考研经验分享

    给大家分享一下西电光学工程专业考研过程中的体会与成功上岸的经验,希望可以给到一些些帮助. 我本科是西电光电信息科学与工程专业的,一开始也不是喜欢自己这个专业,当初也纠结过是跨考还是继续本专业,是考本校 ...

最新文章

  1. Bootstrap4 glyphicon 移除图标 glyphicon fonts-faces 解决方案
  2. Android全屏沉浸式应用
  3. 近端策略优化深度强化学习算法
  4. Apache ZooKeeper - 使用原生的API操作ZK_ACL权限
  5. 【学术相关】普通在读奶爸博士生的一年总结!
  6. 信息学奥赛一本通(C++)在线评测系统——基础(三)数据结构 —— 1339:【例3-4】求后序遍历
  7. 课堂练习 5-22 团队如何做决定
  8. centos利用tar包安装phpmyadmin
  9. 证明一个距离空间是完备的
  10. jep-java-4.0-trial.jar 下载
  11. 中国资源卫星应用中心免费卫星遥感数据介绍
  12. CVPR 2021 Involution: Inverting the Inherence of Convolution for Visual Recognition
  13. (实战3)tasklist(查看进程)和taskkill(结束进程)的使用
  14. SpringBoot 统一功能处理
  15. 岁月温柔-13 妈妈担心回到山村里的大姨冻着
  16. 一个http请求的详细过程
  17. USB口的红外条形码扫描器的另类使用 1
  18. pytorch使用pytorch-kaldi实现ASR语音识别
  19. 如何更新VLC媒体播放器
  20. 我是在校大学生(计算机专业)需要提前报考阿里云ACP证书吗?大家对此有什么看法?

热门文章

  1. revit二次开发lookup和addin的详细安装教程
  2. 清华张长水教授:系统了解图像识别与机器学习
  3. 机房建设--服务器机柜尺寸参考
  4. 【Leetcode刷题记录_C++】【数据结构】
  5. 天顶围棋 8 zenith 8_2019年第九届世界围棋巅峰对决盛大启幕 安徽阜阳点燃黑白激情...
  6. gsoap java_试图了解gsoap
  7. 【项目篇- 项目计划书封面如何设计?(千字图文总结建议)】创新创业竞赛项目计划书
  8. python如何识别特殊字符_如何判断特殊字符?,Python交流,技术交流区,鱼C论坛 - Powered by Discuz!...
  9. python之矩阵相加:提示用户输入矩阵的行数n,再提示用户输入矩阵的列数m,接下来,提示用户输入 2*n*m 个数字(每次输入 一个数字)。输出 C=A+B。
  10. 量具管理-量具生成和二维码打印