System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机程序和系统领域,更具体地,涉及一种用于在3d场景中的一个或多个点上映射纹理的方法、系统和程序。
技术介绍
1、在市场上提供了若干用于对象的设计、工程和制造的系统及程序。cad(computer-aided design)是计算机辅助设计的首字母缩写,例如,其涉及用于设计对象的软件解决方案。cae(computer-aided engineering)是计算机辅助工程的首字母缩写,例如,其涉及用于模拟未来产品的物理行为的软件解决方案。cam(computer-aided manufacturing)是计算机辅助制造的首字母缩写,例如,其涉及用于定义制造过程和操作的软件解决方案。在这样的计算机辅助设计系统中,图形用户界面在技术效率方面起重要作用。这些技术可以嵌入在产品生命周期管理(product lifecycle management,plm)系统内。plm是指在跨扩展企业的概念下的商业策略,其从产品概念到产品生命周期结束,帮助公司共享产品数据、应用通用流程、并采用公司知识来开发该产品。由dassault systèmes提供的plm解决方案(采用catia、enovia和delmia等商标)提供了整合产品工程知识的工程中心(engineeringhub)、管理制造工程知识的制造中心(manufacturing hub)、以及使企业集成并连接到工程和制造中心两者中的企业中心(enterprise hub)。这些系统共同递送链接了产品、过程、资源的开放对象模型,以实现动态的、基于知识的产品创建和决策支持,其推动了产品
2、许多
都采用3d绘图;例如图形创建、cad或产品设计。在这些
中,目标之一是在虚拟3d空间中向用户提供最接近经典2d草绘的体验(例如,在纸张上使用笔)。为此,功能之一是允许用户纹理化3d场景,即,将纹理添加到3d场景(或3d空间)。为此,现有解决方案通常包括确定由用户绘制的3d曲线以及将该确定的3d曲线添加到3d场景。然而,用于3d绘图的这些现有解决方案是不够的。
3、尤其是3d场景中的3d曲线的渲染质量比2d绘图的质量差,并且存在缺陷。值得注意的是,两个及以上3d曲线的叠加与2d绘图中不同,尤其是当3d曲线具有低于100%的不透明度时。技术上,用于曲线渲染的顺序取决于所使用的可视化引擎或者甚至取决于显卡的优化。在现有解决方案中,渲染的顺序非常影响结果。因此,不能确保重叠3d形状渲染结果的质量。
4、现在参考图1和图2讨论渲染缺陷的第一示例,其示出了分别使用3d绘图解决方案和2d绘图解决方案获得的渲染。
5、图1和图2示出了由用户绘制的四条3d曲线101、102、103a和103b的渲染。首先绘制曲线102,然后绘制曲线101以及曲线103a和103b。因此,曲线101与曲线102相交,并且曲线103a和103b分别在104和105处与曲线101相交。曲线101和102具有40%的不透明度,而曲线103a和103b具有100%的不透明度。图1示出了使用3d绘图解决方案在相交点104和105处存在渲染问题。实际上,重叠区域104中的渲染不同于重叠区域105中的渲染,而这两个相交点的渲染本应是相同的。该问题发生是因为在重叠区域104中,曲线101渲染在曲线103a上方,而在重叠区域105中,曲线101渲染在曲线103b下方。因此,由于曲线101具有40%的不透明度,因此曲线103a在重叠区域104中在曲线101下方可见,而在重叠区域105中,由于曲线103b具有100%的不透明度,因此曲线101在曲线103b下方不可见。
6、因此,3d场景中的渲染是不足的,因为其取决于渲染不同曲线的顺序。有趣的是,该问题不会在2d绘图解决方案中发生:实际上,在2d绘图解决方案中,所有曲线都被渲染在同一平面上。图2示出了类似曲线(对应于曲线101、102、103a、103b、104、105的曲线101’、102’、103a’、103b’、104’、105’)的渲染,但是使用2d绘图解决方案。在2d绘图中,区域104’和区域105’之间的相交区域是相同的。使用如图1所示的3d绘图解决方案的渲染应当与2d绘图解决方案相同,而实际情况并非如此。这是现有3d绘图解决方案的渲染质量缺陷的第一示例。
7、3d场景中的渲染缺陷的另一示例涉及色彩混合。现在参考图3和图4讨论该渲染缺陷。
8、图3示出了使用现有3d绘图解决方案渲染的两条重叠曲线106和107:使用图形工具(例如,在作为计算机触觉设备的平板电脑上操作的触笔、或触摸屏上的附件)往返绘制来创建曲线106,从而获得画布上的着色区域,并且进行类似的动作来获得曲线106上的曲线107。图3上的结果示出,在重叠区域中,渲染不均匀并且视差可见。因此,该重叠不符合物理学。特别地,在区域108中,第二曲线107的纹理是主要的,而在区域108’中,第一曲线106的纹理是主要的。这是因为曲线107与自身重叠,使得第二曲线107的纹理在区域108’中越来越不透明。然而,如图4所示,在相交区域处的渲染应当是均匀的,图4示出了在2d绘图解决方案中通过类似的两条重叠曲线(即,107’在106’之上创建,类似107与106)获得的结果,其中重叠结果取决于笔刷和物理特性。在已知的3d绘图解决方案中,不能控制颜色和曲线的混合方式。这说明了现有3d绘图解决方案的渲染质量缺陷的另一实例。
9、此外,已知的3d绘图解决方案可以基于包括三角形网格的3d色带(每条曲线一个色带)。然而,通过每条曲线使用一个3d色带不是最佳的着色方式。实际上,这意味着用于着色的三角形的数量是巨大的。图6展示了用于渲染图5中所示纹理109的大量三角形110的实例。三角形的数量影响应用的性能(例如,帧速率):实际上,渲染考虑了每个三角形,并且执行渲染所需的计算能力是所需考虑的三角形数量的函数。此外,每个三角形存储在存储器中,因此三角形的数量也影响所使用的存储器大小。因此,在现有3d绘图解决方案中,渲染需要过度使用计算资源和存储器容量,于是形成了局限性。
10、在这种情况下,仍然需要改进的解决方案来渲染包括重叠纹理的3d场景。
技术实现思路
1、提出了一种用于在3d场景中渲染两个重叠纹理的计算机实现方法。该方法在下文中被称为渲染方法。该渲染方法包括:获取包含第一渲染纹理的第一3d支持件。该渲染方法包括:获取包含第二渲染纹理的第二3d支持件。该渲染方法包括:检测到第二支持件与第一支持件相交。该渲染方法包括:通过合并第一3d支持件和第二3d支持件来计算第三3d支持件。该渲染方法包括:通过混合第一纹理和第二纹理来计算第三纹理。该渲染方法包括:在计算的第三3d支持件上渲染计算的第三纹理。该渲染方法包括:在第三3d支持件上显示渲染的第三纹理。
2、该渲染方法可以包括以下一者或多者:
3、第一支持件和第二支持件可以各自包括相应的曲面细分。第一3d支持件与第二3d本文档来自技高网...
【技术保护点】
1.一种用于在三维3D场景中渲染两个重叠纹理的计算机实现方法,所述方法包括:
2.根据权利要求1所述的方法,其中,所述第一3D支持件和所述第二3D支持件各自包括相应的曲面细分,合并所述第一3D支持件和所述第二3D支持件包括:计算所述第一3D支持件的曲面细分和所述第二3D支持件的曲面细分的并集。
3.根据权利要求2所述的方法,其中,计算所述并集包括:
4.根据权利要求1所述的方法,其中,合并所述第一3D支持件和所述第二3D支持件包括:
5.根据权利要求1所述的方法,其中,一个或多个第一点和一个或多个第二点是共面的,合并所述第一3D支持件和所述第二3D支持件包括:确定包括全部所述一个或多个第一点和所述一个或多个第二点的矩形表面,确定的所述矩形表面包括两个三角形。
6.根据权利要求1-5中任一项所述的方法,其中,所述第一纹理和所述第二纹理各自具有相应的颜色,混合所述第二纹理和所述第一纹理包括:在所述第二纹理和所述第一纹理的相交部分中将所述第一纹理的颜色与所述第二纹理的颜色混合。
7.根据权利要求1-5中任一项所述的
8.根据权利要求7所述的方法,其中,所述第二纹理具有透明度,所述第一纹理与所述第二纹理的重叠基于所述第二纹理的透明度。
9.根据权利要求1-8中任一项所述的方法,其中,获取每个3D支持件包括:
10.根据权利要求9所述的方法,其中,获取每个3D支持件还包括:
11.根据权利要求9或10所述的方法,其中,所述3D场景包括:3D建模对象(330),S20计算所述3D支持件包括:
12.根据权利要求9所述的方法,其中,所述一个或多个点是共面的,S20计算所述3D支持件(341)包括:确定包括全部所述一个或多个点的矩形表面,确定的所述矩形表面包括两个三角形。
13.一种计算机程序,包括指令,所述指令被计算机执行时,使得计算机执行根据权利要求1-12中任一项所述的方法。
14.一种计算机可读存储介质,其上记录有根据权利要求13所述的计算机程序。
15.一种系统,包括耦合到存储器的处理器,所述存储器上记录有根据权利要求13所述的计算机程序。
...【技术特征摘要】
1.一种用于在三维3d场景中渲染两个重叠纹理的计算机实现方法,所述方法包括:
2.根据权利要求1所述的方法,其中,所述第一3d支持件和所述第二3d支持件各自包括相应的曲面细分,合并所述第一3d支持件和所述第二3d支持件包括:计算所述第一3d支持件的曲面细分和所述第二3d支持件的曲面细分的并集。
3.根据权利要求2所述的方法,其中,计算所述并集包括:
4.根据权利要求1所述的方法,其中,合并所述第一3d支持件和所述第二3d支持件包括:
5.根据权利要求1所述的方法,其中,一个或多个第一点和一个或多个第二点是共面的,合并所述第一3d支持件和所述第二3d支持件包括:确定包括全部所述一个或多个第一点和所述一个或多个第二点的矩形表面,确定的所述矩形表面包括两个三角形。
6.根据权利要求1-5中任一项所述的方法,其中,所述第一纹理和所述第二纹理各自具有相应的颜色,混合所述第二纹理和所述第一纹理包括:在所述第二纹理和所述第一纹理的相交部分中将所述第一纹理的颜色与所述第二纹理的颜色混合。
7.根据权利要求1-5中任一项所述的方法,其中,混合所述...
【专利技术属性】
技术研发人员:L·佩蒂厄,Y·萨杜迪,F·莱策尔特,
申请(专利权)人:达索系统公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。