Mass data particle system rendering method and device based on WebGL

By optimizing particle emitter types and primitive construction through a WebGL-based particle system rendering method, and combining aggregate rendering and shader optimization, the problem of low rendering efficiency for massive data in existing technologies is solved, achieving efficient and low-cost rendering effects suitable for 3D graphics rendering scenarios.

CN120997362APending Publication Date: 2025-11-21RES INST OF CHEM DEFENSE PLA ACAD OF MILITARY SCI
View PDF 0 Cites 3 Cited by

Patent Information

Application Number
CN202511159240.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-19
Publication Date
2025-11-21

AI Technical Summary

Technical Problem

Existing particle systems in WebGIS platforms suffer from high memory consumption, high GPU resource consumption, and low rendering efficiency when processing massive amounts of data. In particular, computational resource consumption is significant under extremely large-scale data, and instantiation rendering is costly when it is difficult to handle complex particle attributes.

Method used

A WebGL-based particle system rendering method is adopted, including an emitter type determination module, a primitive construction module, an aggregate rendering module, an animation rendering and playback control module, and a single particle fine-tuning module. By optimizing particle emitter type, primitive construction, aggregate rendering, and shader optimization, the number of drawing calls is reduced, rendering efficiency is improved, and fine-tuning of individual particles is supported.

Benefits of technology

It significantly improves rendering efficiency, reduces memory and GPU resource consumption, enhances user interaction experience, and achieves efficient rendering of large-scale data and rich rendering effects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120997362A_ABST
    Figure CN120997362A_ABST
Patent Text Reader

Abstract

The invention discloses a WebGL-based mass data particle system rendering method and device, and belongs to the technical field of computer graphic processing. The method comprises the following steps: firstly, selecting the type of a particle emitter according to scene requirements, then constructing a primitive object based on points or quadrangles, and configuring three-dimensional coordinates and texture parameters; aggregation rendering is carried out on a single-frame primitive array through a WebGL vertex shader and a fragment shader, and the drawing calling frequency is reduced; the method comprises the steps of dynamically adjusting particle attributes, including position compensation, color gradient and explicit-implicit control, determining a rendering form and playing time of an animation according to requirements of an actual application scene, and supporting fine configuration of a single particle, including texture animation, dynamic scaling and rotation parameters. When a large amount of data is processed, on the premise of ensuring the rendering quality, the rendering efficiency can be remarkably improved, the consumption of a memory and GPU resources can be reduced, the response time of the system can be optimized, and meanwhile, the interaction experience of a user can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the technical field of computer graphics processing, and particularly relates to a massive data particle system rendering method and device based on WebGL, which is suitable for efficient processing of large-scale particle effects in three-dimensional graphics rendering scenes, such as virtual reality, game development, simulation, etc. BACKGROUND

[0002] A particle system simulates complex physical phenomena (such as smoke, fire, explosion) by managing the attributes (position, velocity, color, size, etc.) of a large number of tiny particles. In the prior art, the native particle system of Cesium and other WebGIS platforms has the following problems when processing massive data: high memory occupation: a large amount of particle information needs to be stored, resulting in high memory pressure; high GPU resource consumption: traditional rendering methods require frequent drawing calls, resulting in low GPU utilization; low rendering efficiency: complex calculations and drawing processes cannot meet real-time rendering requirements. The existing optimization methods mainly include level of detail (LOD) technology and instanced rendering, but the LOD technology still needs to process massive data even at the lowest level of detail, resulting in significant consumption of computing resources; instanced rendering is difficult to process in bulk when particle attributes are complex, resulting in high classification costs. SUMMARY

[0003] (I) Invention purpose

[0004] The purpose of the present application is to provide a more efficient particle system rendering method and device that can significantly improve rendering efficiency, reduce memory and GPU resource consumption, optimize system response time, and improve user interaction experience while ensuring rendering quality when processing large amounts of data.

[0005] (II) Technical solution

[0006] To achieve the above purpose and solve the above technical problems, the technical solution of the present application is as follows:

[0007] A massive data particle system rendering device based on WebGL includes a emitter type determination module, a primitive construction module, an aggregated rendering module, an animation rendering and playback control module, and a single particle refinement processing module.

[0008] The emitter type determination module is used to determine the type of particle emitter from a plurality of preset types according to the actual scene requirements; it internally stores the relevant parameter setting information of various types of emitters, accurately matches and selects the appropriate particle emitter type based on the user input scene description or system preset scene mode, and provides a basis for subsequent construction of primitive objects; for complex scenes, it has the function of selecting multiple types of particle emitters and dynamically adjusting the parameters of each emitter;

[0009] The primitive construction module constructs a corresponding primitive object according to the particle emitter type selected by the emitter type determination module; different primitive types can be selected, and a primitive with less number of triangular faces is automatically adapted to represent the particle according to the rendering efficiency requirement; a three-dimensional coordinate position and a texture setting parameter are accurately assigned to each primitive object, scene coordinate information is obtained through interaction with an external scene data interface for positioning the primitive, and appropriate texture data is called from a texture resource library for texture setting; a space partitioning algorithm is used to organize the primitive objects to accelerate the primitive searching and culling during rendering;

[0010] The aggregation rendering module is responsible for combining single-frame primitives into an array and performing aggregation rendering operations; a variety of shading scheme algorithm libraries are integrated internally, and specific vertex and fragment shaders can be selected and specified according to rendering requirements; the rendering call logic is optimized to reduce the number of rendering calls and improve rendering efficiency; the shader program writing and optimization function is provided, and efficient shader programs are written according to different rendering effect requirements, and the vertex and fragment shaders are optimized in parallel using the parallel computing capability of the GPU;

[0011] The animation rendering and playback control module is used to determine the rendering form and playback time of the animation according to the requirements of the actual application scene; during the animation rendering process, the coordinate position object of the particle can be obtained, the position compensation calculation is performed according to the particle motion law, and the space position of the particle is adjusted by reassignment; if a new particle package needs to be added, a new particle data can be generated by calling the mathematical model module, and then the primitive construction module, the aggregation rendering module and the shading scheme are coordinated to repeat the related steps; the time interpolation algorithm is introduced to make the particle motion more smooth;

[0012] The single particle refinement processing module includes a collection object creation submodule, a single particle configuration submodule, a particle adding submodule, and an animation rendering and updating submodule.

[0013] The collection object creation submodule: a new collection object is created and added to the scene; it closely cooperates with the scene management module to ensure that the newly created collection object can be correctly integrated into the scene architecture, facilitating subsequent batch operation and management of particle objects; the collection object nesting is supported, and different levels of particle collections can be uniformly managed;

[0014] The single particle configuration submodule: a single particle object is configured in detail, and a series of parameter setting interfaces are provided, including the following:

[0015] Position parameter: absolute coordinate and relative coordinate setting mode are supported;

[0016] Image parameter: single texture, texture animation, and texture sequence are supported;

[0017] Rendering scale parameter: uniform scaling and non-uniform scaling are supported;

[0018] Offset adjustment, rotation angle parameter, support rotating around X axis, Y axis, Z axis and arbitrary angle rotation;

[0019] Dynamic change parameter, used to realize dynamic change of particles in animation process, including color gradient, transparency change, size change, supporting linear change, nonlinear change, random change;

[0020] Dynamic display configuration parameter, control the visibility of particles in the animation process, support time control, condition control, random control and custom attribute setting;

[0021] According to the user or system requirement, the attribute and behavior of single particle can be accurately set;

[0022] Particle adding submodule: add the configured single particle object to the collection object, through the interaction with the collection object creation submodule and scene management module, ensure that the particle object can be correctly added to the corresponding collection, realize the unified management and operation of particles through the collection object;

[0023] Animation rendering and updating submodule: according to the actual application scene requirement, determine the rendering form and playing time of animation; in the process of animation rendering, the configuration parameters of single particle can be obtained, and according to the requirement, the space position or attribute of particle is adjusted; if new particle package needs to be added or existing particle package needs to be modified, single particle configuration submodule and particle adding submodule can be called, and the related steps are repeated; it has the function of real-time updating the state and attribute of particle system, through the data interaction with other modules, timely respond to the change requirement of dynamic scene.

[0024] Meanwhile, the application also provides a massive data particle system rendering method based on WebGL, which specifically includes the following steps:

[0025] Step 1, according to the scene requirement, select the particle emitter type, including cylindrical emitter, spherical emitter, conical emitter or cubic emitter;

[0026] Step 2, construct the primitive object based on point or quadrangle, and configure three-dimensional coordinates and texture parameters;

[0027] Step 3, aggregate rendering of single frame primitive array through WebGL vertex shader and fragment shader, reduce the drawing call times;

[0028] Step 4, dynamically adjust the particle attribute, including position compensation, color gradient and display control, according to the actual application scene requirement, determine the rendering form and playing time of animation.

[0029] The rendering method supports the fine configuration of a single particle, including texture animation, dynamic scaling and rotation parameters.

[0030] (III) Effective income

[0031] The present application restructures the rendering process of the particle system by using WebGL underlying technology, and realizes efficient rendering of large data sets.

[0032] (1) Improve rendering efficiency: through aggregation rendering and shader optimization, etc., the rendering efficiency of the particle system is significantly improved, and the number of drawing calls and GPU resource consumption is reduced.

[0033] (2) Reduce memory usage: by optimizing the storage and management of particle data, the amount of memory used is reduced, so that the particle system can handle larger data sets.

[0034] (3) Enhance rendering effect: by supporting multiple types of particle emitters and fine processing of single particles, more rich rendering effects and more flexible particle behavior control are realized.

[0035] (4) Improve scalability: the technical solution of the present application is based on WebGL underlying technology, and has good scalability and compatibility, which can be easily integrated into various three-dimensional graphics rendering engines and application programs. BRIEF DESCRIPTION OF DRAWINGS

[0036] Figure 1 The present application provides a process flow diagram for realizing the present application. DETAILED DESCRIPTION

[0037] The present application will be further explained and described below in conjunction with the drawings.

[0038] The present application provides a WebGL-based massive data particle system rendering method and device, which restructures the rendering process of the particle system by using the underlying rendering capability of WebGL, and realizes efficient rendering of large data sets.

[0039] Figure 1 The present application provides a WebGL-based massive data particle system rendering method and device, which restructures the rendering process of the particle system by using the underlying rendering capability of WebGL, and realizes efficient rendering of large data sets.

[0040] As shown in Figure 1 The present application provides a WebGL-based massive data particle system rendering method and device, which restructures the rendering process of the particle system by using the underlying rendering capability of WebGL, and realizes efficient rendering of large data sets.

[0041] Step 1, determine the type of particle emitter

[0042] Determine the type of particle emitter based on the requirements of the actual scene. Particle emitters are the source of particles in a particle system, and their type determines the distribution shape and motion of the particles. This invention supports multiple types of particle emitters, including but not limited to:

[0043] Cylinder emitter: suitable for simulating columnar smoke, fountain, etc. By setting the radius of the bottom surface, height and axial direction of the cylinder, particles can be generated uniformly distributed along the surface of the cylinder.

[0044] Sphere emitter: suitable for simulating explosion, fireball, etc. By setting the radius of the sphere, particles can be generated uniformly distributed on the surface of the sphere.

[0045] Cone emitter: suitable for simulating conical spray, flame injection, etc. By setting the radius of the bottom surface, height and cone angle of the cone, particles can be generated uniformly distributed along the surface of the cone.

[0046] Cube emitter: suitable for simulating cubic particle groups, such as dust, debris, etc. By setting the side length of the cube, particles can be generated uniformly distributed inside the cube.

[0047] Step 2, build primitive objects

[0048] According to the selected particle emitter type, build the corresponding primitive object. Primitives are the basic units of three-dimensional graphics, such as points, lines, triangles, etc. In the particle system, points or quadrilaterals are usually used as the primitive of particles.

[0049] In order to improve rendering efficiency, this invention selects primitives with fewer triangular faces to represent particles. For example, for point particles, directly use the point drawing mode of WebGL; for quadrilateral particles, use two triangles to combine.

[0050] At the same time, give each primitive object accurate three-dimensional coordinate position and texture settings. The three-dimensional coordinate position determines the accurate position of the particle in the scene, while the texture settings determine the appearance characteristics and properties of the particle. By adjusting the texture parameters, the color change, transparency adjustment and animation effect of the particle can be realized.

[0051] (Three) Aggregated rendering

[0052] Combine single-frame primitives into an array and perform aggregated rendering. Aggregated rendering is a technique to optimize rendering performance by reducing the number of drawing calls, significantly improving rendering efficiency.

[0053] In the aggregation rendering process, a specific shading scheme needs to be specified. The shading scheme is an algorithm or program that determines the rendering method of the primitive, including the vertex shader and the fragment shader. The vertex shader is responsible for processing the vertex data of the primitive, such as position, normal, texture coordinate, etc.; the fragment shader is responsible for processing the pixel data of the primitive, such as color, transparency, etc.

[0054] In addition, by writing efficient shader programs, various complex rendering effects such as lighting, shadows, and fog effects can be achieved. At the same time, the shader program can be optimized according to the needs to further improve the rendering performance.

[0055] (IV) Animation rendering and playing

[0056] According to the needs of the actual application scene, determine the rendering form and playing time of the animation. The rendering form of the animation can be divided into real-time rendering and pre-rendering. Real-time rendering is suitable for scenes that require dynamic interaction, such as games, virtual reality, etc.; pre-rendering is suitable for scenes that require high-quality rendering results, such as film special effects, animation production, etc.

[0057] In the animation rendering process, if you need to adjust the spatial position of the particle, you only need to get its coordinate position object and reassign it after corresponding position compensation. Position compensation can be calculated according to the motion law of the particle, such as linear motion, parabolic motion, and rotational motion.

[0058] If you want to add new particle packages, you can generate new particle data according to the mathematical model, and repeat the steps of primitive construction, aggregation rendering, and shading scheme specification. Mathematical models can be based on physical simulation algorithms (such as Newton's law of motion, fluid dynamics, etc.) or empirical formulas or functions (such as sine function, cosine function, etc.).

[0059] (V) Fine processing of individual particles

[0060] In addition to rendering the entire particle system, the present application also supports fine processing of individual particles to meet the needs of specific scenarios. The specific steps are as follows:

[0061] Step 1: Create a collection object: create a new collection object and add it to the scene. The collection object is used to manage multiple particle objects, making it easy to perform batch operations and management, such as moving, rotating, scaling, etc.

[0062] Second step: Single particle configuration: Detailed configuration of single particle objects, including position, image (texture), rendering scale (size), offset adjustment, rotation angle, dynamic change parameters relative to the scene (such as color gradient, transparency change, size change, etc.), dynamic display configuration (such as flicker effect, gradual appearance or disappearance, etc.), and other custom attributes. These configuration parameters together determine the specific attributes and behaviors of the particles. Details are as follows:

[0063] Position: Determine the precise position of the particle in the scene, which can support both absolute coordinates and relative coordinates.

[0064] Image (texture): Determine the appearance texture of the particle, which can support single texture, texture animation, texture sequence, etc.

[0065] Rendering scale (size): Set the size and scaling of the particle, which can support uniform scaling and non-uniform scaling.

[0066] Offset adjustment: Fine-tune the position of the particle to meet the needs of precise layout.

[0067] Rotation angle: Set the rotation direction and angle of the particle, which can support rotation around X-axis, Y-axis, Z-axis, and arbitrary angle rotation.

[0068] Dynamic change parameters: Realize the dynamic change of particles in the animation process, such as color gradient, transparency change, size change, etc., which can support linear change, nonlinear change, random change, etc.

[0069] Dynamic display configuration: Control the visibility of particles in the animation process, such as flicker effect, gradual appearance or disappearance, etc., which can support time control, condition control, random control, etc.

[0070] Third step: Add particles to the collection: Add the configured single particle object to the collection object for unified management and operation through the collection object.

[0071] Fourth step: Animation rendering and updating: According to the needs of the actual application scene, determine the rendering form and playback time of the animation. During the animation rendering process, if you need to adjust the spatial position or attributes of the particle, you only need to obtain the corresponding configuration parameters and adjust them. If you need to add new particle packages or modify existing particle packages, you can repeat the steps of particle configuration and addition to the collection. At the same time, the invention also supports real-time updating of the state and attributes of the particle system to meet the needs of dynamic scenes.

[0072] The invention also provides a massive data particle system rendering device based on WebGL, which includes the following modules:

[0073] 1. Transmitter type determination module: This module is responsible for determining the type of particle transmitter from a variety of pre-set types according to the actual scene requirements. It internally stores relevant parameter setting information for various types of transmitters, such as the radius of the base, height, and axial direction parameters of a cylindrical transmitter; the radius parameter of a spherical transmitter; the radius of the base, height, and cone angle parameters of a conical transmitter; the side length parameter of a square transmitter, etc. It can accurately match and select the appropriate particle transmitter type based on user input scene description or system pre-set scene mode, providing a basis for subsequent construction of primitive objects.

[0074] 2. Primitive construction module: This module constructs the corresponding primitive object based on the particle transmitter type selected by the transmitter type determination module. It has the function of selecting different primitive types (such as points, quadrilaterals composed of two triangles, etc.), and can automatically adapt primitives with fewer triangular faces to represent particles according to rendering efficiency requirements. At the same time, this module can accurately assign three-dimensional coordinate positions and texture setting parameters to each primitive object, interact with external scene data interfaces to obtain scene coordinate information for positioning primitives, and retrieve appropriate texture data from the texture resource library for texture setting to determine the appearance characteristics and properties of particles.

[0075] 3. Aggregated rendering module: responsible for merging single-frame primitives into arrays and performing aggregated rendering operations. This module integrates a variety of shading scheme algorithm libraries internally, which can select and specify specific vertex shaders and fragment shaders according to rendering requirements. By optimizing drawing call logic, it reduces the number of drawing calls, thereby significantly improving rendering efficiency. In addition, this module has shader program writing and optimization functions, which can write efficient shader programs according to different rendering effect requirements (such as lighting, shadows, fog effects, etc.), and further improve rendering performance through algorithm optimization.

[0076] 4. Animation rendering and playback control module: used to determine the rendering form (real-time rendering or pre-rendering) and playback time of the animation according to the requirements of the actual application scene. During the animation rendering process, this module can obtain the coordinate position object of the particle, perform position compensation calculation according to the particle motion law, and reassign values to adjust the spatial position of the particle. If new particle packets need to be added, this module can call the mathematical model module to generate new particle data, then coordinate the primitive construction module, aggregated rendering module, and shading scheme specification module to repeat the relevant steps, implement animation rendering and playback control, and meet the dynamic interaction or high-quality rendering requirements in different scenes.

[0077] 5. Single particle refinement processing module: contains the following four sub-modules:

[0078] 5.1 Collection object creation submodule: This submodule is used to create a new collection object and add it to the scene. The collection object creation submodule closely cooperates with the scene management module to ensure that the newly created collection object can be correctly integrated into the scene architecture, facilitating subsequent batch operations and management of particle objects.

[0079] 5.2 Single particle configuration submodule: This submodule configures a single particle object in detail. It provides a series of parameter setting interfaces, including position (supporting absolute coordinate and relative coordinate setting methods), image (texture, supporting single texture, texture animation, texture sequence, etc.), rendering scale (size, supporting uniform scaling and non-uniform scaling), offset adjustment, rotation angle (supporting rotation around X-axis, Y-axis, Z-axis, and arbitrary angle rotation), dynamic change parameters (implementing dynamic changes of particles during animation, such as color gradient, transparency change, size change, etc., supporting linear change, nonlinear change, random change, etc.), dynamic display configuration (controlling the visibility of particles during animation, such as flickering effect, gradual appearance or disappearance, etc., supporting time control, condition control, random control, etc.), and other custom attribute settings. Through these interfaces, users or systems can accurately set the properties and behaviors of individual particles according to specific scene requirements.

[0080] 5.3 Particle addition submodule: This submodule adds the configured single particle object to the collection object. Through interaction with the collection object creation submodule and the scene management module, it ensures that the particle object can be correctly added to the corresponding collection, achieving unified management and operation of particles through the collection object.

[0081] 5.4 Animation rendering and updating submodule: This submodule is responsible for determining the rendering form and playback time of the animation according to the actual application scene requirements. During animation rendering, it can obtain the configuration parameters of individual particles and adjust them according to requirements to change the spatial position or properties of the particles. If new particle packages need to be added or existing particle packages need to be modified, the single particle configuration submodule and the particle addition submodule can be called to repeat the relevant steps. At the same time, this submodule has the function of real-time updating of particle system state and properties, responding to dynamic scene changes in a timely manner through data interaction with other modules.

[0082] Example 1

[0083] Take the visualization of radioactive substances released by a simulated nuclear power plant as an example.

[0084] (1) Select point source emitter: simulate the nuclear reactor leakage port, with parameters set to leakage height 80m, radius 5m, initial vertical velocity 10m / s; generate 5000 particles per second, lasting 24 hours, simulating the release rate of radioactive substances (unit: 1e17 Bq / h).

[0085] (2) Construction of the primitive object. Primitive type: using quadrilateral primitive (composed of two triangles), loading radioactive logo texture (PNG format, transparency 0.1-0.9); each particle binds three-dimensional coordinates (longitude, latitude, height), nuclide type (Cs137, I131), concentration value (initial 1e5 Bq / m3) and half-life parameter.

[0086] (3) Aggregation rendering. Vertex shader: calculate particle trajectory, including:

[0087] Atmospheric motion: based on real-time wind speed (3-15 m / s) and wind direction (northwest) to drive horizontal migration;

[0088] Topographic interaction: introduce digital elevation model (DEM), particles contact mountains to trigger flow or lift;

[0089] Wet deposition: calculate the deposition rate according to the rainfall intensity (R).

[0090] Fragment shader:

[0091] Color mapping: 137Cs concentration >1e4 Bq / m3, display red (RGB:255,0,0), <1e3 Bq / m 3 Gradually change to light green

[0092] (4) Animation rendering and playback

[0093] Real-time data fusion: access meteorological station and radiation monitoring network, update wind speed, wind direction and ground dose rate every 5 minutes;

[0094] Timeline control: support accelerated simulation (1 hour→1 second), predict 72-hour diffusion path;

[0095] Interactive operation: dynamically define 20km, 30km, 50km emergency evacuation area, render as semi-transparent polygon layer.

[0096] (5) Refinement of individual particles

[0097] Attribute configuration: set color gradient (red→orange→yellow), size scaling (1-5 pixels) and visible time axis (half-life triggered disappearance) for key particles (such as high concentration 137Cs) separately;

[0098] Motion correction: superimpose random disturbance (±0.1 m / s) on particles blocked by terrain, simulate turbulent effect.

[0099] The above is further detailed description of the present application in combination with specific embodiments, and cannot be deemed as limitation of the specific embodiments of the present application. For those skilled in the art of the present application, without departing from the concept of the present application, a number of simple deductions or substitutions can be made, which shall be deemed as falling within the protection scope of the present application.

Claims

1. A rendering device for massive data particle systems based on WebGL, characterized in that, It includes a transmitter type determination module, a primitive construction module, an aggregate rendering module, an animation rendering and playback control module, and a single particle refinement processing module; The emitter type determination module is used to determine the particle emitter type from a variety of preset types based on the actual scenario requirements; Internally, it stores the relevant parameter settings information of various emitters. Based on the scene description input by the user or the scene mode preset by the system, it accurately matches and selects the appropriate particle emitter type, providing a basis for the subsequent construction of primitive objects. For complex scenes, it has the function of mixing and selecting multiple types of particle emitters and dynamically adjusting the parameters of each emitter. The primitive construction module determines the particle emitter type selected by the module based on the emitter type and constructs the corresponding primitive objects. It can select different primitive types and automatically adapt primitives with fewer triangles to represent particles according to rendering efficiency requirements. It accurately assigns three-dimensional coordinate positions and texture setting parameters to each primitive object, obtains scene coordinate information through interaction with external scene data interfaces to locate primitives, and retrieves appropriate texture data from the texture resource library for texture setting. It uses a spatial partitioning algorithm to organize primitive objects, accelerating primitive search and culling during rendering. The aggregate rendering module is responsible for merging single-frame primitives into an array and performing aggregate rendering operations. It integrates multiple shading scheme algorithm libraries, which can select and specify specific vertex shaders and fragment shaders according to rendering requirements. By optimizing the drawing call logic, it reduces the number of drawing calls and improves rendering efficiency. It has shader program writing and optimization functions, which can write efficient shader programs according to different rendering effect requirements, and use the parallel computing capabilities of the GPU to perform parallel optimization processing on vertex shaders and fragment shaders. The animation rendering and playback control module is used to determine the rendering format and playback time of the animation according to the needs of the actual application scenario; During animation rendering, the coordinate position objects of particles can be obtained, position compensation calculations can be performed based on the particle motion laws, and values ​​can be reassigned to adjust the particle spatial position. If a new particle pack needs to be added, the mathematical model module can be called to generate new particle data, and then the primitive construction module, aggregate rendering module and shading scheme can be coordinated to repeat the relevant steps. A time interpolation algorithm is introduced to make particle motion smoother. The single particle refinement module includes a collection object creation submodule, a single particle configuration submodule, a particle addition submodule, and an animation rendering and update submodule. The collection object creation submodule creates new collection objects and adds them to the scene; it works closely with the scene management module to ensure that the newly created collection objects can be correctly integrated into the scene architecture, facilitating subsequent batch operations and management of particle objects; it supports nested collection objects, allowing for unified management of particle collections at different levels. The individual particle configuration submodule allows for detailed configuration of individual particle objects, providing a series of parameter setting interfaces, including the following: Position parameters support both absolute and relative coordinate settings; Image parameters, supporting single texture, texture animation, and texture sequence; Rendering scale parameters, supporting uniform scaling and non-uniform scaling; Offset adjustment and rotation angle parameters support rotation around the X, Y, and Z axes as well as rotation at any angle; Dynamically change parameters to achieve dynamic changes of particles during animation, including color gradients, transparency changes, and size changes, supporting linear changes, non-linear changes, and random changes; Dynamic visibility configuration parameters control the visibility of particles during animation, supporting time control, conditional control, random control, and custom attribute settings; The properties and behaviors of individual particles can be precisely set according to user or system requirements; Particle Addition Submodule: Adds the configured individual particle objects to the collection object. Through interaction with the collection object creation submodule and the scene management module, it ensures that the particle objects can be correctly added to the corresponding collections, realizing unified management and operation of particles through the collection object; Animation rendering and updating submodule: Determine the rendering format and playback time of the animation based on the actual application scenario requirements; During animation rendering, the system can acquire the configuration parameters of individual particles and adjust them as needed to change the particle's spatial position or attributes. To add a new particle pack or modify an existing one, the system can call the individual particle configuration submodule and the particle addition submodule, repeating the relevant steps. It also features real-time updates to the particle system's status and attributes through data interaction with other modules. It responds to the changing needs of dynamic scenarios in real time.

2. A method for rendering massive data particle systems based on WebGL, characterized in that, The rendering apparatus described in claim 1 is used to implement this, specifically including the following steps: Step 1: Select the particle emitter type according to the scene requirements, including cylindrical emitter, spherical emitter, conical emitter, or cube emitter; Step 2: Construct primitive objects based on points or quadrilaterals, and configure 3D coordinates and texture parameters; Step 3: Aggregate and render the single-frame primitive array using WebGL vertex shaders and fragment shaders to reduce the number of draw calls; Step 4: Dynamically adjust particle properties, including position compensation, color gradient, and visibility control. Determine the animation rendering format and playback time based on the needs of the actual application scenario.

3. The method for rendering a massive data particle system based on WebGL according to claim 2, characterized in that, The primitive object consists of two triangles forming a quadrilateral, and low-polygon rendering is achieved through WebGL point drawing mode.

4. The method for rendering a massive data particle system based on WebGL according to claim 2, characterized in that, The shader program supports lighting calculations, Gaussian blur and fog effect overlay, and optimizes GPU parallel computing efficiency.

5. A method for rendering massive data particle systems based on WebGL according to claim 2, characterized in that, The cylindrical emitter is suitable for simulating columnar smoke and fountains. By setting the bottom radius, height, and axial direction of the cylinder, it can generate particles that are uniformly distributed along the surface of the cylinder.

6. The method for rendering a massive data particle system based on WebGL according to claim 2, characterized in that, The spherical launcher is suitable for simulating explosions and fireballs. By setting the radius of the sphere, particles are generated that are uniformly distributed on the surface of the sphere.

7. A method for rendering massive data particle systems based on WebGL according to claim 2, characterized in that, The cone-shaped emitter is suitable for simulating cone-shaped sprays and flame jets. By setting the bottom radius, height, and cone angle of the cone, particles are generated that are uniformly distributed along the surface of the cone.

8. A method for rendering massive data particle systems based on WebGL according to claim 2, characterized in that, The cube emitter is suitable for simulating a swarm of particles in the shape of a cube. By setting the side length of the cube, particles are generated that are uniformly distributed inside the cube.

9. A method for rendering massive data particle systems based on WebGL according to claim 2, characterized in that, The parameters of the particle emitter include the base radius and height of the cylinder, the radius of the sphere, the cone angle of the cone, and the side length of the cube.

10. A method for rendering massive data particle systems based on WebGL according to claim 2, characterized in that, The rendering method supports fine-grained configuration of individual particles, including texture animation, dynamic scaling, and rotation parameters.

Citation Information

Cited By

  • Special effect generation method and device, equipment and storage medium

    CN122115607A

  • Special effect generation method and apparatus, device, and storage medium

    CN122115607B

  • Multi-modal dynamic fusion chart visualization method, system, equipment and medium

    CN122332629A