A three-dimensional scene real-time visualization method based on WebGPU
By using a WebGPU-based real-time visualization method for 3D scenes, which predicts potential areas of interest using user gaze trajectory data and loads data blocks in a hierarchical manner, the problems of resource waste and incomplete images in real-time 3D scene visualization are solved, and efficient and smooth 3D scene rendering is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-22
- Publication Date
- 2026-03-17
AI Technical Summary
In browser-based real-time visualization of 3D scenes, due to limitations in network transmission bandwidth and client-side local computing resources, existing technologies cannot achieve precise synchronization between data loading and user visual intent, resulting in unnecessary resource consumption or untimely data loading causing incomplete or blurry images.
By acquiring user gaze trajectory data, analyzing trajectory features and predicting potential areas of interest, dividing data into blocks and calculating loading priorities, and using the WebGPU's parallel computing pipeline to asynchronously load and compile data blocks, the completed data is dynamically integrated and the 3D scene is rendered in real time.
It achieves synchronization between 3D scene data loading and user visual intent, reduces resource waste, improves the stability and coherence of the rendering process, and enhances the smoothness and visual quality of real-time 3D visualization.
Smart Images

Figure CN121366232B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of 3D modeling technology, and more specifically to a method for real-time visualization of 3D scenes based on WebGPU. Background Technology
[0002] In browser-based real-time visualization of 3D scenes, the limitations of network bandwidth and client-side local computing resources make it impossible to load a complete, high-precision scene model containing massive amounts of geometric and texture data into memory and render it all at once. Traditional strategies typically employ static level of detail (LOD) loading mechanisms based on view frustum or fixed distance, but these mechanisms deviate from the user's actual visual focus.
[0003] When users rapidly or randomly rotate their viewpoint, such static preloading strategies either cause unnecessary resource consumption and initial waiting delays due to preloading all potential data within the field of view, or result in hollow, blurry, or low-quality textures in the image due to failing to load detailed data of the user's instantaneous focus area in a timely manner, severely disrupting the continuity and visual fidelity of the immersive browsing experience. Therefore, how to accurately synchronize the dynamic process of data loading with the real-time changes in the user's gaze intent has become a key bottleneck in improving the efficiency and experience of real-time 3D visualization. Summary of the Invention
[0004] The purpose of this invention is to provide a real-time visualization method for 3D scenes based on WebGPU, thereby solving the aforementioned technical problems.
[0005] The objective of this invention can be achieved through the following technical solutions:
[0006] A method for real-time visualization of 3D scenes based on WebGPU includes the following steps:
[0007] Acquire continuous gaze trajectory data of the user in a 3D scene view, and obtain trajectory feature data based on the continuous gaze trajectory data;
[0008] Based on the trajectory feature data, the potential attention area of the user in the three-dimensional scene is predicted. According to the potential attention area, the corresponding geometric and texture data in the three-dimensional scene is divided into multiple data blocks of different levels, and the loading priority order of each data block is calculated.
[0009] According to the loading priority order, asynchronous loading and compilation instructions for different data blocks are sent to the graphics processor through the parallel computing pipeline of WebGPU;
[0010] In the WebGPU rendering loop, loaded and compiled data blocks are dynamically integrated and rendered into a 3D scene view in real time.
[0011] As a further aspect of the present invention: obtaining continuous gaze trajectory data includes:
[0012] Capture pointer movement events on the view plane using the pointer locking API provided by the browser, and record the view plane coordinates of the pointer corresponding to each movement event;
[0013] Based on the projection parameters and attitude parameters of the current 3D scene camera, each view plane coordinate is converted into a direction vector in the 3D scene world coordinate system;
[0014] Associate the timestamp of each movement event with its corresponding direction vector to form a single data point consisting of the timestamp and the direction vector. This data point is recorded as a line-of-sight sampling point.
[0015] The line-of-sight sampling points are sorted in chronological order to form the continuous line-of-sight trajectory data.
[0016] As a further aspect of the present invention: obtaining trajectory feature data includes:
[0017] Obtain the horizontal azimuth and vertical pitch angles corresponding to the direction vector at each line-of-sight sampling point;
[0018] Calculate the difference A1 between two adjacent horizontal azimuth angles according to the order of continuous line-of-sight trajectory data, and record it as the change in horizontal angle; calculate the difference A2 between two adjacent vertical pitch angles according to the order of continuous line-of-sight trajectory data, and record it as the change in vertical angle.
[0019] Obtain the difference A3 between the timestamps corresponding to two adjacent line-of-sight sampling points according to the order of continuous line-of-sight trajectory data, and calculate the instantaneous angular velocity. ;
[0020] The instantaneous angular velocities are sorted in order along the time axis to obtain an angular velocity sequence. The angular velocity sequence is then subjected to low-pass filtering to obtain smoothed angular velocity trend data.
[0021] The horizontal angle change, the vertical angle change, and the smoothed angular velocity trend data are used together as the trajectory feature data.
[0022] As a further aspect of the present invention: generating potential regions of interest includes:
[0023] In the smoothed angular velocity trend data, continuous intervals in which the angular velocity values are consistently below a preset threshold are identified as low velocity intervals.
[0024] Extract the direction vectors corresponding to all line-of-sight sampling points within the low-speed range, denoted as the selected vectors, calculate the average direction of the selected vectors, and use the average direction as the focal direction of the current line of sight;
[0025] Obtain the maximum and minimum values in the sequence of horizontal angle changes, calculate the difference between them, and record the difference as the horizontal diffusion angle; obtain the maximum and minimum values in the sequence of vertical angle changes, calculate the difference between them, and record the difference as the vertical diffusion angle.
[0026] Taking the current position of the 3D scene camera as the origin, a ray is emitted along the focal direction. The first intersection position of the ray with the 3D scene geometric model is calculated, and the first intersection position is recorded as the focus point.
[0027] The spatial straight-line distance from the center of interest to the camera position is obtained and denoted as the prediction distance; the larger of the horizontal diffusion angle and the vertical diffusion angle is denoted as the maximum diffusion angle; and the product of the prediction distance and the tangent of the maximum diffusion angle is denoted as the prediction radius.
[0028] Using the center point of interest as the center of the sphere and the predicted radius as the radius, a spherical spatial region is generated, and this spherical spatial region is used as the potential region of interest.
[0029] As a further aspect of the present invention: dividing the data into blocks includes:
[0030] The entire geographic space of the three-dimensional scene is pre-divided into multiple uniformly sized cubic grid units;
[0031] Cube grid cells that intersect with potential regions of interest are marked as first-level data blocks;
[0032] The cubic grid cells adjacent to the first-level data blocks are marked as second-level data blocks, and the remaining cubic grid cells are marked as third-level data blocks.
[0033] As a further aspect of the present invention: the loading priority order of computational data blocks includes:
[0034] Calculate the spatial straight-line distances between the first-level data block, the second-level data block, the third-level data block, and the center of interest point, respectively.
[0035] Each spatial straight-line distance is weighted to obtain multiple weighted distances; the weights corresponding to the first-level data block, second-level data block, and third-level data block increase sequentially.
[0036] Sort the weighted distances in ascending order of size; this sorting determines the loading priority of the corresponding data blocks.
[0037] As a further aspect of the present invention: rendering a 3D scene view includes:
[0038] Before the start of each frame in the WebGPU rendering loop, check the list of data blocks arranged in the order of loading priority;
[0039] Starting from the beginning of the data block list, query the loading and compilation status of each data block in the list in turn, and remove the data blocks with the status of "completed" from the list;
[0040] The geometric vertex data contained in the removed data blocks are merged into a vertex buffer, and the texture image data associated with the removed data blocks are merged into a texture array resource;
[0041] Using the WebGPU rendering pass encoder, a unified rendering state is set, and a single draw call is performed on the merged vertex buffer and texture array resources to render a complete 3D scene view containing scene details corresponding to the loaded data blocks.
[0042] The beneficial effects of this invention compared to the prior art are as follows:
[0043] This invention enables the data scheduling process of 3D scenes to remain synchronized with the user's visual intent through real-time feature analysis and region of interest prediction based on the user's gaze trajectory, thereby achieving a more accurate and efficient dynamic loading effect. By utilizing continuous gaze trajectories to generate angular velocity trends, focal directions, and spatial regions of interest, this invention can identify the scene location where the user is about to focus in advance. Using this as a center, 3D data is then hierarchically divided and prioritized, ensuring that data in key areas is loaded and integrated before the user's gaze arrives, thus maintaining the integrity and continuity of scene details throughout the rendering process. Simultaneously, data far from the region of interest is loaded with lower priority, effectively avoiding unnecessary consumption of network bandwidth and local computing power, making resource processing more focused and orderly. During the rendering phase, by uniformly integrating and rendering the loaded data blocks at once, redundant calls and state switching are reduced, improving the stability and coherence of the rendering process. Overall, this invention significantly improves the visualization experience under conditions of rapid changes in perspective or random gaze movement, making scene presentation smoother and clearer, and effectively reducing problems of incomplete images or missing details caused by untimely data loading, thereby improving the overall performance and visual quality of browser-based real-time 3D scene visualization. Attached Figure Description
[0044] The invention will now be further described with reference to the accompanying drawings.
[0045] Figure 1 This is a flowchart illustrating a real-time visualization method for 3D scenes based on WebGPU according to the present invention. Detailed Implementation
[0046] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0047] Please see Figure 1 As shown, this invention is a real-time visualization method for 3D scenes based on WebGPU, comprising the following steps:
[0048] Acquire continuous gaze trajectory data of the user in a 3D scene view, and obtain trajectory feature data based on the continuous gaze trajectory data;
[0049] In a preferred embodiment of the present invention, acquiring continuous gaze trajectory data includes:
[0050] The browser's pointer locking application interface captures pointer movement events within the view plane. This interface continuously provides relative displacement and event triggering time information after the user locks the pointer onto the rendering screen. By listening for these movement events in the rendering loop or event handling callbacks, the current pointer's coordinates in the view plane are recorded each time an event occurs. These recorded coordinates are typically expressed in pixels, describing the pointer's specific position on the rendering canvas plane.
[0051] To ensure that the captured data remains consistent with actual viewpoint changes, the rendering canvas is initialized with fixed size parameters, providing a stable resolution basis for the pointer's planar coordinates. After recording the view plane coordinates, they need to be converted into direction vectors in the 3D scene's world coordinate system. This conversion is based on the projection and pose parameters of the current 3D scene camera. Projection parameters include the field of view angle, screen aspect ratio, and near / far clipping planes, while pose parameters include the camera's position, orientation, and rotation in the world coordinate system. The conversion process normalizes the pointer's coordinates in the plane to the camera's projected viewport, and then uses the camera's observation matrix and projection matrix to calculate the spatial ray direction corresponding to the planar coordinates, allowing each 2D planar coordinate to be mapped to a direction vector in 3D space.
[0052] The timestamp information acquired at each movement event is associated with the converted direction vector. A data object stores both the timestamp and the direction vector, serving as an independent gaze sampling point to represent the user's observation direction at a specific moment. To ensure the accuracy of the time association, high-precision timestamps provided by the browser are directly read during event listening, enabling the sampling points to accurately reflect the user's gaze changes over a very short period. After multiple gaze sampling points are generated, they are sorted according to their timestamp order, forming a continuous gaze trajectory data sequence in the actual order of occurrence. This trajectory data comprehensively describes the continuous changes in the user's gaze direction while browsing a 3D scene. The temporal order ensures the trajectory can be correctly parsed in subsequent processing, such as for determining the stability of gaze changes or predicting the user's area of focus.
[0053] In a preferred embodiment of this invention, obtaining trajectory feature data includes:
[0054] By angularly describing the orientation of the direction vector in space, each sampling point can be expressed in terms of horizontal azimuth and vertical pitch angles. The direction vector uniquely determines a line-of-sight direction in the camera's local coordinate system. By performing three-dimensional coordinate decomposition on this vector and using the direction directly in front of the camera as the reference direction, the angles with the horizontal and vertical directions can be obtained.
[0055] After obtaining the angle values of all sampling points, the horizontal angle change of the user's gaze in a single frame is obtained by subtracting the horizontal azimuth angles of two adjacent sampling points, and the vertical angle change of the user's gaze in a single frame is obtained by subtracting the vertical pitch angles of two adjacent sampling points. This change is used to describe the speed at which the user's gaze rotates in different directions.
[0056] To make the temporal meaning of angular changes clearer, the timestamp difference between each pair of adjacent sampling points is extracted. The timestamp is typically provided by the browser's high-precision timer when the sampling points are generated. The instantaneous angular velocity can be calculated by the correspondence between the time difference and the angular change. The instantaneous angular velocity reflects the speed of changes in gaze movement, used to determine whether the user's gaze is in a stable, stationary, or rapidly rotating phase. After obtaining all instantaneous angular velocities, these values are arranged into an angular velocity sequence according to the order of the sampling points, making the angular velocity changes continuous in the time dimension.
[0057] Angular velocity sequences typically contain some noise, such as sporadic changes caused by minor pointer jitter. Therefore, a low-pass filtering step is performed after obtaining the sequence to smooth out sudden sharp changes while preserving the overall trend. The parameters of the low-pass filter can be determined in the implementation by setting weights or time constants, so that the filtered angular velocity trend data can more accurately reflect the actual movement of the user's line of sight. Finally, the changes in horizontal and vertical angles, along with the smoothed angular velocity trend data, are integrated as input for further inference of trajectory features of the region of interest, providing a continuous, stable, and resolvable basis for subsequent behavioral analysis and spatial prediction.
[0058] Based on the trajectory feature data, the potential attention area of the user in the three-dimensional scene is predicted. According to the potential attention area, the corresponding geometric and texture data in the three-dimensional scene is divided into multiple data blocks of different levels, and the loading priority order of each data block is calculated.
[0059] In a preferred embodiment of the present invention, generating a potential region of interest includes:
[0060] The process of generating potential attention zones relies on smoothed angular velocity trend data. By interpreting changes in angular velocity over time, it determines whether the user's gaze is in a stable, stationary state. When the angular velocity trend remains below a preset threshold for a period of time, it can be determined that the user's gaze has not undergone significant rapid movement within that timeframe. The preset threshold is typically set based on actual interaction experience to distinguish between rapid scanning and relative staring at different angular velocities. By setting this threshold during initialization and continuously comparing angular velocity trends during runtime, continuous low-velocity intervals can be identified.
[0061] Once the low-speed range is established, the direction vectors corresponding to all gaze sampling points within this range are extracted as a set of selected vectors to reflect the user's actual gaze direction during this time period. The number of direction vectors depends on the sampling frequency. Typically, multiple sets of relatively dense gaze direction data can be obtained under browser event-driven conditions. These vectors are superimposed one by one and then divided by the number to form the average direction. This average direction represents the overall focus direction of the user within a stable gaze cycle. For example, when a user observes a facade of a building model, although the pointer may produce unstable direction vectors due to slight vibrations, the average direction still points to the center area of that facade, thus accurately depicting the user's true gaze focus.
[0062] Based on the aforementioned average direction, the ranges of the previously calculated horizontal and vertical angle change sequences are further determined. The maximum and minimum values in the horizontal sequence are identified, and their difference is calculated to form the horizontal diffusion angle. The same operation is performed on the vertical sequence to obtain the vertical diffusion angle. The diffusion angle describes the amplitude of slight swaying of the user's gaze in different directions during stable fixation. For example, when the user maintains a fixed gaze but exhibits slight circular motions, the range of the diffusion angle reflects the width of their attention area. After determining the focus direction, the camera position is used as the starting point of the ray, and the average direction is used as the ray direction. Ray detection is performed using the geometric acceleration structure of the 3D scene or the bounding volume hierarchy of the model to obtain the first intersection point between the ray and the scene geometry model. This intersection point is the center of attention. The center of attention generally falls on the surface of the scene object where the user's vision is truly focused. For example, when a user gazes at a rock on the ground, the ray will typically hit a point on the rock's surface, thus serving as the precise focus location.
[0063] After obtaining the center of attention, the straight-line distance between it and the camera position is measured to reflect the spatial depth required for the user's current line of sight to reach that position. To form the final area of attention, the horizontal and vertical diffusion angles are compared, and the larger one is selected as the maximum diffusion angle. The prediction radius is obtained through the geometric relationship between this angle value and the prediction distance, which describes the spatial scale that covers the user's potential observation range centered on the center of attention. When the diffusion angle is larger, the prediction radius also increases, thus generating a more spacious area of attention when the user has many subtle line-of-sight movements. Once the prediction radius is determined, a spherical spatial region is constructed with the center of attention as the center. The radius of this sphere is the prediction radius. The area enclosed by the formed sphere can cover the user's potential observation range within a certain time period, thus serving as a potential area of attention to guide subsequent data block loading strategies, making data scheduling more aligned with the user's immediate visual intent.
[0064] In another preferred embodiment of the present invention, dividing the data into blocks includes:
[0065] The entire geographic space of the three-dimensional scene is pre-divided into multiple uniformly sized cubic grid units;
[0066] Cube grid cells that intersect with potential regions of interest are marked as first-level data blocks;
[0067] The cubic grid cells adjacent to the first-level data blocks are marked as second-level data blocks, and the remaining cubic grid cells are marked as third-level data blocks.
[0068] It is important to note that the loading priority order of computation data blocks includes:
[0069] Calculate the spatial straight-line distances between the first-level data block, the second-level data block, the third-level data block, and the center of interest point, respectively.
[0070] Each spatial straight-line distance is weighted to obtain multiple weighted distances; the weights corresponding to the first-level data block, second-level data block, and third-level data block increase sequentially.
[0071] Sort the weighted distances in ascending order of size; this sorting determines the loading priority of the corresponding data blocks.
[0072] According to the loading priority order, asynchronous loading and compilation instructions for different data blocks are sent to the graphics processor through the parallel computing pipeline of WebGPU;
[0073] In the WebGPU rendering loop, loaded and compiled data blocks are dynamically integrated and rendered into a 3D scene view in real time.
[0074] In another preferred embodiment of the present invention, rendering a three-dimensional scene view includes:
[0075] Under the premise of data scheduling based on loading priority, the process of initiating asynchronous loading and compilation instructions to the graphics processor using the WebGPU's parallel computing pipeline is implemented through task distribution and GPU command queue management. Each data block is encapsulated into an independent loading task after its priority is determined. This task contains the geometric data source path, texture source path, and resource description information required for compiling shaders and building buffers corresponding to the data block. Once the task is submitted to the GPU command queue, it can be executed in the background without waiting for the main rendering loop to complete. The loading processes of different data blocks do not block each other, and the GPU can process the geometry decoding and texture decoding tasks of multiple data blocks in parallel, allowing loading and rendering to run independently.
[0076] When the GPU completes the geometry construction or texture compilation task for a data block, it updates the identifier of that task in the shared state table to notify the main rendering loop that the data block is ready for integration.
[0077] During the rendering phase, before each frame begins, the data block list is checked. By reading an array structure ordered by priority, the most important data blocks are determined starting from the head of the list. The list records data including the data block's unique identifier, loading status, and GPU resource handle. When a data block's loading status shows as complete, it means its corresponding vertex data can be written to the GPU buffer, and its texture data can be added to the texture array resource; therefore, it is immediately removed from the queue. This removal operation does not delete the data content; instead, it transfers the data block from the loading queue to the resource integration process used for rendering.
[0078] To render all loaded data at once, geometric vertex data extracted from all completed data blocks is written to a unified vertex buffer. This vertex buffer is created during initialization as a dynamically expandable storage structure capable of holding vertex arrays from multiple data blocks. For example, when a scene consists of multiple regions, after the data blocks for the northern region are loaded, their vertex data is appended to the end of the buffer, making the buffer appear contiguous in memory. This contiguousness facilitates efficient pipelined processing by the GPU during the rendering phase. Similarly, texture image data is added to a texture array after decoding and uploading. The texture array allows the shader to find the corresponding texture based on the data block index using a unified resource binding method. Since multiple textures share the same format, the texture array maintains a fixed size, and the specific texture content is filled sequentially during the loading phase, eliminating the need for repeated switching of texture resources during the rendering phase.
[0079] After data integration is complete, the WebGPU rendering pipeline encoder sets the rendering state, including binding a unified vertex buffer, texture array resources, and corresponding pipeline state objects. During initialization, the pipeline state object defines the vertex input format, shader functions, depth testing methods, and rasterization rules. This is not rebuilt during the rendering phase; only dynamic resources are bound. After state setup, a single draw call is issued to render the 3D scene containing all loaded data blocks. This call causes the GPU to draw the entire integrated mesh structure based on the vertex buffer content and simultaneously select the correct texture fragments for shading based on the texture array, ensuring the final scene view matches the user's loading progress. As subsequent frames continuously execute the same checking and integration process, newly loaded data blocks are continuously added to the rendering content, gradually improving the scene's detail and maintaining real-time synchronization with the user's visual input, ensuring the stability and continuity of the visualization process.
[0080] The foregoing has provided a detailed description of one embodiment of the present invention, but this description is merely a preferred embodiment and should not be construed as limiting the scope of the invention. All equivalent variations and modifications made within the scope of the present invention should still fall within the scope of the present invention.
Claims
1. A method for real-time visualization of a three-dimensional scene based on WebGPU, characterized in that, The method comprises the following steps: obtaining continuous line-of-sight trajectory data of a user in a three-dimensional scene view, obtaining trajectory feature data based on the continuous line-of-sight trajectory data; based on the trajectory feature data, predicting a potential attention area of the user to the three-dimensional scene, dividing corresponding geometric and texture data in the three-dimensional scene into a plurality of data blocks of different levels according to the potential attention area, and calculating a loading priority order of each data block; according to the loading priority order, initiating asynchronous loading and compiling instructions for different data blocks to a graphics processor through a parallel computing pipeline of WebGPU; in a WebGPU rendering loop, dynamically integrating data blocks that have completed loading and compiling, and rendering a three-dimensional scene view in real time; obtaining continuous line-of-sight trajectory data comprises: capturing pointer movement events on the view plane through a pointer locking API provided by the browser, and recording the view plane coordinates of the pointer corresponding to each movement event; based on the projection parameters and pose parameters of the current three-dimensional scene camera, converting each view plane coordinate into a direction vector in the three-dimensional scene world coordinate system; associating the timestamp of each movement event with its corresponding direction vector to form a single data point composed of a timestamp and a direction vector, and recording this data point as a line-of-sight sampling point; sorting the line-of-sight sampling points in chronological order to form the continuous line-of-sight trajectory data; obtaining trajectory feature data comprises: obtaining the horizontal azimuth angle and the vertical pitch angle corresponding to the direction vector in each line-of-sight sampling point; calculating the difference A1 between the horizontal azimuth angles of two adjacent line-of-sight sampling points as the horizontal angle change amount, and calculating the difference A2 between the vertical pitch angles of two adjacent line-of-sight sampling points as the vertical angle change amount; According to the order of the continuous line-of-sight trajectory data, a difference A3 between time stamps corresponding to two adjacent line-of-sight sampling points is obtained, and the instantaneous angular velocity is calculated ; sorting the instantaneous angular velocities in chronological order to obtain an angular velocity sequence, and performing low-pass filtering on the angular velocity sequence to obtain smoothed angular velocity trend data; the horizontal angle change amount, the vertical angle change amount, and the smoothed angular velocity trend data are collectively used as the trajectory feature data.
2. The method of claim 1, wherein, generating a potential attention area comprises: identifying a continuous interval in which the angular velocity value is continuously below a preset threshold in the smoothed angular velocity trend data as a low speed interval; extracting the direction vectors corresponding to all line-of-sight sampling points in the low speed interval as selected vectors, calculating the average direction of the selected vectors, and taking the average direction as the focal point direction of the current line of sight; obtaining the maximum and minimum values in the horizontal angle change amount sequence, calculating the difference between the two, and taking the difference as the horizontal diffusion angle; obtaining the maximum and minimum values in the vertical angle change amount sequence, calculating the difference between the two, and taking the difference as the vertical diffusion angle; taking the position of the current three-dimensional scene camera as the origin, emitting a ray along the focal point direction, calculating the first intersection position of the ray with the three-dimensional scene geometric model, and taking the first intersection position as the attention center point; obtaining a spatial straight-line distance from the center point of interest to the camera position, denoted as a predicted distance; obtaining a larger value between the horizontal diffusion angle and the vertical diffusion angle, denoted as a maximum diffusion angle; and obtaining a product of the predicted distance and a tangent value of the maximum diffusion angle, denoted as a predicted radius; generating a spherical space region with the center point of interest as a spherical center and the predicted radius as a spherical radius, and taking the spherical space region as the potential region of interest.
3. The method of claim 2, wherein, The dividing the data blocks comprises: pre-dividing an entire geographical space range of the three-dimensional scene into a plurality of cubic grid units with uniform sizes; marking the cubic grid units intersecting with the potential region of interest as first-level data blocks; marking the cubic grid units adjacent to the first-level data blocks as second-level data blocks, and marking the remaining cubic grid units as third-level data blocks.
4. The WebGPU-based real-time visualization method of a three-dimensional scene according to claim 3, characterized in that, The calculating the loading priority order of the data blocks comprises: respectively calculating spatial straight-line distances between the center point of interest and the first-level data blocks, the second-level data blocks, and the third-level data blocks; respectively weighting each spatial straight-line distance to obtain a plurality of weighted distances, wherein the weights corresponding to the first-level data blocks, the second-level data blocks, and the third-level data blocks are sequentially increased; sequentially sorting the weighted distances in ascending order, and the sorting is the loading priority order of the corresponding data blocks.
5. The method of claim 1, wherein, The rendering the three-dimensional scene view comprises: before each frame of a WebGPU rendering loop, checking a data block list arranged according to the loading priority order; from the beginning of the data block list, sequentially querying loading and compiling states of each data block in the list, and removing the data blocks with completed states from the list; merging geometric vertex data of the removed data blocks into a vertex buffer, and merging texture image data associated with the removed data blocks into a texture array resource; using a rendering pass encoder of WebGPU, setting a uniform rendering state, and performing a drawing call on the merged vertex buffer and the texture array resource to render a complete three-dimensional scene view containing scene details corresponding to the loaded data blocks.
Citation Information
Patent Citations
Stereoscopic rendering method based on eyeball tracking and eye movement point prediction
CN106648049A
Webpage 3D rendering and control method
CN120876705A