当前位置: 首页 > 专利查询>重庆大学专利>正文

一种基于显示窗口的场景分辨率的海量模型加载方法技术

技术编号:22755816 阅读:27 留言:0更新日期:2019-12-07 04:17
本发明专利技术涉及一种基于显示窗口的场景分辨率的海量模型加载方法,属于计算机图形技术领域,包括步骤:S1:利用透视投影法获取当前视角的视场范围;S2:计算最小分辨率:构造一个模型的包围球,计算单个像素点所占的模型大小即为最小分辨率;S3:加载模型最小分辨率;S4:加载模型:包括预处理阶段和实时加载阶段;在预处理阶段对模型数据块根据模型分辨率的高低进行分层编号,并根据最低分辨率模型构造包围球,将模型根据该数据结构组织到LOD实体中,然后进行实时加载。本发明专利技术基于显示窗口的场景分辨率进行模型加载,实现了根据显示窗口的场景分辨率的不同,自适应加载不同精度的模型场景。

A mass model loading method based on scene resolution of display window

The invention relates to a massive model loading method based on the scene resolution of the display window, which belongs to the technical field of computer graphics, including the following steps: S1: obtaining the field of view of the current perspective by using perspective projection method; S2: calculating the minimum resolution: constructing a model's enclosure ball, calculating the model size occupied by a single pixel point is the minimum resolution; S3: loading the model most Small resolution; S4: loading model: including pre-processing stage and real-time loading stage; in the pre-processing stage, the model data block is numbered according to the resolution of the model, and the bounding sphere is constructed according to the lowest resolution model, the model is organized into LOD entity according to the data structure, and then loaded in real time. The model is loaded based on the scene resolution of the display window, and the model scene with different precision is loaded adaptively according to the different scene resolution of the display window.

【技术实现步骤摘要】
一种基于显示窗口的场景分辨率的海量模型加载方法
本专利技术属于计算机图形
,涉及一种基于显示窗口的场景分辨率的海量模型加载方法。
技术介绍
海量模型加载技术一直是三维大场景加载里的热点问题之一。海量模型加载的主要问题是模型加载次序的问题。模型三维场景的实时快速显示是虚拟现实的基础内容,也是关键的核心环节之一,在一般硬件条件下如何实现实时动态显示一直是一个重点研究领域,细节层次模型(levelofdetail,LOD)就是其中的典型代表算法。LOD技术是指物体细节随着改物体与观察者的距离的增加而降低,该算法能通过减少构成物体的多边形面熟从而显著提升渲染速度。在现实世界重人们观察物体时,遵循近大远小的规律,越远的物体其细节程度应当越低,当物体距离人眼达到一定距离时,其在人眼中呈现出的印象可能仅仅是一个点,此时若是采用大量资源去精确描绘该物体的纹理细节显然是不合理的。对于远距离的物体仅仅使用一个点来进行描绘与使用大量资源去精确描绘物体对于观察者来说是没有区别的。LOD算法分为静态LOD和动态LOD,静态LOD为预先构造模型的多级细节层次表示,在加载时根据所需的细节表示进行调用,但由于存放了多个细节层次表示,因此占据了大量的存储空间。动态LOD根据视点的变化实时动态生成细节层次模型,但生成模型带来的时间开销很大,加载效率较低。在每次加载前,我们都动态的更新模型LOD,只加载我们需要的模型。离观察者越远,细节越少,模型越粗糙;离观察者近,细节越多,模型越精确。由于传统动态LOD算法加载模型效率低下的主要原因在于对视野之外的无需加载的模型节点依然进行加载,而且考虑到传统LOD模型仅参考视点与物体距离,对于不同屏幕分辨率有着不同的显示效果的。常规判断模型是否加载,都是基于LOD技术,以往的LOD显示技术,都是基于视点和模型的距离判断是否显示,而屏幕是直接给人的反馈,通过反复实验调整LOD参数可以近似给人一种看似最完美的视觉感受,现在出现了很多2k、4k屏幕,拥有着很高的分辨率,但是仍然有许多开发者用着五六年前的显示屏,这两种显示屏在相同大小的窗口下窗口分辨率有着很大的差别,而且显示屏分辨率是物理性质,无法从软件层面去改变。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种基于显示窗口的场景分辨率的海量模型加载,对动态LOD技术进行改进,实现了根据显示窗口的场景分辨率的不同,自适应加载不同精度的模型场景。为达到上述目的,本专利技术提供如下技术方案:一种基于显示窗口的场景分辨率的海量模型加载方法,包括以下步骤:S1:利用透视投影法获取当前视角的视场范围;S2:计算最小分辨率:构造一个模型的包围球,计算单个像素点所占的模型大小即为最小分辨率;S3:加载模型最小分辨率:建立LOD评价函数,根据模型在原点,视线与模型垂直,视点与模型距离为1的状态计算出来的LOD评价函数值为最小阈值参照,依次按照一定的倍数递增得到若干个阈值,对得到的所有LOD评价函数值进行判断属于哪个阈值区间,并进一步卸载或加载模型对应LOD实体中的高低LOD模型;S4:加载模型:包括预处理阶段和实时加载阶段;在预处理阶段对模型数据块根据模型分辨率的高低进行分层编号,并根据最低分辨率模型构造包围球,将模型根据该数据结构组织到LOD实体中,然后进行实时加载。进一步,步骤S1具体包括:利用透视投影法获取该当前视角的视场范围,设视点位置为P,视点到该模型最远投影面的垂直距离是D,视场角为α,计算出最远投影面的高度H=2D·tan(α/2),H即为所计算的视场范围。进一步,步骤S2具体包括:S21:构造一个模型的包围球,对于不规则立方体数据块,对其端点ABCDEFGH进行分析,按照x、y、z正负六个方向最远距离进行分类,然后分别计算x方向两个点的距离、y方向两个点的距离、z方向两个点的距离;选取距离最大的两个点,将两个点的连线作为包围球的直径,构建包围球,并存储包围球的直径R;S22:计算最小分辨率,R为包围球的直径长度,d为球心到视点的距离,β为球心到视点连线与视线方向夹角,获取当前窗口分辨率为x·y,则h=y,所求最小分辨率即为单个像素点所占的模型大小,因此最小分辨率为:进一步,步骤S3具体包括:建立LOD评价函数,令μ=f(K),f(K)=K·δ,δ为所述LOD的调整参数,根据不同的场景对δ进行调整,同一种场景情况下的f(K)为线性变化;δ也依据视觉心理进行确定,对于模型密集与模型稀疏的地方,屏幕中间和屏幕四周的地方,δ的值各不相同,对于确定的f(K),根据模型在原点,视线与模型垂直,视点与模型距离为1的状态计算出来的f(K)值为最小阈值参照,依次按照一定的倍数递增,即若干个阈值ε1、ε2、……εn,对得到的μ值进行判断属于哪个阈值区间,并卸载或加载模型对应LOD实体中的高低LOD模型。本专利技术的有益效果在于:因为每一个窗口的分辨率不同,若使用现有技术中的LOD技术,在高分辨率的显示屏上和低分辨率的显示屏上所显示的模型效果不一样,屏幕分辨率是无法通过软件进行改变的,并且显示屏幕是最直接给人眼反馈的,本专利技术让模型的加载去适应显示窗口的场景分辨率,让显示效果更加合理。本专利技术的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本专利技术的实践中得到教导。本专利技术的目标和其他优点可以通过下面的说明书来实现和获得。附图说明为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作优选的详细描述,其中:图1为本专利技术所述获取视场范围示意图;图2为本专利技术所述不规则立方体包围球构造图;图3为本专利技术所述计算最小分辨率示意图;图4为预处理阶段分层编号示意图;图5为实时动态LOD模型生成流程示意图;图6为本专利技术实施例所述简易LOD模型示意图;图7为本专利技术实施例所述数据结构图;图8为本专利技术实施例所述μ值为38时只加载了A层的数据示意图;图9为本专利技术实施例所述μ值为8.9时加载了A、B层的数据示意图,此时,窗口较为精细地显示场景,无法包含全部场景,其中虚线部分为无法显示的剩余场景部分;图10为本专利技术实施例所述μ值为0.521时加载了A、B、C层的数据示意图,此时,窗口较为精细地显示场景,无法包含全部场景,其中虚线部分为无法显示的剩余场景部分。具体实施方式以下通过特定的具体实例说明本专利技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本专利技术的其他优点与功效。本专利技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本专利技术的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本专利技术的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。...

【技术保护点】
1.一种基于显示窗口的场景分辨率的海量模型加载方法,其特征在于:包括以下步骤:/nS1:利用透视投影法获取当前视角的视场范围;/nS2:计算最小分辨率:构造一个模型的包围球,计算单个像素点所占的模型大小即为最小分辨率;/nS3:加载模型最小分辨率:建立LOD评价函数,根据模型在原点,视线与模型垂直,视点与模型距离为1的状态计算出来的LOD评价函数值为最小阈值参照,依次按照一定的倍数递增得到若干个阈值,对得到的所有LOD评价函数值进行判断属于哪个阈值区间,并卸载或加载模型对应LOD实体中的高低LOD模型;/nS4:加载模型:包括预处理阶段和实时加载阶段;在预处理阶段对模型数据块根据模型分辨率的高低进行分层编号,并根据最低分辨率模型构造包围球,将模型根据该数据结构组织到LOD实体中,然后进行实时加载。/n

【技术特征摘要】
1.一种基于显示窗口的场景分辨率的海量模型加载方法,其特征在于:包括以下步骤:
S1:利用透视投影法获取当前视角的视场范围;
S2:计算最小分辨率:构造一个模型的包围球,计算单个像素点所占的模型大小即为最小分辨率;
S3:加载模型最小分辨率:建立LOD评价函数,根据模型在原点,视线与模型垂直,视点与模型距离为1的状态计算出来的LOD评价函数值为最小阈值参照,依次按照一定的倍数递增得到若干个阈值,对得到的所有LOD评价函数值进行判断属于哪个阈值区间,并卸载或加载模型对应LOD实体中的高低LOD模型;
S4:加载模型:包括预处理阶段和实时加载阶段;在预处理阶段对模型数据块根据模型分辨率的高低进行分层编号,并根据最低分辨率模型构造包围球,将模型根据该数据结构组织到LOD实体中,然后进行实时加载。


2.根据权利要求1所述的基于显示窗口的场景分辨率的海量模型加载方法,其特征在于:步骤S1具体包括:利用透视投影法获取该当前视角的视场范围,设视点位置为P,视点到该模型最远投影面的垂直距离是D,视场角为α,计算出最远投影面的高度H=2D·tan(α/2),H即为所计算的视场范围。


3.根据权利要求2所述的基于显示窗口的场景分辨率的海量模型加载方法,其特征在于:步骤S2具体包括:
S...

【专利技术属性】
技术研发人员:郭茂耘张钢
申请(专利权)人:重庆大学
类型:发明
国别省市:重庆;50

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

1