CN109978979A - 提高实时渲染交互流畅性的方法、装置及电子设备 - Google Patents
提高实时渲染交互流畅性的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109978979A CN109978979A CN201910179150.6A CN201910179150A CN109978979A CN 109978979 A CN109978979 A CN 109978979A CN 201910179150 A CN201910179150 A CN 201910179150A CN 109978979 A CN109978979 A CN 109978979A
- Authority
- CN
- China
- Prior art keywords
- scene
- rendering
- frame buffer
- dynamic
- rendered
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种提高实时渲染交互流畅性的方法和装置,用于解决大规模三维场景渲染中如何既保证交互的流畅性,又避免场景闪烁的问题。本发明将三维场景划分为静态和动态两部分,初次渲染时将场景静态部分渲染到后台缓冲区予以保存,后续交互编辑场景动态部分时,先将已渲染的场景静态部分从后台缓冲区复制到帧缓冲区,再将场景的动态部分渲染到帧缓冲区,进而显示。由此大大减少了总的渲染时间,保证了交互的流畅性,同时场景不会有任何闪烁。
Description
技术领域
本发明涉及三维图形渲染技术,具体涉及BIM(Building Information Modeling)技术的核心部分——三维建筑图形渲染技术。
背景技术
作为建筑信息化技术的重要支撑,三维图形渲染在建筑相关应用软件中作为人机交互的主要界面,占据重要地位。在三维图形应用软件中,用户输入操作后,软件要以用户的输入为依据更新并渲染场景,输出新的画面,从而完成对用户输入的响应。在连续的用户输入下,软件连续更新和渲染场景,从而完成连续的交互响应。一般要保证流畅的交互体验,图形软件需要达到20帧/秒左右的渲染速率。
然而,由于建筑信息的复杂性和专业性,其软件承载的数据量非常大,当数据量大到超过显卡计算资源的负荷时,其渲染所需时间就变得不可忽视,从而难以保证流畅交互体验所需的帧率。为了保证超大规模场景渲染的流畅交互,有些软件采用分批次增量渲染的方法,即,将整个待渲染的场景数据划分为多个批次,各个批次依次渲染到缓冲区,最后再将缓冲区的渲染结果提交到显示器显示出来。当软件在渲染场景的过程中接收到用户输入,无论是否渲染完了整个场景,都会尽快结束渲染(渲染完当前正在渲染的批次,并丢弃后续的批次)并把结果提交到显示器显示出来,以便尽快处理新到来的用户输入,从而保证交互反馈的流畅性。这种渲染方法虽然提高了用户交互的流畅度,但是在连续交互时,由于分批被打断而造成场景常常不能被渲染完整,甚至时多时少而表现为闪烁不定。特别是在交互编辑场景模型时,这种闪烁表现得尤其明显。
发明内容
本发明的目的在于解决大规模场景渲染中如何既保证交互的流畅性,又避免场景闪烁的技术问题。
为了达到上述目的,本发明提供了一种提高实时渲染交互流畅性的方法,包括以下步骤:
1)将待渲染的三维场景划分为静态和动态两部分,所述动态部分为交互编辑的局部场景,所述静态部分为所述局部场景以外的场景;
2)初次渲染时,首先将场景的静态部分渲染到后台缓冲区予以保存,然后将后台缓冲区保存的静态部分渲染结果复制到帧缓冲区,再渲染场景的动态部分渲染到帧缓冲区,最后将帧缓冲区的内容显示在显示设备上。
进一步的,步骤2)之后还包括步骤3):当场景的动态部分发生变化时,先将后台缓冲区保存的静态部分渲染结果复制到帧缓冲区,再将变化后的场景动态部分渲染到帧缓冲区,最后将帧缓冲区的内容显示在显示设备上。
进一步的,步骤1)中所述局部场景为局部模型。
进一步的,所述局部模型为BIM模型。
进一步的,所述场景的动态部分发生变化包括:局部模型被拖动或者被编辑。
进一步的,所述后台缓冲区对应OpenGL的离屏渲染缓冲区对象FBO。
本发明还提供了一种提高实时渲染交互流畅性的装置,包括:
场景划分模块,用于将待渲染的三维场景划分为静态和动态两部分,所述动态部分为交互编辑的局部场景,所述静态部分为所述局部场景以外的场景;
初次渲染模块,用于先将场景的静态部分渲染到后台缓冲区予以保存,然后将后台缓冲区保存的静态部分渲染结果复制到帧缓冲区,再渲染场景的动态部分渲染到帧缓冲区,最后将帧缓冲区的内容显示在显示设备上。
进一步的,该装置还包括动态渲染模块,用于当场景的动态部分发生变化时,先将后台缓冲区保存的静态部分渲染结果复制到帧缓冲区,再将变化后的场景动态部分渲染到帧缓冲区,最后将帧缓冲区的内容显示在显示设备上。
进一步的,场景划分模块中所述局部场景为局部模型。
进一步的,所述局部模型为BIM模型。
进一步的,所述场景的动态部分发生变化包括:局部模型被拖动或者被编辑。
进一步的,所述后台缓冲区对应OpenGL的离屏渲染缓冲区对象FBO。
本发明还提供了一种电子设备,其特征在于,该电子设备包括:存储装置;一个或多个处理器;其中,存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现前述的方法。
本发明还提供了一种计算机程序产品,包括计算机程序指令,当所述指令由处理器执行时,用于实现前述的方法。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现前述的方法。
与现有技术相比,本发明通过重复使用已渲染的静态场景,避免了分批次增量渲染造成的画面频繁刷新、场景闪烁的问题。同时由于只重新渲染发生变化的局部场景,未发生改变的场景主体不会被重新渲染,减少了渲染时间,取得了流畅的交互效果,同时降低了对系统计算和显示资源的消耗。
附图说明
图1为本发明方法的流程图;
图2为本发明系统的组成结构图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图对本发明的技术方案进行清楚、完整地描述,应当理解,所描述的实施例仅仅用以解释本发明,并不限定本发明。
在大规模场景渲染中,场景主体通常不变,而处于交互编辑中的局部场景会持续改变。为了保证交互的流畅性,同时避免场景闪烁,本发明实施例提供了一种提高实时渲染交互流畅性的方法,参阅图1,包括以下步骤:
S1.将待渲染的三维场景划分为静态和动态两部分,动态部分为交互编辑的局部场景,静态部分为局部场景以外的场景。
S2.初次渲染时,首先将场景的静态部分渲染到后台缓冲区予以保存,然后将后台缓冲区保存的静态部分渲染结果复制到帧缓冲区,再渲染场景的动态部分渲染到帧缓冲区,最后将帧缓冲区的内容显示在显示设备上。
优选的,步骤S2之后还包括步骤S3:当场景的动态部分发生变化时,先将后台缓冲区保存的静态部分渲染结果复制到帧缓冲区,再将变化后的场景动态部分渲染到帧缓冲区,最后将帧缓冲区的内容显示在显示设备上。
优选的,步骤S1中所述局部场景为局部模型。进一步,所述局部模型为建筑信息领域的BIM模型。
优选的,所述场景的动态部分发生变化例如:局部模型被拖动、被编辑等常见的用户输入交互操作。
优选的,所述后台缓冲区对应OpenGL的离屏渲染缓冲区对象FBO。
参阅图2,本发明实施例还提供了一种提高实时渲染交互流畅性的装置,包括:
场景划分模块100,用于将待渲染的三维场景划分为静态和动态两部分,所述动态部分为交互编辑的局部场景,所述静态部分为所述局部场景以外的场景;
初次渲染模块200,用于首先将场景的静态部分渲染到后台缓冲区予以保存,然后将后台缓冲区保存的静态部分渲染结果复制到帧缓冲区,再渲染场景的动态部分渲染到帧缓冲区,最后将帧缓冲区的内容显示在显示设备上。
优选的,该装置还包括动态渲染模块300,用于当场景的动态部分发生变化时,先将后台缓冲区保存的静态部分渲染结果复制到帧缓冲区,再将变化后的场景动态部分渲染到帧缓冲区,最后将帧缓冲区的内容显示在显示设备上。
优选的,场景划分模块中的所述局部场景为局部模型。进一步,所述局部模型为建筑信息领域的BIM模型。
优选的,所述场景的动态部分发生变化例如:局部模型被拖动、被编辑等常见的用户输入交互操作。
优选的,所述后台缓冲区对应OpenGL的离屏渲染缓冲区对象FBO。
本发明实施例还公开了一种电子设备,该电子设备包括:存储装置;一个或多个处理器;其中,存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现前述实施例的方法。
本发明还提供了一种计算机程序产品,包括计算机程序指令,当所述指令由处理器执行时,用于实现前述实施例的方法。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现本发明前述实施例的方法。
综上,本发明公开的技术方案将不变的场景主体作为静态部分,将交互编辑的局部场景作为动态部分,首次渲染时将场景静态部分渲染到后台缓冲区中保存起来,供后续交互渲染过程中反复使用,后续在用户交互编辑时,在复用的静态场景渲染结果上叠加渲染发生变化的动态场景。由于只重新渲染发生变化的局部场景,最消耗渲染时间的静态部分不会被重新渲染,从而大大减少了总的渲染时间,保证了交互的流畅性。同时,由于不变的场景主体重复使用后台缓冲区一次性渲染好的内容,编辑交互过程中画面不会频繁刷新、场景不会有任何闪烁。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
需要说明的是,附图中的流程图和框图显示了根据本发明实施例的方法、装置和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图和框图中的每个方框可以代表一个模块、程序段或代码的一部分,包含一个或多个用于实现逻辑功能的计算机可执行指令。也要注意的是,框图和流程图中的每个方框或方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
Claims (15)
1.一种提高实时渲染交互流畅性的方法,其特征在于,包括以下步骤:
1)将待渲染的三维场景划分为静态和动态两部分,所述动态部分为交互编辑的局部场景,所述静态部分为所述局部场景以外的场景;
2)初次渲染时,首先将场景的静态部分渲染到后台缓冲区予以保存,然后将后台缓冲区保存的静态部分渲染结果复制到帧缓冲区,再渲染场景的动态部分渲染到帧缓冲区,最后将帧缓冲区的内容显示在显示设备上。
2.如权利要求1所述的方法,其特征在于,步骤2)之后还包括步骤3):当场景的动态部分发生变化时,先将后台缓冲区保存的静态部分渲染结果复制到帧缓冲区,再将变化后的场景动态部分渲染到帧缓冲区,最后将帧缓冲区的内容显示在显示设备上。
3.如权利要求1所述的方法,其特征在于,步骤1)中所述局部场景为局部模型。
4.如权利要求3所述的方法,其特征在于,所述局部模型为BIM模型。
5.如权利要求3所述的方法,其特征在于,所述场景的动态部分发生变化包括:局部模型被拖动或者被编辑。
6.如权利要求1所述的方法,其特征在于,所述后台缓冲区对应OpenGL的离屏渲染缓冲区对象FBO。
7.一种提高实时渲染交互流畅性的装置,其特征在于,包括:
场景划分模块,用于将待渲染的三维场景划分为静态和动态两部分,所述动态部分为交互编辑的局部场景,所述静态部分为所述局部场景以外的场景;初次渲染模块,用于首先将场景的静态部分渲染到后台缓冲区予以保存,然后将后台缓冲区保存的静态部分渲染结果复制到帧缓冲区,再渲染场景的动态部分到帧缓冲区,最后将帧缓冲区的内容显示在显示设备上。
8.如权利要求6所述的装置,其特征在于,还包括动态渲染模块,用于当场景的动态部分发生变化时,先将后台缓冲区保存的静态部分渲染结果复制到帧缓冲区,再将变化后的场景动态部分渲染到帧缓冲区,最后将帧缓冲区的内容显示在显示设备上。
9.如权利要求6所述的装置,其特征在于,场景划分模块中所述局部场景为局部模型。
10.如权利要求9所述的装置,其特征在于,所述局部模型为BIM模型。
11.如权利要求9所述的装置,其特征在于,所述场景的动态部分发生变化包括:局部模型被拖动或者被编辑。
12.如权利要求6所述的装置,其特征在于,所述后台缓冲区对应0penGL的离屏渲染缓冲区对象FB0。
13.一种电子设备,其特征在于,该电子设备包括:存储装置;一个或多个处理器;其中,存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-6中任一项所述的方法。
14.一种计算机程序产品,包括计算机程序指令,当所述指令由处理器执行时,用于实现如权利要求1-6中任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910179150.6A CN109978979A (zh) | 2019-03-08 | 2019-03-08 | 提高实时渲染交互流畅性的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910179150.6A CN109978979A (zh) | 2019-03-08 | 2019-03-08 | 提高实时渲染交互流畅性的方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109978979A true CN109978979A (zh) | 2019-07-05 |
Family
ID=67078414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910179150.6A Pending CN109978979A (zh) | 2019-03-08 | 2019-03-08 | 提高实时渲染交互流畅性的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109978979A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110517346A (zh) * | 2019-08-30 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 虚拟环境界面的展示方法、装置、计算机设备及存储介质 |
CN111228801A (zh) * | 2020-01-07 | 2020-06-05 | 网易(杭州)网络有限公司 | 游戏场景的渲染方法和装置、存储介质、处理器 |
CN112287249A (zh) * | 2020-12-25 | 2021-01-29 | 智道网联科技(北京)有限公司 | 地图引擎小区域事件的渲染方法及装置 |
CN114139245A (zh) * | 2021-10-29 | 2022-03-04 | 土巴兔集团股份有限公司 | 一种模型数据刷新方法及其相关设备 |
CN118484158A (zh) * | 2024-07-16 | 2024-08-13 | 上汽通用汽车有限公司 | 利用多个缓冲区进行显示的方法、计算机系统和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002015328A (ja) * | 2000-06-30 | 2002-01-18 | Matsushita Electric Ind Co Ltd | シーン記述を用いて表されるオブジェクトベースのユーザインタラクティブシーンをレンダリングする方法 |
CN101620740A (zh) * | 2008-06-30 | 2010-01-06 | 北京壁虎科技有限公司 | 交互信息生成方法及系统 |
CN107274469A (zh) * | 2017-06-06 | 2017-10-20 | 清华大学 | 面向虚拟现实的协同渲染方法 |
-
2019
- 2019-03-08 CN CN201910179150.6A patent/CN109978979A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002015328A (ja) * | 2000-06-30 | 2002-01-18 | Matsushita Electric Ind Co Ltd | シーン記述を用いて表されるオブジェクトベースのユーザインタラクティブシーンをレンダリングする方法 |
CN101620740A (zh) * | 2008-06-30 | 2010-01-06 | 北京壁虎科技有限公司 | 交互信息生成方法及系统 |
CN107274469A (zh) * | 2017-06-06 | 2017-10-20 | 清华大学 | 面向虚拟现实的协同渲染方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110517346A (zh) * | 2019-08-30 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 虚拟环境界面的展示方法、装置、计算机设备及存储介质 |
CN111228801A (zh) * | 2020-01-07 | 2020-06-05 | 网易(杭州)网络有限公司 | 游戏场景的渲染方法和装置、存储介质、处理器 |
CN112287249A (zh) * | 2020-12-25 | 2021-01-29 | 智道网联科技(北京)有限公司 | 地图引擎小区域事件的渲染方法及装置 |
CN114139245A (zh) * | 2021-10-29 | 2022-03-04 | 土巴兔集团股份有限公司 | 一种模型数据刷新方法及其相关设备 |
CN118484158A (zh) * | 2024-07-16 | 2024-08-13 | 上汽通用汽车有限公司 | 利用多个缓冲区进行显示的方法、计算机系统和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109978979A (zh) | 提高实时渲染交互流畅性的方法、装置及电子设备 | |
US8149242B2 (en) | Graphics processing apparatus, graphics library module and graphics processing method | |
US8872838B2 (en) | Primitive composition | |
CN110989878B (zh) | 小程序中的动画展示方法、装置、电子设备及存储介质 | |
CN111158866A (zh) | 一种引擎系统及其渲染方法 | |
CN108010112A (zh) | 动画处理方法、装置及存储介质 | |
CN109848985B (zh) | 一种机器人的图形编程方法、装置及智能终端 | |
US20060232589A1 (en) | Uninterrupted execution of active animation sequences in orphaned rendering objects | |
CN109275011A (zh) | 智能电视运动模式切换的处理方法及装置、用户设备 | |
CN109213607B (zh) | 一种多线程渲染的方法和装置 | |
CN106815880B (zh) | 动画复用方法和系统 | |
US20130127849A1 (en) | Common Rendering Framework and Common Event Model for Video, 2D, and 3D Content | |
CN103021008A (zh) | 一种基于可编程gpu的骨骼动画处理方法 | |
CN108171644A (zh) | 一种基于gcn架构显卡的二维图形加速方法 | |
CN114089999A (zh) | 一种前端页面生成方法及系统 | |
CN105678828B (zh) | 一种创建过渡动画的方法及装置 | |
JP5933474B2 (ja) | 制御装置プログラムの開発装置と作成方法 | |
US7999814B2 (en) | Information processing apparatus, graphics processor, control processor and information processing methods | |
US20180088938A1 (en) | In-Editor Spritesheeting | |
CN109800039A (zh) | 一种用户界面展示方法、装置、电子设备及存储介质 | |
CN115185709A (zh) | 输入法应用在Web操作系统上的跨平台实现方法及系统 | |
CN111243069B (zh) | 一种Unity3D引擎的场景切换方法和系统 | |
JP2000148134A (ja) | 画像表示方法および画像処理装置 | |
CN106582019A (zh) | 一种2d游戏角色的染色方法及装置 | |
JP2001006001A (ja) | 三次元表現制御システムと方法およびその処理プログラムを記録した記録媒体 |
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 |