[go: up one dir, main page]

CN111415401B - Large-scale scene rendering method based on WebGL - Google Patents

Large-scale scene rendering method based on WebGL Download PDF

Info

Publication number
CN111415401B
CN111415401B CN202010220382.4A CN202010220382A CN111415401B CN 111415401 B CN111415401 B CN 111415401B CN 202010220382 A CN202010220382 A CN 202010220382A CN 111415401 B CN111415401 B CN 111415401B
Authority
CN
China
Prior art keywords
model
data
model data
webgl
feature
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.)
Active
Application number
CN202010220382.4A
Other languages
Chinese (zh)
Other versions
CN111415401A (en
Inventor
黄敏
汪洋
张志远
杨磊
沈国红
林家祥
段创峰
胡海斌
滕丽
刘学
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Urban Construction Information Technology Co ltd
Shanghai Tunnel Engineering Co Ltd
Original Assignee
Shanghai Urban Construction Information Technology Co ltd
Shanghai Tunnel Engineering Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Urban Construction Information Technology Co ltd, Shanghai Tunnel Engineering Co Ltd filed Critical Shanghai Urban Construction Information Technology Co ltd
Priority to CN202010220382.4A priority Critical patent/CN111415401B/en
Publication of CN111415401A publication Critical patent/CN111415401A/en
Application granted granted Critical
Publication of CN111415401B publication Critical patent/CN111415401B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/04Architectural design, interior design
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Data Mining & Analysis (AREA)
  • Geometry (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Generation (AREA)

Abstract

The invention discloses a large-scale scene rendering method based on WebGL, which comprises the following steps: downloading model data; caching model data using an IndexDB; the method comprises the steps of obtaining model data, firstly searching in an IndexDB cache according to a feature id, directly returning the model data if the feature id exists in the search, and downloading the model data of a model from a network if the feature id does not exist in the search; dividing model data into corresponding space nodes for display based on a TreeGrid space dividing algorithm; rendering is carried out by a model precision scheduling algorithm based on HLOD; and (3) removing model data of the invisible model by using a shielding removing algorithm based on the WebGL technology. The invention solves the problems of low efficiency of the existing model rendering application, better user experience, system breakdown avoidance, or breakdown artifact generation.

Description

Large-scale scene rendering method based on WebGL
Technical Field
The invention relates to the field of WebGL three-dimensional rendering, in particular to a large-scale scene rendering method based on WebGL.
Background
In the BIM industry, due to the improvement of software technology and hardware capability, the application of the building information management system is also changed from a two-dimensional drawing to a three-dimensional model technology. And checking the appearance and specification of the related building through a three-dimensional model, and realizing three-dimensional model information checking such as checking the design effect of the building, checking the implementation period of the building and checking the operation and maintenance period of the building.
However, as building volumes proliferate, limited hardware capabilities are challenged by unprecedented situations such as stuck, crashes, etc. often occur.
In view of the above, the present invention proposes a method for rendering a large scene according to the algorithm design and implementation concept of software design, so as to solve the existing related problems.
Disclosure of Invention
The invention mainly aims to solve the problems of low efficiency of the existing model rendering application, good user experience, system breakdown avoidance or breakdown artifact generation, and provides a large-scale scene rendering method based on WebGL.
The technical scheme adopted by the invention is as follows: a WebGL-based large-scale scene rendering method, comprising the steps of:
using an IndexDB to cache the downloaded model data, and establishing an index list, wherein the model data has a unique corresponding feature id of a model;
performing model rendering to obtain model data of a model to be rendered, firstly searching in the IndexDB according to the feature id, directly returning corresponding model data if the feature id exists in the search, and downloading the model data of the model from a network if the feature id does not exist in the search;
dividing model data into corresponding space nodes based on a TreeGrid space dividing algorithm, and displaying by using the corresponding displayed space nodes;
model precision scheduling algorithm based on HLOD calculates the distance of the model, and model data based on TreeGrid display is rendered by using model data with corresponding precision;
removing model data of the invisible model based on a shielding removing algorithm of the WebGL technology;
rendering the model data processed by the TreeGrid, HLOD and shading rejection data.
As a preferred embodiment of the method of the present invention, the method further comprises the steps of: and (3) carrying out batch downloading of model data by utilizing the BatchDown load, making a packaging protocol, and carrying out packaging compression downloading on a plurality of model data to be rendered.
As a preferred embodiment of the method of the present invention, the packing protocol uses 4 bytes to divide the packed model data, and the value of a byte represents the byte length of the next model data.
As a preferred embodiment of the method of the present invention, the data packet is compressed using GZIP.
As a preferred embodiment of the method of the present invention, the disassembly of the data packets is performed using a multi-threaded process of the Worker technique.
As a preferred embodiment of the method of the present invention, the model data includes the feature id and the corresponding binary data of a model, and the feature id and the binary data are stored in pairs in an index list of the index db.
As a preferred embodiment of the method of the present invention, the TreeGrid-based data processing includes: and creating and distributing space nodes according to the three-dimensional space positions of the model, processing the model data by using tree algorithm space division, and calculating the space nodes needing to be rendered in a three-dimensional graph by using the positions and the visual angles of the cameras.
In the model precision scheduling algorithm based on HLOD, the distance is calculated on the space nodes divided in the TreeGrid by taking the space nodes as units, the model precision level used in the space nodes is set, and model data with lower precision level is used for rendering.
As a preferred embodiment of the method of the invention, the method further comprises the steps of: and recycling the TreeGrid, HLOG model data which are not used for a period of time in the process of shading and eliminating the data, and releasing the memory.
In the method of the present invention, in the step of releasing the memory, an LRU algorithm is used to set the age of the model data, and the model data which is not used for a period of time in the processing of the TreeGrid, HLOG and the mask reject data is subjected to a tag clearing operation.
The invention provides a large-scale three-dimensional scene rendering solution based on Web and WebGL technologies. The method improves the download processing speed of the data by using data processing technologies such as BatchDownload, worker, indexDB and the like. And TreeGridLod, HLod, occlusion elimination and other data organization technologies are used for improving the rendering performance of the three-dimensional scene.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a general flowchart of the WebGL-based large-scale scene rendering method of the present invention.
Fig. 2 is a flow chart of a data downloading process of the WebGL-based large-scale scene rendering method of the present invention.
Detailed Description
Other advantages and effects of the present invention will become apparent to those skilled in the art from the following disclosure, which describes the embodiments of the present invention with reference to specific examples. The invention may be practiced or carried out in other embodiments that depart from the specific details, and the details of the present description may be modified or varied from the spirit and scope of the present invention.
The invention provides a large-scale three-dimensional scene rendering solution mainly based on Web and WebGL technologies. The method mainly uses BatchDownload, worker, indexDB and other data processing technologies to improve the data downloading processing speed. And TreeGridLod, HLod, occlusion elimination and other data organization technologies are used for improving the rendering performance of the three-dimensional scene.
The invention will now be described in further detail with reference to the drawings and to specific examples.
Referring to fig. 1 and 2, the WebGL-based large-scale scene rendering method of the present invention mainly includes the following steps:
step S1: downloading model data from a network;
step S2: using an IndexDB to buffer downloaded model data, establishing an index list, wherein the model data has a unique corresponding feature id of a model;
step S3: performing model rendering to obtain model data of a model to be rendered, firstly searching in an index DB (database) cache according to a feature id, directly returning corresponding model data if the feature id exists in the search, and downloading the model data of the model from a network if the feature id does not exist in the search;
step S4: dividing model data into corresponding space nodes based on a TreeGrid space dividing algorithm, and displaying by using the corresponding displayed space nodes;
step S5: model precision scheduling algorithm based on HLOD calculates the distance of the model, and model data based on TreeGrid display is rendered by using model data with corresponding precision;
step S6: removing model data of the invisible model based on a shielding removing algorithm of the WebGL technology;
step S7: rendering the model data processed by TreeGrid, HLOD and shading rejection data.
Further, step S8 may be further included: and (5) recycling the TreeGrid, HLOG model data and model data which are not used for a period of time in the process of shading and rejecting data, and releasing the memory.
Specifically, in step S1, batch downloading of model data may be performed by using a batch download function based on Web technology, a packaging protocol may be formulated, and a plurality of model data to be rendered may be packaged, compressed and downloaded, and unpacked according to the protocol after the data package is downloaded. The step requires moderate data of each data packet, can effectively reduce the request quantity and waiting time of the data, and quickens the downloading speed of the model data.
In step S2, the downloaded model data is cached using the index db, and the binary data of the model is stored as a value with the feature id of the model as a key. The index db is accessed using a data key, searches data through an indexing function, and is adapted for use with a large number of structured data such as calendars, address books or notebooks. The data is saved in the index DB in key/value pairs, and the index DB and the WebStorage are both saved in a data key value mode, so that the data can be searched and ordered as long as an index is created. Therefore, when the same model is loaded again, the buffered model binary data can be directly used by using the index function of the index db, greatly reducing the latency of downloading and network traffic.
In addition, in step S2, the Web technology-based workbench function may be used to perform multithreading processing on the model data, and the data packet of the model data that is packed, compressed and downloaded in step S1 is converted by unpacking, decompressing, and other processes in the workbench thread, so that the main thread (usually responsible for UI interaction) is smooth and not blocked or dragged by some computationally intensive or high-latency tasks. Therefore, the method and the device use the workbench technology to carry out multi-thread processing of data, solve the problem that a Web browser blocks pages for a long time due to single-thread characteristics, and relieve the calculation pressure of a main thread.
In summary, the steps of the data downloading process flow of the large scene rendering method of the present invention are specifically as follows, in combination with the steps S1 to S3 described above and shown in fig. 2:
the three-dimensional graphics begin to be rendered ready for the feature id of the model to be rendered (typically, a unique corresponding feature id is added to the model at the time of model construction). Corresponding model data are acquired according to the feature ids, and according to an index list of the model data, retrieval is firstly carried out in an index xDB cache to acquire corresponding model data. The model that is not retrieved will make a network request. The network requests the data packets to make a protocol. Implementing the formulated protocol uses 4 bytes to divide the packed model data, the value of the byte represents the byte length of the next model data, and the spliced data stream is returned at the server. The client requests the data to be downloaded, and the server packs and returns the data. The client disassembles the data packet according to the protocol (the data packet disassembles the data packet and operates in the workbench thread, and does not occupy the main thread). Generally, better results are obtained when the data size of the data packet is 1M-2M. The number of requests is obviously reduced, and meanwhile, the overlong data downloading time caused by overlarge data packets is avoided. And Gzip compression is adopted for the data packet, so that the transmission data volume of the downloaded data is obviously reduced. The delay caused by the download is significantly reduced compared to the mode of a single model data download.
And unpacking the data downloaded by the data packet according to the protocol to obtain the model feature id and the corresponding binary data. The feature id and corresponding binary data are stored as key and value in the index db. The next time the model is displayed, the read data will be retrieved directly in the cache database without further network requests. The method obviously reduces the delay and achieves the real-time interaction experience of the rendering model.
In step S4, the TreeGrid-based spatial partitioning algorithm (i.e., tree algorithm, involving the spatial octree principle) partitions the model into corresponding spatial nodes, and when rendering, uses the corresponding displayed spatial nodes for display. The space division algorithm reduces the number of nodes and models to be rendered and improves the efficiency performance of three-dimensional rendering.
Specifically, in the implementation of organizing rendering model data, the creation and allocation of spatial nodes is performed according to the three-dimensional spatial position of the model, and the spatial nodes are allocated using a predefined spatial non-average eight equal-part algorithm. In the process, a large amount of model data is spatially divided and managed by a tree algorithm, the accuracy of spatial node division determines the accuracy of spatial model processing, and the camera position and the view angle determine spatial nodes visible in space, so that spatial nodes needing to be rendered are calculated by the camera position and the view angle in a three-dimensional graph. The data processing of the space reduces the number of nodes and models to be rendered to a certain extent, improves the rendering image frame rate and improves the efficiency performance of three-dimensional rendering.
In step S5, the low-precision model is rendered at a longer distance without visual error as a theoretical basis, and different model precision is used at different distances. The method is implemented and established on a space node, the distance is calculated by taking the space node as a unit, and the precision level of a model used in the space node is set. The implementation method greatly reduces the calculation times of the distance and improves the calculation speed. By using low-precision model data, the single model data volume required to be rendered is reduced under most conditions, and the rendering frame number is greatly improved. Therefore, by adopting a model precision scheduling algorithm of the HLOG (hierarchical levels of detail, hierarchical detail model) based on the WebGL, the rendering model data volume can be reduced on the premise of not influencing the rendering effect, and the rendering performance is improved to obtain a higher frame number.
In step S6, the invisible model is rejected based on the occlusion (occlusion rejection) technique of WebGL 2. In view of the performance loss of the function, a multi-frame less-shielding test scheme is designed based on the model division of the space nodes, and a better effect is achieved at a lower shielding test delay cost. After the scheme is implemented, the number of models to be rendered is greatly reduced, and the rendering performance of the three-dimensional scene is improved.
Finally, in step S8, a MemFree memory reclamation scheme based on TreeGrid, HLOD, occlusion culling. And recycling model data which is not used for a long time in TreeGrid, HLOD in batches when the CPU is idle, reducing invalid occupation of the memory, and realizing loading rendering of the oversized model scene on the basis.
Specifically, in MemFree memory release, based on TreeGrid, HLOD and data organization of occlusion rejection, the model data age is set by using the thought of an LRU algorithm, and model data which is not used for a long time in the three modules are marked and cleared to empty memory for loading a new model, so that after the scheme is implemented, the technical requirement for large scene rendering is met.
According to the large-scale scene rendering method based on the WebGL, a data downloading processing scheme of the BatchDown load, the workbench and the IndexDB is formulated based on the Web technology, the data downloading processing speed is improved, a data organization scheme of TreeGridLod, HLod and shielding rejection is formulated based on the WebGL technology, the three-dimensional scene rendering performance is improved, a large-scale three-dimensional scene rendering solution is provided, the problem that the existing model rendering application is low in efficiency, good user experience is achieved, and system breakdown or breakdown false images are avoided is solved.
It should be noted that, the structures, proportions, sizes and the like shown in the drawings attached to the present specification are used for understanding and reading only in conjunction with the disclosure of the present specification, and are not intended to limit the applicable limitations of the present invention, so that any modification of the structures, variation of proportions or adjustment of sizes of the structures, proportions and the like should not be construed as essential to the present invention, and should still fall within the scope of the disclosure of the present invention without affecting the efficacy and achievement of the present invention. Also, the terms such as "upper," "lower," "left," "right," "middle," and "a" and the like recited in the present specification are merely for descriptive purposes and are not intended to limit the scope of the invention, but are intended to provide relative positional changes or modifications without materially altering the technical context in which the invention may be practiced.
The present invention is not limited to the above-mentioned embodiments, but is not limited to the above-mentioned embodiments, and any simple modification, equivalent changes and modification made to the above-mentioned embodiments according to the technical matters of the present invention can be made by those skilled in the art without departing from the scope of the present invention.

Claims (10)

1. The large-scale scene rendering method based on WebGL is characterized by comprising the following steps of:
using an IndexDB to cache downloaded model data, and establishing an index list, wherein the model data has a unique corresponding feature id of a model;
performing model rendering to obtain model data of a model to be rendered, firstly searching in the IndexDB according to the feature id, directly returning corresponding model data if the feature id exists in the search, and downloading the model data of the model from a network if the feature id does not exist in the search;
dividing model data into corresponding space nodes based on a TreeGrid space dividing algorithm, and displaying by using the corresponding displayed space nodes;
model precision scheduling algorithm based on HLOD calculates the distance of the model, and model data based on TreeGrid display is rendered by using model data with corresponding precision;
removing model data of the invisible model part based on a shielding removing algorithm of the WebGL technology;
rendering the model data processed by the TreeGrid, HLOD and shading rejection data.
2. The WebGL-based large-scale scene rendering method according to claim 1, further comprising the steps of: and (3) carrying out batch downloading of model data by utilizing the BatchDown load, making a packaging protocol, and carrying out packaging compression downloading on a plurality of model data to be rendered.
3. The WebGL-based large-scale scene rendering method of claim 2, wherein the packing protocol divides the packed model data using 4 bytes, a value of a byte representing a byte length of the next model data.
4. The WebGL-based large-scale scene rendering method of claim 3, wherein the data packet is compressed using GZIP.
5. The WebGL-based large-scale scene rendering method of claim 4, wherein the disassembling of the data packet is performed using a multi-threaded process of a workbench technique.
6. The WebGL-based large-scale scene rendering method of claim 1, wherein the model data includes the feature id and corresponding binary data of a model, the feature id and the binary data being stored in pairs in an index list of the index db.
7. The WebGL-based large-scale scene rendering method of claim 1, wherein the TreeGrid-based data processing includes: and creating and distributing space nodes according to the three-dimensional space positions of the model, processing the model data by using tree algorithm space division, and calculating the space nodes needing to be rendered in a three-dimensional graph by using the positions and the visual angles of the cameras.
8. The WebGL-based large-scale scene rendering method according to claim 1, wherein in a model precision scheduling algorithm based on HLOD, distances are calculated on space nodes divided in the TreeGrid by taking the space nodes as units, model precision levels used in the space nodes are set, and model data with lower precision levels are used for rendering.
9. The WebGL-based large-scale scene rendering method according to claim 1, further comprising the steps of: and recycling the TreeGrid, HLOG model data which are not used for a period of time in the process of shading and eliminating the data, and releasing the memory.
10. The WebGL-based large-scale scene rendering method according to claim 9, wherein in the step of freeing the memory, an LRU algorithm is used to set a model data age, and the model data that is not used for a period of time in the TreeGrid, HLOG and mask-out data processing is subjected to a mark-clearing operation.
CN202010220382.4A 2020-03-25 2020-03-25 Large-scale scene rendering method based on WebGL Active CN111415401B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010220382.4A CN111415401B (en) 2020-03-25 2020-03-25 Large-scale scene rendering method based on WebGL

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010220382.4A CN111415401B (en) 2020-03-25 2020-03-25 Large-scale scene rendering method based on WebGL

Publications (2)

Publication Number Publication Date
CN111415401A CN111415401A (en) 2020-07-14
CN111415401B true CN111415401B (en) 2023-05-30

Family

ID=71493216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010220382.4A Active CN111415401B (en) 2020-03-25 2020-03-25 Large-scale scene rendering method based on WebGL

Country Status (1)

Country Link
CN (1) CN111415401B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115525850A (en) * 2022-10-19 2022-12-27 上海傅利叶智能科技有限公司 Method for improving speed of downloading and loading model at Web end and offline loading
CN119579748B (en) * 2024-11-04 2025-07-22 湖南腾琨信息科技有限公司 High-precision scene cloud rendering optimization method based on digital twin

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6538651B1 (en) * 1999-03-19 2003-03-25 John Hayman Parametric geometric element definition and generation system and method
WO2016142787A1 (en) * 2015-03-12 2016-09-15 Happy L-Lord AB System, method and device for three-dimensional voxel-based modeling
US9865085B1 (en) * 2017-05-08 2018-01-09 Analytical Graphics, Inc. Systems and methods for 3D modeling using skipping heuristics and fusing
CN109145366A (en) * 2018-07-10 2019-01-04 湖北工业大学 Building Information Model lightweight method for visualizing based on Web3D
CN110070613A (en) * 2019-04-26 2019-07-30 东北大学 Large-scale three dimensional scene web page display method based on model compression and asynchronous load
CN110309458A (en) * 2018-03-30 2019-10-08 北京东晨工元科技发展有限公司 BIM model based on WebGL is shown and rendering method
CN110443893A (en) * 2019-08-02 2019-11-12 广联达科技股份有限公司 Extensive building scene rendering accelerated method, system, device and storage medium
CN110910505A (en) * 2019-11-29 2020-03-24 西安建筑科技大学 Accelerated rendering method of scene model

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6538651B1 (en) * 1999-03-19 2003-03-25 John Hayman Parametric geometric element definition and generation system and method
WO2016142787A1 (en) * 2015-03-12 2016-09-15 Happy L-Lord AB System, method and device for three-dimensional voxel-based modeling
US9865085B1 (en) * 2017-05-08 2018-01-09 Analytical Graphics, Inc. Systems and methods for 3D modeling using skipping heuristics and fusing
CN110309458A (en) * 2018-03-30 2019-10-08 北京东晨工元科技发展有限公司 BIM model based on WebGL is shown and rendering method
CN109145366A (en) * 2018-07-10 2019-01-04 湖北工业大学 Building Information Model lightweight method for visualizing based on Web3D
CN110070613A (en) * 2019-04-26 2019-07-30 东北大学 Large-scale three dimensional scene web page display method based on model compression and asynchronous load
CN110443893A (en) * 2019-08-02 2019-11-12 广联达科技股份有限公司 Extensive building scene rendering accelerated method, system, device and storage medium
CN110910505A (en) * 2019-11-29 2020-03-24 西安建筑科技大学 Accelerated rendering method of scene model

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
时钢 ; .基于Mipmap的大规模地形绘制算法与仿真.计算机仿真.2015,(第02期),全文. *
智明 ; 郑姨婷 ; .HLODs模型在场景快速绘制中的应用.计算机应用.2007,(第09期),全文. *
李红辉 ; 刘冬冬 ; 杨芳南 ; .基于WebGL的3D可视化告警系统关键技术研究与应用.软件.2018,(第03期),全文. *
王锐 ; 霍亮 ; 鲍鹏 ; 方敏 ; .基于跨越式HLOD的倾斜摄影模型快速可视化方法.北京建筑大学学报.2017,(第04期),全文. *

Also Published As

Publication number Publication date
CN111415401A (en) 2020-07-14

Similar Documents

Publication Publication Date Title
CN110070613B (en) Large three-dimensional scene webpage display method based on model compression and asynchronous loading
CN110998649B (en) Flexible buffer sizing in a graphics processor
KR102003089B1 (en) Processor with efficient work queuing
JP7252209B2 (en) Texture residency checks using compressed metadata
US20160078588A1 (en) Out-of-core ray tracing with memory-efficient page generation
RU2736628C1 (en) Method and system for rendering 3d models in a browser using distributed resources
CN111415401B (en) Large-scale scene rendering method based on WebGL
US8938599B2 (en) Distributed graph storage system
CN101702245B (en) A Scalable General 3D Landscape Simulation System
CN106934058B (en) Vector data reading method and system and vector data visualization method and system
US6947049B2 (en) Method and system for synchronizing updates of vertex data with a graphics processor that is fetching vertex data
CN117237502A (en) Three-dimensional rendering method, device, equipment and medium
CN111596903A (en) Data processing method and device in rendering engine
EP3115904B1 (en) Method for managing a distributed cache
CN103645873B (en) A kind of method realizing efficient data caching in trend curve system
CN112114984A (en) Graph data processing method and device
CN115861513B (en) Data rendering method, device, computer and readable storage medium
CN115878245A (en) Data processing method and device, electronic equipment and storage medium
CN103164440B (en) The Spatial Data Engine method of Virtual reality
Shou et al. Walking Through a Very Large Virtual Environment in Real-time.
CN118377475A (en) Visual drag optimization method, device and medium based on front-end development technology
CN113157609A (en) Storage system, data processing method, data processing device, electronic device, and storage medium
CN112487129A (en) Visualization method and device for mass remote sensing vector data
CN114817090B (en) MCU communication management method and system with low RAM consumption
CN118314265B (en) Point cloud data processing method and device, electronic equipment and storage medium

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
CB03 Change of inventor or designer information

Inventor after: Huang Min

Inventor after: Liu Xue

Inventor after: Wang Yang

Inventor after: Zhang Zhiyuan

Inventor after: Yang Lei

Inventor after: Shen Guohong

Inventor after: Lin Jiaxiang

Inventor after: Duan Chuangfeng

Inventor after: Hu Haibin

Inventor after: Teng Li

Inventor before: Huang Min

Inventor before: Liu Xue

Inventor before: Wang Yang

Inventor before: Zhang Zhiyuan

Inventor before: Yang Lei

Inventor before: Shen Guohong

Inventor before: Lin Jiaxiang

Inventor before: Duan Chuangfeng

Inventor before: Hu Haibin

Inventor before: Teng Li

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant