LOD模型自动切换方法、装置、电子设备及存储介质制造方法及图纸

技术编号:27033385 阅读:30 留言:0更新日期:2021-01-12 11:16
本发明专利技术涉及LOD模型构建技术领域,提供了一种LOD模型自动切换方法、装置、电子设备及存储介质,该方法包括确定当前可视化窗口中经缩放或移动后得到的目标体,建立与该目标体对应的包围盒;根据所述包围盒在可视化窗口上的投影的像素值计算所述包围盒在可视化窗口上的显示像素值;根据所述包围盒在可视化窗口上的显示像素值及预设匹配规则选择与该包围盒匹配的LOD模型;调用OpenGL的glBufferData接口将确定的LOD模型传送至显卡对经缩放或移动后得到的目标体进行渲染。本发明专利技术能实现在实时渲染时,根据当前目标体模型大小所对应的切换参数,选取对应精确度的模型进行渲染。

【技术实现步骤摘要】
LOD模型自动切换方法、装置、电子设备及存储介质
本专利技术涉及LOD模型构建
,尤其涉及一种LOD模型自动切换方法、装置、电子设备及存储介质。
技术介绍
LOD(LevelsofDetail),即多细节层次技术,是一种根据三维模型与视口间距离的远近(或者模型的视口渲染的像素大小),来选择合适精细度模型进行高效渲染的技术。当可视化窗口中的目标体从原始LOD模型切换到其他层级的LOD模型时,目标体距离视口变远,目标体在可视化窗口的渲染大小变小,此时采用较为粗糙的目标体模型替换原始精确的目标体模型进行渲染,目标体的渲染效果基本不受影响,但渲染的模型顶点数降低,进而可以提升渲染性能。目前在进行不同精细度模型的切换过程中大多通过不断的人工调试和测试,选取合适的LOD切换参数。这种方法效果好,但工作量大,且不通用。因此如何实现在实时渲染时,根据当前目标体模型大小所对应的切换参数,选取对应精确度的模型进行渲染成为了亟需解决的技术问题。
技术实现思路
本专利技术的主要目的在于提供一种LOD模型自动切换方法、装置、电子设备及存储介质,旨在如何实现在实时渲染时,根据当前目标体模型大小所对应的切换参数,选取对应精确度的模型进行渲染的问题。为实现上述目的,本专利技术提供的一种LOD模型自动切换方法,该方法包括:确定步骤:确定当前可视化窗口中经缩放或移动后得到的目标体,建立与该目标体对应的包围盒;计算步骤:根据所述包围盒在可视化窗口上的投影的像素值计算所述包围盒在可视化窗口上显示像素值;匹配步骤:根据所述包围盒在可视化窗口上显示像素值及预设匹配规则选择与该包围盒匹配的LOD模型;渲染步骤:调用OpenGL的glBufferData接口将确定的LOD模型传送至显卡对经缩放或移动后得到的目标体进行渲染;所述包围盒在可视化窗口上的投影的像素值通过以下算法计算得到:其中,为模型矩阵,通过OpenGL的glGetFloatv(GL_MODELVIEW_MATRIX,mat)获取;为投影矩阵,通过OpenGL的glGetFloatv(GL_PROJECTION_MATRIX,mat)获取;为可视化窗口矩阵,计算公式如下:、为可视化窗口位置坐标,、为可视化窗口宽和高,通过OpenGL的glutGet函数获取。优选地,所述包围盒在可视化窗口上显示像素值通过以下算法计算得到:其中,,是Boundingbox'上的顶点,表示与之间的距离。优选地,所述匹配规则包括:根据预先创建的显示像素值与预设的LOD切换参数范围之间的映射关系,确定该包围盒在可视化窗口上显示像素值对应的LOD切换参数范围;根据确定的LOD切换参数范围对应的LOD模型层级匹配与该LOD模型层级对应的LOD模型。优选地,所述LOD切换参数范围为:其中,,,为包围盒在可视化窗口上显示像素值,,为误差的显示像素,,为与原始模型之间的误差,,表示分别获取上的每个顶点到所有顶点的最近距离,从中选取距离最大者对应的距离作为与原始模型之间的误差,为包围盒的实际大小,为层级LOD模型在误差最大时的模型像素值,即LOD层级切换临界值。优选地,所述LOD模型通过VCG的meshsimplification函数对原始模型进行精简得到;其中,,,为精简前的原始模型,n为LOD模型层级,为LOD任一层级,为每级精简的比例,,Modeli为精简后的LOD模型。为实现上述目的,本专利技术还进一步提供一种LOD模型自动切换装置,所述LOD模型自动切换装置包括:确定模块,用于确定当前可视化窗口中经缩放或移动后得到的目标体,建立与该目标体对应的包围盒;计算模块,用于根据所述包围盒在可视化窗口上的投影的像素值计算所述包围盒在可视化窗口上显示像素值;匹配模块,用于根据所述包围盒在可视化窗口上显示像素值及预设匹配规则选择与该包围盒匹配的LOD模型;渲染模块,用于调用OpenGL的glBufferData接口将确定的LOD模型传送至显卡对经缩放或移动后得到的目标体进行渲染;所述包围盒在可视化窗口上的投影的像素值通过以下算法计算得到:其中,为模型矩阵,通过OpenGL的glGetFloatv(GL_MODELVIEW_MATRIX,mat)获取;为投影矩阵,通过OpenGL的glGetFloatv(GL_PROJECTION_MATRIX,mat)获取;为可视化窗口矩阵,计算公式如下:、为可视化窗口位置坐标,、为可视化窗口宽和高,通过OpenGL的glutGet函数获取。为实现上述目的,本专利技术还进一步提供一种电子设备,所述电子设备包括:存储器,存储至少一个指令;及处理器,执行所述存储器中存储的指令以实现上述所述的LOD模型自动切换方法。为实现上述目的,本专利技术进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有LOD模型自动切换程序,所述LOD模型自动切换程序可被一个或者多个处理器执行,以实现如上所述的LOD模型自动切换方法的步骤。本专利技术提出的LOD模型自动切换方法、装置、电子设备及存储介质,通过确定当前可视化窗口中经缩放或移动后得到的目标体,建立与该目标体对应的包围盒;根据所述包围盒在可视化窗口上的投影的像素值计算所述包围盒在可视化窗口上的显示像素值;根据所述包围盒在可视化窗口上的显示像素值及预设匹配规则选择与该包围盒匹配的LOD模型;调用OpenGL的glBufferData接口将确定的LOD模型传送至显卡对经缩放或移动后得到的目标体进行渲染。本专利技术能实现在实时渲染时,根据当前目标体模型大小所对应的切换参数,选取对应精确度的模型进行渲染。通过最大可接受误差自动生成的LOD切换参数,可确保LOD显示效果在可接受范围,不会过于粗糙,也不会过于精细,达到性能与显示效果的平衡。附图说明图1为本专利技术一实施例提供的实现LOD模型自动切换方法的流程示意图;图2为本专利技术一实施例提供的LOD模型自动切换装置的模块示意图;图3为本专利技术一实施例提供的LOD模型自动切换方法的电子设备的内部结构示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参附图做进一步说明。具体实施方式为了使本专利技术的目的、技术本实施例及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,在本专利技术中涉本文档来自技高网...

【技术保护点】
1.一种LOD模型自动切换方法,其特征在于,该方法包括:/n确定步骤:确定当前可视化窗口中经缩放或移动后得到的目标体,建立与该目标体对应的包围盒;/n计算步骤:根据所述包围盒在可视化窗口上的投影的像素值计算所述包围盒在可视化窗口上的显示像素值;/n匹配步骤:根据所述包围盒在可视化窗口上的显示像素值及预设匹配规则选择与该包围盒匹配的LOD模型;/n渲染步骤:调用OpenGL的glBufferData接口将确定的LOD模型传送至显卡对经缩放或移动后得到的目标体进行渲染;/n所述包围盒在可视化窗口上的投影的像素值通过以下算法计算得到:/n

【技术特征摘要】
1.一种LOD模型自动切换方法,其特征在于,该方法包括:
确定步骤:确定当前可视化窗口中经缩放或移动后得到的目标体,建立与该目标体对应的包围盒;
计算步骤:根据所述包围盒在可视化窗口上的投影的像素值计算所述包围盒在可视化窗口上的显示像素值;
匹配步骤:根据所述包围盒在可视化窗口上的显示像素值及预设匹配规则选择与该包围盒匹配的LOD模型;
渲染步骤:调用OpenGL的glBufferData接口将确定的LOD模型传送至显卡对经缩放或移动后得到的目标体进行渲染;
所述包围盒在可视化窗口上的投影的像素值通过以下算法计算得到:



其中,为模型矩阵,通过OpenGL的glGetFloatv(GL_MODELVIEW_MATRIX,mat)获取;

为投影矩阵,通过OpenGL的glGetFloatv(GL_PROJECTION_MATRIX,mat)获取;

为可视化窗口矩阵,计算公式如下:




、为可视化窗口位置横坐标和纵坐标,、为可视化窗口宽和高,通过OpenGL的
glutGet函数获取。


2.如权利要求1所述的LOD模型自动切换方法,其特征在于,所述包围盒在可视化窗口上的显示像素值通过以下算法计算得到:



其中,,是Boundingbox'上的顶点,表示与之间的距离。


3.如权利要求2所述的LOD模型自动切换方法,其特征在于,所述匹配规则包括:
根据预先创建的显示像素值与预设的LOD切换参数范围之间的映射关系,确定该包围盒在可视化窗口上显示像素值对应的LOD切换参数范围;
根据确定的LOD切换参数范围对应的LOD模型层级匹配与该LOD模型层级对应的LOD模型。


4.如权利要求1所述的LOD模型自动切换方法,其特征在于,所述LOD切换参数范围为:



其中,,,为包围盒在可视化窗口上显示像
素值,,为误
差的显示像素,,为与原始模型之间的误差,,表示分别获取上的每个顶点到所有顶点的最近距离,从中
选取距离最大者对应的距离作为与原始模型之间的误差,为包围盒的实际大
小,为层级LOD模型在误差最大时的模...

【专利技术属性】
技术研发人员:欧阳强郝海风曾江佑师浩龙万旻
申请(专利权)人:江西博微新技术有限公司
类型:发明
国别省市:江西;36

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1