一种在WebGL中实现可视域分析的方法技术

技术编号:33496490 阅读:21 留言:0更新日期:2022-05-19 01:07
本发明专利技术提供了一种在WebGL中实现可视域分析的方法,属于计算机图形学技术领域。包括以下步骤:虚拟相机以三维模型上一点作为渲染点,对三维模型进行渲染得到深度图;由虚拟相机的世界变换矩阵的逆矩阵和透视投影矩阵构造视椎体;在主相机视角下,在着色器内判断视椎体和三维模型的位置关系,若三维模型位于视椎体内,着色器对三维模型进行渲染;否则,对深度图处理得到最终输出深度值,根据三维模型渲染点的深度与最终输出深度值的大小关系,判断三维模型是否可见。本发明专利技术使得可视域分析不必再局限于某些专业的软件,使用浏览器即可浏览实现,具备B/S架构的所有优势。具备B/S架构的所有优势。具备B/S架构的所有优势。

【技术实现步骤摘要】
一种在WebGL中实现可视域分析的方法


[0001]本专利技术属于计算机图形学
,具体涉及一种在WebGL中实现可视域分析的方法。

技术介绍

[0002]WebGL(全写Web Graphics Library)是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0 的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,2017年1月发布WebGL 2.0规范,由于WebGL应用于浏览器技术还不是很普遍,当前端技术人员不熟悉图形学及OpenGL相关知识时,无法通过简单操作使用底层API来实现一些功能。

技术实现思路

[0003]为了克服上述现有技术存在的不足,本专利技术提供了一种在WebGL中实现可视域分析的方法。
[0004]为了实现上述目的,本专利技术提供如下技术方案:
[0005]一种在WebGL中实现可视域分析的方法,包括以下步骤:
[0006]构建虚拟相机;
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在WebGL中实现可视域分析的方法,其特征在于,包括以下步骤:构建虚拟相机;由虚拟相机的位置、饶y轴的旋转角度和饶x轴旋转的角度确定虚拟相机的世界变换矩阵;根据虚拟相机的上下开度夹角、左右开度夹角和探测距离确定虚拟相机的透视投影矩阵;虚拟相机以三维模型上一点作为渲染点,对三维模型进行渲染得到深度图;由虚拟相机的世界变换矩阵的逆矩阵和透视投影矩阵构造视椎体;在主相机视角下,在着色器内判断视椎体和三维模型的位置关系,若三维模型位于视椎体内,着色器对三维模型进行渲染;否则,对深度图处理得到最终输出深度值,根据三维模型渲染点的深度与最终输出深度值的大小关系,判断三维模型是否可见。2.根据权利要求1所述的在WebGL中实现可视域分析的方法,其特征在于,根据下式获得虚拟相机的世界变换矩阵,M=R2(β)
·
R1(α)
·
T式中,M为虚拟相机的世界变换矩阵;R2(β)为虚拟相机饶x轴旋转的角度β确定的第一旋转矩阵,R1(α)为虚拟相机饶y轴旋转的角度α确定的第二旋转矩阵,T为虚拟相机的坐标(x,y,z)确定的偏移矩阵,根据第一旋转矩阵、第二旋转矩阵和偏移矩阵计算得到虚拟相机的世界变换矩阵M的具体表达如下,3.根据权利要求1所述的在WebGL中实现可视域分析的方法,其特征在于,基于下式根据虚拟相机的上下开度夹角A、左右开度夹角B和探测距离确定虚拟相机的透视投影矩阵P,
式中,near是虚拟相机探测的最近距离,far是虚拟相机探测的最远距离;top=near*tan(A/2)bottom=top

height式中,height=2*topleft=

0.5*widthright=left+width式中,width=aspect*height式中,aspect=tan(B)/tan(A)将透视投影矩阵P化简如下:4.根据权利要求1所述的在WebGL中实现可视域分析的方法,其特征在于,所述虚拟相机以三维模型上一点作为渲染点,对三维模型进行渲染得到深度图的步骤包括:依据下式利用虚拟相机对三维模型依次进行建模变化、观察变化、投影变化、规范化坐标变换和视口变化;式中,P为虚拟相机的透视投影矩阵,V
‑1为虚拟相机的世界变换矩阵的逆矩阵,(x,y,z)为渲染点的坐标;M1为三维模型的世界变换矩阵,对三维模型依次进行平移、旋转、缩放的矩阵变换,得到三维模型的世界变换矩阵M1;根据变化后的三维模型参数计算得到最终输出深度值,
其中,最终输出深度值为一个在0

1.0之间的浮点数;将最终输出深度值编码,并利用四个rgba通道存储,得到深度图。5.根据权利要求1所述的在WebGL中实现可视域分析的方法,其特征在于,所述由虚拟相机的世界变换矩阵的逆矩阵和透视投影矩阵构造视椎体的步骤包括:依据下式根据虚拟相机的世界变换矩阵的逆矩阵和透视投影矩阵构建观察投影变换矩阵:式中,P为虚拟相机的透视投影矩阵,M
‑1为虚拟相机的世界变换矩阵的逆矩阵;依据观察投影变换矩阵构建六面视椎体,所述六面视椎体的六个面分别表示为:p1,p2,p3,p4,p5,p6,其中,p1的法向量单位向量为,normalize(a
03

a
00
,a
13

a
10
,a
23

a
20
);p1距离原点的距离为,(a
33

a
30
)/length(a
03

a
00
,a
13

a
10
,a
23

a
20
);p2的法向量单位向量为,normalize(a
03
+a
00
,a
13
+a
10
,a
23
+a
20
);p2距离原点的距离为,(a
33
+a
30
)/length(a
03
+a
00
,a
13
+a
10
,a
23

【专利技术属性】
技术研发人员:管永权郭飞胡玮卢浩浩
申请(专利权)人:西安塔力科技有限公司
类型:发明
国别省市:

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

1