CN117373013A - 一种三维模型的可视化版本比较方法和装置 - Google Patents
一种三维模型的可视化版本比较方法和装置 Download PDFInfo
- Publication number
- CN117373013A CN117373013A CN202311303493.1A CN202311303493A CN117373013A CN 117373013 A CN117373013 A CN 117373013A CN 202311303493 A CN202311303493 A CN 202311303493A CN 117373013 A CN117373013 A CN 117373013A
- Authority
- CN
- China
- Prior art keywords
- view
- difference
- coloring
- visual
- buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000000007 visual effect Effects 0.000 title claims abstract description 106
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000004040 coloring Methods 0.000 claims abstract description 130
- 239000000872 buffer Substances 0.000 claims abstract description 98
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 33
- 238000009877 rendering Methods 0.000 claims abstract description 33
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 11
- 238000012800 visualization Methods 0.000 claims description 25
- 230000003139 buffering effect Effects 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 16
- 239000000203 mixture Substances 0.000 claims description 15
- 239000000463 material Substances 0.000 claims description 12
- 230000000694 effects Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 238000003786 synthesis reaction Methods 0.000 claims description 5
- 239000003086 colorant Substances 0.000 claims description 4
- 238000005286 illumination Methods 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 abstract description 2
- 238000004519 manufacturing process Methods 0.000 description 5
- 235000002245 Penicillium camembertii Nutrition 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
- G06V20/653—Three-dimensional objects by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种三维模型的可视化版本比较方法和装置,包括:输入渲染配置数据;输入不同版本的三维模型数据并配置视图布局和视图模式;为每个版本的三维模型数据生成每类视图模式对应的帧缓冲;选择每类视图模式对应的差异可视化着色算法对对应的帧缓冲生成差异可视化着色结果;根据选择的视图布局对差异可视化着色结果按照视图布局合成视图。该方法和装置能够比较模型文件在不同版本中几何等特征上的差异,并将差异结果以可视化的、可交互的方式呈现给用户。
Description
技术领域
本发明属于三维网格模型、图形绘制、版本对比以及可视化交叉的技术领域,具体涉及一种三维模型的可视化版本比较方法和装置。
背景技术
随着三维图形的发展成熟,在虚拟现实、仿真、工业可视化、教育、动画、游戏等产业中出现了大量的三维场景项目。一个大型的三维场景项目的版本仓库规模可达数百GB,可能有上百名包括程序员、场景美术、技术美术、模型师、动画师等产出不同内容的开发人员同时协作,属于典型的大型复杂软件工程。
在三维图形场景项目中,版本管理是协作的基础,关乎软件开发的效率。市面上目前的主流版本控制软件,如Git、Subversion等,都是以文件尤其是文本文件为中心的版本控制系统。其核心功能如变更追踪、比对、合并等对于文本文件有良好支持。然而对于三维场景项目来说,不论是从数量上还是体积上看,大多数资产文件或者是二进制文件,或者是程序化生成的大量数据组成的文本,再加上各类三维资产文件众多的数据表示方式、内容结构等,致使主流的版本控制软件的上述功能部分地甚至完全地失效。
其中多边形尤其是三角形网格模型,是主流的实时图形应用三维场景中最常使用的几何表示方法之一,其组成往往包括网格顶点的若干属性如顶点位置、顶点法线、纹理坐标等以及顶点索引构成的三角形序列。一个模型随着项目进展往往需要由三维建模、雕刻等数字内容创作(Digital Content Creation)软件进行反复修改和迭代。以三角形构成的网格模型为例,这样的修改包括但不限于网格与子网格的添加与删除、三角化网格细分、顶点的新增和删除、顶点位置变换、顶点法线的手动修改和程序化生成、顶点纹理坐标的生成和绑定,并且往往每个版本的变更都包含上述一种或多种操作的叠加和组合。而一个大型三维项目中可以包含数以千、万计网格模型,而在整个三维项目生命周期中一个模型可以迭代数个到数十上百个版本不等,这样不同模型的不同版本数量可能达到百万级别。而传统的版本控制软件又难以对三维网格模型进行解析呈现其差异,更无法做到可视化。这使得版本控制对于三维场景项目的资产生产管线变得困难,因为相关生产人员难以区分不同版本,更难以追踪不同版本之间的差异变更。
综上所述,面向三维场景的版本控制一直是三维工业界面临的挑战,其中三维模型的版本变更追踪又是典型的问题之一,且随着三维场景项目模型越来越精细,场景规模越来越大,复杂度越来越高,问题越发凸显。因此一种针对三维模型的可视化版本比较方法,对于解决三维场景项目中的模型文件的版本差异跟踪有着重要的意义,有助于提高资产生产人员和整个项目的生产效率。
发明内容
鉴于上述,本发明的目的是提供一种三维模型的可视化版本比较方法和装置,能够比较模型文件在不同版本中几何等特征上的差异,并将差异结果以可视化的、可交互的方式呈现给用户。
为了实现上述目的,本发明提供的一种三维模型的可视化版本比较方法,包括以下步骤:
输入渲染配置数据;
输入不同版本的三维模型数据并配置视图布局和视图模式;
为每个版本的三维模型数据生成每类视图模式对应的帧缓冲;
选择每类视图模式对应的差异可视化着色算法对对应的帧缓冲生成差异可视化着色结果;
根据选择的视图布局对差异可视化着色结果按照视图布局合成视图。
优选地,所述渲染配置数据包括光照信息、相机参数、显示视口参数、白模着色效果对应的白模材质参数、自定义材质;
所述视图布局包括单一视图布局、三视图对比布局、左右对比布局、序列对比布局;
所述视图模式包括着色视图、几何差异视图、法线差异视图、纹理坐标差异视图。
优选地,当不同版本三维模型数据之间坐标系存在偏移,应当在进行渲染之前基于三维模型空间进行校准对齐。
优选地,帧缓冲的类型类别由视图模式类型决定,针对着色视图,需要生成颜色缓冲;针对几何差异视图需要生成白模着色缓冲、深度缓冲、以及重心坐标缓冲;针对法线差异视图需要生成白模着色缓冲和法线缓冲;针对纹理坐标差异视图需要生成白模着色缓冲、纹理坐标缓冲。
优选地,所述选择每类视图模式对应的差异可视化着色算法对对应的帧缓冲生成差异可视化着色结果,包括:
针对着色视图,直接将颜色缓冲作为差异可视化着色结果;
针对几何差异视图,采用几何差异可视化着色算法对白模着色缓冲、深度缓冲、以及重心坐标缓冲进行着色计算,生成对应的差异可视化着色结果;
针对法线差异视图,采用法线差异可视化着色算法对白模着色缓冲和法线缓冲进行着色计算,生成对应的差异可视化着色结果;
针对纹理坐标差异视图,采用纹理坐标差异可视化着色算法对白模着色缓冲、纹理坐标缓冲进行着色计算,生成对应的差异可视化着色结果。
优选地,几何差异可视化着色算法用于呈现两个版本三维模型数据在几何方面的变化,包括两部分,第一部分基于深度缓冲和重心坐标缓冲判断像素对应的模型上的位置是否存在几何上的差异,第二部分根据白模着色缓冲生成对应的差异可视化着色结果,包括:
对所有被判断为存在几何差异的像素,按照如下方式计算得到最终着色颜色:
ColorB ′=mix(ColorB,Colordiff,wdiff) (1)
Colorfinal=mix(ColorA,ColorB ′,wmix) (2)
其中,Colorfinal是最终输出到差异可视化着色结果的颜色值,ColorA和ColorB分别为输入的两个版本三维模型数据的白模着色缓冲的颜色值,Colordiff和wdiff分别为预设的用来标记差异部分的基本颜色和混合权重,wmix是预设的为了展现两个版本差异而同时显示两个版本的着色结果的透明度,mix()为简单线性混合,定义为mix(a,b,w)=w×a+(1-w)×b,w∈[0,1];
对于未被标记为存在几何差异的像素,则直接输出其白模着色缓冲的颜色值作为差异可视化着色结果。
优选地,所述法线差异可视化着色算法用来可视化重新绑定或生成法线的变更情况,通过逐像素读取法线缓冲中的世界空间法线并比较,如果数值存在差异就标记为发生变更,对发生变更的像素,将输入的第二个版本三维模型数据的法线转换为颜色输出。
优选地,所述纹理坐标差异可视化着色算法用来可视化重新绑定或生成纹理坐标的变更情况,通过逐像素读取纹理坐标缓冲中的纹理坐标并比较,如果数值存在差异就标记为发生变更,对发生变更的像素,将输入的第二个版本三维模型数据的纹理坐标转换为颜色输出。
优选地,所述根据选择的视图布局对差异可视化着色结果按照视图布局合成视图,包括:
根据视图布局生成每个可视化输出在最终输出画面上的缩放偏移量,将输出的单张差异可视化着色结果重新写入到最终输出的可视化着色结果上依据缩放偏移量确定的对应偏移位置上。
为实现上述发明目的,实施例还提供了一种三维模型的可视化版本比较装置,包括输入模块、配置模块、帧缓冲生成模块、差异化着色模块、视图合成模块;
所述输入模块用于输入渲染配置数据和不同版本的三维模型数据;
所述配置模块用于配置视图布局和视图模式;
所述帧缓冲生成模块用于为每个版本的三维模型数据生成每类视图模式对应的帧缓冲;
所述差异化着色模块用于选择每类视图模式对应的差异可视化着色算法对对应的帧缓冲生成差异可视化着色结果;
所述视图合成模块用于根据选择的视图布局对差异可视化着色结果按照视图布局合成视图。
与现有技术相比,本发明具有的有益效果至少包括:
通过用户输入的历史版本的三维模型数据,生成每个版本三维模型数据的几何、材质、着色信息帧缓冲,再根据不同版本模型的几何、材质、着色信息帧缓冲按照差异可视化着色算法生成版本差异的可视化图像结果。从而可以为用户带来不同版本的三维模型在视觉上的差异可视化呈现,帮助模型生产和项目管理人员快速了解资产版本的差异。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
图1是实施例提供的一种三维模型的可视化版本比较方法的流程图;
图2是实施例提供的一种三维模型的可视化版本比较装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
如图1所示,本发明实施例提供的一种三维模型的可视化版本比较方法,包括以下步骤:
S01,输入渲染配置数据。
实施例中,按照用户输入或者系统预设的参数,生成进行模型渲染需要的全部渲染配置数据,包括光照信息、相机参数、显示视口参数、白模着色效果对应的白模材质参数、自定义材质等。值得注意的是,为了更好地为用户提供模型几何信息的视觉差异呈现,本发明实施例为用户提供了白模着色效果显示,这部分效果的材质信息也包含在渲染配置内,允许用户配置自定义的材质作为几何差异可视化的一种渲染效果。
S02,输入不同版本的三维模型数据并配置视图布局和视图模式。
实施例中,接收用户向系统输入两个或多个版本的三维模型数据,这一输入应当为两个或多个独立的三维模型数据,每个三维模型数据无论是否包含子模型或其他下级结构,都被认为是一个完整的版本。如果不同版本三维模型数据之间坐标系存在偏移,应当在进行渲染之前基于三维模型空间进行校准对齐。
除了输入三维模型数据,用户还需要进行视图布局和视图模式的配置。具体来说,本发明实施例中视图布局包括单一视图布局、三视图对比布局、左右对比布局、序列对比布局等。视图布局不仅会决定最终将多少张对比的差异化结果在画面上排布呈现给用户,同时也会决定进行差异可视化着色任务的数量和输入。
单一视图布局对应输入的两个版本三维模型数据,将两个版本三维模型数据按照相同的渲染配置分别执行S03生成各自的帧缓冲,然后以这两个版本三维模型数据的帧缓冲作为输入进行S04生成一个差异可视化着色结果,经S05合成该画面到最终输出。
三视图模式则是根据用户输入或预设得到正交的一组三个相机位置,分别采用三个相机配置,对每个相机配置都按照单一视图布局的方式生成总计三个差异可视化着色结果,然后按顺序排列输出,可以按照输出顺序从上到下、从左到右排列,多张视图时可按视口宽高比等比缩放。
左右对比布局是对于两个版本三维模型数据V1和V2,分别执行S03生成帧缓冲FBV1和FBV2后,分别以(FBV1,FBV2)和(FBV2,FBV1)作为输入执行S04差异可视化着色得到差异可视化着色结果R1和R2,然后将结果左右排布按视口缩放输出。
序列视图布局对应输入的一系列版本V1,V2,…,VN,对于输入的每两个相邻的Vi和Vi+1(1≤i≤N-1)按照单一视图布局的模式分别执行S03和S04,然后将生成的N-1个可视化着色结果R1…RN-1,按顺序排列输出。
本发明实施例中的视图模式包括着色视图、几何差异视图、法线差异视图、纹理坐标差异视图等,视图模式决定了S03中需要生成的帧缓冲的种类和数量以及S04中采用的可视化着色算法,并最终决定呈现的可视化输出的效果。
S03,为每个版本的三维模型数据生成每类视图模式对应的帧缓冲。
本发明实施例中,对输入的每个版本三维模型数据,按照相同的预设参数生成的渲染配置,通过多目标渲染技术使用图形渲染管线,渲染出若干张记录模型几何信息的帧缓冲。生成的每张帧缓冲包含至少一种几何、材质或着色信息,如白模着色、全模着色、深度、重心坐标、世界空间法线、纹理坐标等的单通道或多通道图像序列。该步骤对于每个版本对比范围内版本都需要独立执行并生成一组独立的帧缓冲。
其中,帧缓冲(Framebuffer)指存放于显存或内存中以像素为单元保存信息的一个或一组图像,而保存具体的某种信息如颜色的帧缓冲图像可以被称为颜色缓冲。生成本发明实施例中需要的帧缓冲的技术类似于延迟着色技术中的几何缓冲(GBuffer,GeometryBuffer),以典型光栅化图形渲染管线为例,主要是通过将顶点属性经过插值生成片元或像素信息,然后通过多目标渲染将需要记录的信息输出到多个帧缓冲对象。
帧缓冲的类别由视图模式决定,且与S04中可视化着色算法的输入一致。具体来说,本发明实施例中的着色视图需要输出版本模型按照原始材质渲染得到的颜色缓冲,几何差异视图需要输出白模着色缓冲、深度缓冲、重心坐标缓冲,法线差异视图需要输出白模着色缓冲、(世界空间)法线缓冲,纹理坐标差异视图需要输出白模着色缓冲、纹理坐标缓冲。
其中,颜色缓冲和深度缓冲可由典型的渲染管线可以直接获取;白模着色缓冲是根据渲染配置和预设白模材质参数按照渲染管线着色得到;法线缓冲和纹理坐标缓冲可以经由按顶点属性(经过变换)写出得到;重心坐标缓冲的获取方法有多种,列举一种本发明实施例中的方法,在读取模型数据的时候按逐个顶点索引生成该顶点的重心坐标,然后在渲染管线中借助顶点输出插值即可得到逐像素的重心坐标信息。
S04,选择每类视图模式对应的差异可视化着色算法对对应的帧缓冲生成差异可视化着色结果。
本发明实施例中,输入两个版本三维模型数据经过S03生成的帧缓冲,然后使用屏幕空间的渲染管线按照S02中设置的视图模式选择对应的差异可视化着色算法,生成的着色结果就是其对应的可视化图像输出。由此可以得到一张或多张可视化结果。根据视图布局和视图模式,对所有输入的版本序列的帧缓冲依次完成所有视图的差异可视化结果输出。具体来说,本发明实施例中的视图模式包括着色视图、几何差异视图、法线差异视图、纹理坐标差异视图,除了着色视图是直接输出颜色缓冲作为可视化结果,其余分别对应采用S04-a几何差异可视化着色算法、S04-b法线差异可视化着色算法和S04-c纹理坐标差异可视化着色算法。
S04-a几何差异可视化着色算法主要用于呈现两个版本三维模型数据在几何方面的变化,尤其是模型增减、变形、细分和简化等变更。本发明实施例中采用的几何差异可视化着色算法可以分为两部分,一部分是基于深度缓冲和重心坐标缓冲判断像素对应的模型上的位置是否存在几何上的差异,二部分是根据白模着色缓冲生成差异可视化着色结果。
本发明实施例中采用像素深度结合重心坐标判断是否存在几何差异。由于在生成帧缓冲时采用了相同的渲染配置,意味着输入的帧缓冲采用了完全相同的相机和坐标系,因此对同一像素的采样深度就可以表征模型在相同视角上的世界坐标是否一致,这样只要两个版本三维模型数据的深度缓冲中深度不相等即可判定为该像素上对应的几何坐标在两个版本间存在差异。然而仅通过深度相等来判断是不准确的,如果两个版本三维模型数据之间存在变形或其他变更,但是在特定的几何位置上不同版本三维模型数据仍可能重叠,此时该点将不会被差异着色。为了解决这个问题,本发明实施例中加入了重心坐标缓冲提供的重心坐标信息来表征模型的局部几何信息。因为在修改顶点坐标的变更中,保证一点在全局几何信息(表面世界坐标)和局部几何信息(表面重心坐标)上都不变的可能性几乎可以忽略不计。因此只要两个版本三维模型数据的深度缓冲或重心坐标缓冲在同一像素上不同就可以标记像素为变更,这样的判断方法可以覆盖大多数发生变更的情况。
对所有被判断为存在几何差异的像素,按照公式(1)(2)计算得到最终着色颜色Colorfinal。对于未被标记为存在几何差异的像素,则直接输出其白模着色缓冲的颜色值作为差异可视化着色结果。
S04-b法线差异可视化着色算法和S04-c纹理坐标差异可视化着色算法,分别用来可视化重新绑定/生成法线和纹理坐标的变更情况,二者在流程上基本一致,在使用的数据上存在差别。具体来说,通过逐像素读取法线缓冲和纹理坐标缓冲中的世界空间法线/纹理坐标并比较,如果数值存在差异就标记为发生变更,对发生变更的像素本发明实施例中采用的着色可视化方案是将输入的第二个版本三维模型数据的法线/纹理坐标转换为颜色输出,在左右对比视图模式可以呈现更好的可视化效果。如果像素没有被标记为发生变更,则输出该像素对应的白模着色缓冲。
S05,根据选择的视图布局对差异可视化着色结果按照视图布局合成视图。
本发明实施例中,根据输入视图布局,将S04得到的所有可视化结果根据视图布局排列、合并组成最终输出的画面,具体地,根据S02的视图布局设置,生成每个可视化输出在最终输出的画面上的缩放偏移量。对S04输出的单张差异可视化着色结果,将其重新写入到最终输出的可视化着色结果上依据缩放偏移量确定的对应偏移位置上。重复上述过程直到所有的可视化着色结果都输出完,得到最终的可视化结果。
基于同样的发明构思,如图2所示,实施例还提供了一种三维模型的可视化版本比较装置20,包括输入模块21、配置模块22、帧缓冲生成模块23、差异化着色模块24、视图合成模块25;其中,输入模块21用于输入渲染配置数据和不同版本的三维模型数据;配置模块22用于配置视图布局和视图模式;帧缓冲生成模块23用于为每个版本的三维模型数据生成每类视图模式对应的帧缓冲;差异化着色模块24用于选择每类视图模式对应的差异可视化着色算法对对应的帧缓冲生成差异可视化着色结果;视图合成模块25用于根据选择的视图布局对差异可视化着色结果按照视图布局合成视图。
需要说明的是,上述实施例提供的三维模型的可视化版本比较装置在进行三维模型的可视化版本比较时,应以上述各功能模块的划分进行举例说明,可以根据需要将上述功能分配由不同的功能模块完成,即在终端或服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的三维模型的可视化版本比较装置与三维模型的可视化版本比较方法实施例属于同一构思,其具体实现过程详见三维模型的可视化版本比较方法实施例,这里不再赘述。
上述实施例提供的一种三维模型的可视化版本比较方法和装置,根据用户输入的历史版本的模型,按照统一的渲染配置对每个模型按照其几何信息生成一组包含其顶点或着色属性的帧缓冲;根据输入的版本序列的模型对应的帧缓冲信息,依次进行不同版本或版本序列中的差异可视化着色,着色算法通过用户输入的视图模式决定;将两个或多个版本的差异可视化着色结果按照视图布局拼接、合成最终的可视化呈现,帮助模型生产和项目管理人员快速了解资产版本的差异。
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种三维模型的可视化版本比较方法,其特征在于,包括以下步骤:
输入渲染配置数据;
输入不同版本的三维模型数据并配置视图布局和视图模式;
为每个版本的三维模型数据生成每类视图模式对应的帧缓冲;
选择每类视图模式对应的差异可视化着色算法对对应的帧缓冲生成差异可视化着色结果;
根据选择的视图布局对差异可视化着色结果按照视图布局合成视图。
2.根据权利要求1所述的三维模型的可视化版本比较方法,其特征在于,所述渲染配置数据包括光照信息、相机参数、显示视口参数、白模着色效果对应的白模材质参数、自定义材质;
所述视图布局包括单一视图布局、三视图对比布局、左右对比布局、序列对比布局;
所述视图模式包括着色视图、几何差异视图、法线差异视图、纹理坐标差异视图。
3.根据权利要求1所述的三维模型的可视化版本比较方法,其特征在于,当不同版本三维模型数据之间坐标系存在偏移,应当在进行渲染之前基于三维模型空间进行校准对齐。
4.根据权利要求1所述的三维模型的可视化版本比较方法,其特征在于,帧缓冲的类别由视图模式类型决定,针对着色视图,需要生成颜色缓冲;针对几何差异视图需要生成白模着色缓冲、深度缓冲、以及重心坐标缓冲;针对法线差异视图需要生成白模着色缓冲和法线缓冲;针对纹理坐标差异视图需要生成白模着色缓冲、纹理坐标缓冲。
5.根据权利要求1所述的三维模型的可视化版本比较方法,其特征在于,所述选择每类视图模式对应的差异可视化着色算法对对应的帧缓冲生成差异可视化着色结果,包括:
针对着色视图,直接将颜色缓冲作为差异可视化着色结果;
针对几何差异视图,采用几何差异可视化着色算法对白模着色缓冲、深度缓冲、以及重心坐标缓冲进行着色计算,生成对应的差异可视化着色结果;
针对法线差异视图,采用法线差异可视化着色算法对白模着色缓冲和法线缓冲进行着色计算,生成对应的差异可视化着色结果;
针对纹理坐标差异视图,采用纹理坐标差异可视化着色算法对白模着色缓冲、纹理坐标缓冲进行着色计算,生成对应的差异可视化着色结果。
6.根据权利要求5所述的三维模型的可视化版本比较方法,其特征在于,几何差异可视化着色算法用于呈现两个版本三维模型数据在几何方面的变化,包括两部分,第一部分基于深度缓冲和重心坐标缓冲判断像素对应的模型上的位置是否存在几何上的差异,第二部分根据白模着色缓冲生成对应的差异可视化着色结果,包括:
对所有被判断为存在几何差异的像素,按照如下方式计算得到最终着色颜色:
ColorB ′=mix(ColorB,Colordiff,wdiff) (1)
Colorfinal=mix(ColorA,ColorB ′,wmix) (2)
其中,Colorfinal是最终输出到差异可视化着色结果的颜色值,ColorA和ColorB分别为输入的两个版本三维模型数据的白模着色缓冲的颜色值,Colordiff和wdiff分别为预设的用来标记差异部分的基本颜色和混合权重,wmix是预设的为了展现两个版本差异而同时显示两个版本的着色结果的透明度,mix()为简单线性混合,定义为mix(a,b,w)=w×a+(1-w)×b,w∈[0,1];
对于未被标记为存在几何差异的像素,则直接输出其白模着色缓冲的颜色值作为差异可视化着色结果。
7.根据权利要求5所述的三维模型的可视化版本比较方法,其特征在于,所述法线差异可视化着色算法用来可视化重新绑定或生成法线的变更情况,通过逐像素读取法线缓冲中的世界空间法线并比较,如果数值存在差异就标记为发生变更,对发生变更的像素,将输入的第二个版本三维模型数据的法线转换为颜色输出。
8.根据权利要求5所述的三维模型的可视化版本比较方法,其特征在于,所述纹理坐标差异可视化着色算法用来可视化重新绑定或生成纹理坐标的变更情况,通过逐像素读取纹理坐标缓冲中的纹理坐标并比较,如果数值存在差异就标记为发生变更,对发生变更的像素,将输入的第二个版本三维模型数据的纹理坐标转换为颜色输出。
9.根据权利要求1所述的三维模型的可视化版本比较方法,其特征在于,所述根据选择的视图布局对差异可视化着色结果按照视图布局合成视图,包括:
根据视图布局生成每个可视化输出在最终输出画面上的缩放偏移量,将输出的单张差异可视化着色结果重新写入到最终输出的可视化着色结果上依据缩放偏移量确定的对应偏移位置上。
10.一种三维模型的可视化版本比较装置,其特征在于,包括输入模块、配置模块、帧缓冲生成模块、差异化着色模块、视图合成模块;
所述输入模块用于输入渲染配置数据和不同版本的三维模型数据;
所述配置模块用于配置视图布局和视图模式;
所述帧缓冲生成模块用于为每个版本的三维模型数据生成每类视图模式对应的帧缓冲;
所述差异化着色模块用于选择每类视图模式对应的差异可视化着色算法对对应的帧缓冲生成差异可视化着色结果;
所述视图合成模块用于根据选择的视图布局对差异可视化着色结果按照视图布局合成视图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311303493.1A CN117373013A (zh) | 2023-10-10 | 2023-10-10 | 一种三维模型的可视化版本比较方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311303493.1A CN117373013A (zh) | 2023-10-10 | 2023-10-10 | 一种三维模型的可视化版本比较方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117373013A true CN117373013A (zh) | 2024-01-09 |
Family
ID=89406975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311303493.1A Pending CN117373013A (zh) | 2023-10-10 | 2023-10-10 | 一种三维模型的可视化版本比较方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117373013A (zh) |
-
2023
- 2023-10-10 CN CN202311303493.1A patent/CN117373013A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8698809B2 (en) | Creation and rendering of hierarchical digital multimedia data | |
Telea | Data visualization: principles and practice | |
US8566736B1 (en) | Visualization of value resolution for multidimensional parameterized data | |
Gallagher et al. | Computer visualization: graphics techniques for engineering and scientific analysis | |
KR100612890B1 (ko) | 3차원 이미지의 다중 특수 효과 표현 방법 및 장치 | |
Li et al. | [Retracted] Multivisual Animation Character 3D Model Design Method Based on VR Technology | |
Boubekeur et al. | A flexible kernel for adaptive mesh refinement on GPU | |
JPH06503663A (ja) | 動画作成装置 | |
CN113593051B (zh) | 一种实景可视化方法及大坝可视化方法及计算机设备 | |
CN116670723A (zh) | 用于定制产品的合成视图的高质量渲染的系统和方法 | |
US8358311B1 (en) | Interpolation between model poses using inverse kinematics | |
Gordon et al. | Computer graphics programming in OpenGL with C++ | |
Sinenko et al. | Automation of visualization process for organizational and technological design solutions | |
EP4287134A1 (en) | Method and system for generating polygon meshes approximating surfaces using root-finding and iteration for mesh vertex positions | |
CN117373013A (zh) | 一种三维模型的可视化版本比较方法和装置 | |
Akman et al. | Sweeping with all graphical ingredients in a topological picturebook | |
JP2003006552A (ja) | シミュレーションシステム、シミュレーション方法及びシミュレーションプログラム | |
KR101268865B1 (ko) | 3d 가상현실 저작도구의 실시간 재질 생성을 위한 편집 방법 | |
KR101401973B1 (ko) | 렌더링 방법 및 장치 | |
JP3268665B2 (ja) | コンピュータ・グラフィックス制作装置 | |
Trautner | Visualizing archaeological excavations based on Unity3d | |
Wang | Robust Geometry Kernel and UI for Handling Non-orientable 2-Mainfolds | |
Canepa et al. | Camarón: An open-source visualization tool for the quality inspection of polygonal and polyhedral meshes | |
US20240221317A1 (en) | Method and system for generating polygon meshes approximating surfaces using iteration for mesh vertex positions | |
US20230394767A1 (en) | Method and system for generating polygon meshes approximating surfaces using root-finding and iteration for mesh vertex positions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |