Non-inductive instantiation method in CIM platform

By adopting the senseless instantiation method of the global instantiation manager in the CIM platform, the problem of excessive drawing calls in large-scale object drawing is solved, and efficient rendering and performance improvement is achieved.

CN119991863APending Publication Date: 2025-05-13CHANGSHA MORALE NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510078605.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-17
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

In large-scale object drawing scenarios, traditional methods lead to excessive drawing calls, resulting in low grid frame rate and occupies a large amount of computing resources, and cannot effectively express the drawing effect of large-scale objects.

Method used

Using the insensing instantiation method in the CIM platform, the drawing of large-scale scene objects is maintained through the global instantiation manager. Instantiated mesh can efficiently render multiple instances of the same mesh, reducing the number of objects that need to be drawn.

Benefits of technology

It greatly reduces performance overhead, reduces the number of dynamic calls, improves the drawing performance, and can effectively render the drawing effect of large-scale objects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119991863A_ABST
    Figure CN119991863A_ABST
Patent Text Reader

Abstract

The invention relates to a non-inductive instantiation method in a CIM platform. The non-inductive instantiation method comprises the following steps: S1, arranging a spline line; the step S1 of arranging the spline line comprises the following steps: S11, generating a plurality of spline line objects in a scene; s12, setting a plurality of spline points on the plurality of spline objects generated in the step S11; s2, globally instantiating a drawing object; the step S2 of global instantiation drawing of the object comprises the following steps: S21, generating a global instantiation manager object in a scene; s22, assigning a plurality of static grid bodies of drawing objects in the manager object generated in the step S21; s23, generating an instantiation component corresponding to each static grid body in the step S22; s24, traversing all spline lines in the S1 in the scene by the manager object; and S3, updating the dynamic instance. According to the method, drawing of large-scale static and dynamic objects is researched by utilizing a global instantiation method, drawing of all large-scale scene objects is maintained through a non-perceptual global instantiation manager, the performance overhead is greatly reduced, the number of DCs is reduced, and the drawing performance is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of image model drawing, and in particular to a senseless instantiation method in a CIM platform. Background Art

[0002] In the urban information model scene, it is necessary to build a large number of static drawing objects such as buildings, vegetation, roads, street lights, and dynamic drawing objects such as vehicles on the road. Objects such as street lights and vehicles have characteristics such as repetitiveness and regularity of spatial position. When the drawing scale is small, traditional methods can be used to generate each object on the spline. In such a scene, each object is an independent mesh. During the drawing process, the CPU sends instructions and the GPU executes the specified rendering task, which is a drawing call. Each mesh using the traditional method needs to execute at least one drawing call.

[0003] However, when the above method is used to draw large-scale objects, the drawing calls will be very high when the number of meshes is too large, which will cause a low mesh frame rate. In addition, the drawing of large-scale objects will take up more memory, CPU, GPU and other computing resources. If not handled properly, the drawing effect of large-scale objects cannot be accurately expressed in the digital twin scene. Summary of the invention

[0004] In view of the shortcomings of the prior art, the present invention provides a non-sensing instantiation method in a CIM platform. The specific technical solution is as follows:

[0005] A senseless instantiation method in a CIM platform includes the following steps:

[0006] S1: Lay out splines;

[0007] S1 spline routing includes the following steps:

[0008] S11: Generate multiple spline objects in the scene;

[0009] S12: setting multiple spline points on the multiple spline objects generated by S11;

[0010] S2: Global instantiation drawing object;

[0011] S2 global instantiation drawing object includes the following steps:

[0012] S21: Generate a global instantiation manager object in the scene;

[0013] S22: specifying static meshes of multiple drawing objects in the manager object generated by S21;

[0014] S23: Generate instanced components corresponding to each static mesh in S22;

[0015] S24: The manager object iterates over all splines of S1 in the scene;

[0016] S3: Update dynamic instance;

[0017] After S2 globally instantiates the drawing object, it determines whether the drawn object is a moving object. If it is not a moving object, the drawing can be terminated. If it is a moving object, it enters S3 to update the dynamic instance. The drawing can be terminated after the moving object traversal is completed.

[0018] The global instancing method is used to study the drawing of large-scale static and dynamic objects. The drawing of all large-scale scene objects is maintained through an imperceptible global instancing manager. The instantiated mesh can efficiently render multiple instances of the same mesh, which is especially suitable for procedurally created scenes. There is no need to place hundreds or thousands of meshes in the scene. Just place an instantiated mesh and you can add multiple instances of the mesh, which can efficiently render multiple instances of the same mesh.

[0019] As an improvement of the above technical solution, S1 spline layout also includes:

[0020] S13: Set the tangent of the spline point in S12, i.e. the direction of entry and exit;

[0021] S14: Calculate the number of objects that need to be drawn on the S11 spline based on S13.

[0022] The global instantiation drawing method first generates multiple spline objects in the scene, each spline can flexibly express and manage scene objects; secondly, multiple spline points are set on the spline object (especially in environments such as turning, uphill and downhill, which facilitates more accurate construction of smooth curves); thirdly, the entry and exit directions of the tangent on the spline point are set to control the curve at each spline point; finally, the number of objects that need to be drawn on the spline is calculated based on the length occupied by the drawing object and the total length of the spline.

[0023] As an improvement of the above technical solution, the S2 global instantiation drawing object also includes:

[0024] S25: Specify the number of instances to be drawn for each spline in S11;

[0025] S26: Assign each instance unique identifier pair to the instance information array of the spline.

[0026] The global instantiation drawing object process includes global instantiation drawing objects and assigning instances. A global instantiation manager object is generated in the scene. The global instantiation manager will maintain an array of instantiated static mesh components. When the system starts running, it will execute the instantiation function and generate the same number of instantiated static mesh components according to the specified number of static meshes. Each static mesh corresponds to an instantiated static mesh component.

[0027] The global instantiation manager also maintains a drawing object spline array to store all spline objects generated in the scene. When the system starts running, it will traverse the spline array and calculate the number of drawing objects required for the current spline based on each spline to generate the same number of instances.

[0028] Each time an instance is generated, the global instantiation manager will pass the unique identifier pair of this instance to the spline object in order to save the instance information array of the spline. Each instance is generated by an instanced static mesh component, and each instanced static mesh component is randomly selected from the instanced static mesh component array in the global instantiation manager. Therefore, you only need to assign the serial number of the instanced static mesh component and the serial number of the instance generated by the component to the instance information array of the spline object. Each instance can be found in the global instantiation manager based on the unique identifier pair saved in the spline object, which is convenient for subsequent dynamic instance updates.

[0029] As an improvement of the above technical solution, S3 updating a dynamic instance includes the following steps:

[0030] S31: traverse the instance information array based on S26;

[0031] S32: Obtain a unique identifier pair for the current instance;

[0032] S33: using the identifier pair to query the corresponding instance in the global instantiation manager;

[0033] S34: Get the current instance location;

[0034] S35: Calculate the next frame position of the instance;

[0035] S36: Update the instance position and the instance position in the instance information number;

[0036] S37: Obtain next instance information.

[0037] For the drawing of dynamic objects, the spline object will traverse the maintained instance information array frame by frame, obtain the unique identifier pair from it, then query the corresponding instance in the global instantiation manager, and then calculate the new position of the next frame through the pre-set movement method to complete the instance update; for the drawing of static objects, the global instantiation drawing method will also be displayed and analyzed in the experiment.

[0038] As an improvement of the above technical solution, after S37 is completed, the drawing is terminated when all the drawn moving objects have moved. If some of the moving objects have not moved, the process returns to S32 and loops through the remaining steps of S3 until all the drawn objects have moved as set.

[0039] Beneficial effects of the present invention:

[0040] The global instantiation method is used to study the drawing of large-scale static and dynamic objects. The drawing of all large-scale scene objects is maintained through an imperceptible global instantiation manager. The instantiated mesh can efficiently render multiple instances of the same mesh, which is especially suitable for procedurally created scenes. There is no need to place hundreds or thousands of meshes in the scene. Just place an instantiated mesh and you can add multiple instances of the mesh. Multiple instances of the same mesh can be efficiently rendered, which greatly reduces performance overhead, reduces the number of DCs, and improves drawing performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] Figure 1 Draw a flow chart for a global instantiation of the present invention. DETAILED DESCRIPTION

[0042] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.

[0043] like Figure 1 As shown, Figure 1 Draw a flow chart for a global instantiation of the present invention.

[0044] A senseless instantiation method in a CIM platform includes the following steps:

[0045] S1: Lay out splines;

[0046] S2: Global instantiation drawing object;

[0047] S3: Update dynamic instances.

[0048] In the case of digital twin cities, small models with adjacent spaces, the same materials, and the same rendering status are often merged into a large model, or instantiation technology is used.

[0049] Therefore, the present invention uses a global instantiation method to study the drawing of large-scale static and dynamic objects, maintains the drawing of all large-scale scene objects through an imperceptible global instantiation manager, reduces the number of DCs, and improves the drawing performance.

[0050] The global instantiation method proposed in the present invention adopts a global instantiation manager to maintain the drawing of large-scale scene objects. Because there are different instance drawing objects on different splines, it faces the challenge of managing a large number of different instantiated objects. First, globally instantiate the same drawing objects on the splines laid out in the entire scene; secondly, allocate instances of the globally instantiated drawing objects on each spline according to certain rules; finally, update the dynamic instances on the splines according to the unique identifier. The following is an explanation of the three major steps of S1 spline laying, S2 global instantiation of drawing objects, and S3 updating of dynamic instances.

[0051] like Figure 1 As shown, Figure 1 Draw a flow chart for a global instantiation of the present invention.

[0052] S1 spline routing includes the following steps:

[0053] S11: Generate multiple spline objects in the scene;

[0054] S12: setting multiple spline points on the multiple spline objects generated by S11;

[0055] S13: Set the tangent of the spline point in S12, i.e. the direction of entry and exit;

[0056] S14: Calculate the number of objects that need to be drawn on the S11 spline based on S13.

[0057] A spline is a smooth curve that passes through a series of given points. Therefore, splines can be used to programmatically create repetitive and regular objects in the scene, such as street lights, moving vehicles, etc.

[0058] Therefore, the global instantiation drawing method first generates multiple spline objects in the scene, each spline can flexibly express and manage scene objects; secondly, multiple spline points are set on the spline object (especially in environments such as turning, uphill and downhill, which facilitates more accurate construction of smooth curves); thirdly, the entry and exit directions of the tangents on the spline points are set to control the curve at each spline point; finally, the number of objects that need to be drawn on the spline is calculated based on the length occupied by the drawing objects and the total length of the spline.

[0059] like Figure 1 As shown, Figure 1 Draw a flow chart for a global instantiation of the present invention.

[0060] S2 global instantiation drawing object includes the following steps:

[0061] S21: Generate a global instantiation manager object in the scene;

[0062] S22: specifying static meshes of multiple drawing objects in the manager object generated by S21;

[0063] S23: Generate instanced components corresponding to each static mesh in S22;

[0064] S24: The manager object iterates over all splines of S1 in the scene;

[0065] S25: Specify the number of instances to be drawn for each spline in S11;

[0066] S26: Assign each instance unique identifier pair to the instance information array of the spline.

[0067] The global instantiation drawing object process includes global instantiation drawing objects and assigning instances. A global instantiation manager object is generated in the scene. The global instantiation manager will maintain an array of instantiated static mesh components. When the system starts running, it will execute the instantiation function and generate the same number of instantiated static mesh components according to the specified number of static meshes. Each static mesh corresponds to an instantiated static mesh component.

[0068] The global instantiation manager also maintains a drawing object spline array to store all spline objects generated in the scene. When the system starts running, it will traverse the spline array and calculate the number of drawing objects required for the current spline based on each spline to generate the same number of instances.

[0069] Each time an instance is generated, the global instantiation manager will pass the unique identifier pair of this instance to the spline object in order to save the instance information array of the spline. Each instance is generated by an instanced static mesh component, and each instanced static mesh component is randomly selected from the instanced static mesh component array in the global instantiation manager. Therefore, you only need to assign the serial number of the instanced static mesh component and the serial number of the instance generated by the component to the instance information array of the spline object. Each instance can be found in the global instantiation manager based on the unique identifier pair saved in the spline object, which is convenient for subsequent dynamic instance updates.

[0070] like Figure 1 As shown, Figure 1 Draw a flow chart for a global instantiation of the present invention.

[0071] S3 updates a dynamic instance including the following steps:

[0072] S31: traverse the instance information array based on S26;

[0073] S32: Obtain a unique identifier pair for the current instance;

[0074] S33: using the identifier pair to query the corresponding instance in the global instantiation manager;

[0075] S34: Get the current instance location;

[0076] S35: Calculate the next frame position of the instance;

[0077] S36: Update the instance position and the instance position in the instance information number;

[0078] S37: Obtain next instance information.

[0079] For the drawing of dynamic objects, the spline object will traverse the maintained instance information array frame by frame, obtain the unique identifier pair from it, query the corresponding instance in the global instantiation manager, and then calculate the new position of the next frame through the pre-set movement method to complete the instance update.

[0080] For the drawing of static objects, the global instantiation drawing method will also be presented and analyzed in the experiment.

[0081] That is, after S2 globally instantiates the drawing object, it is determined whether the drawn object is a moving object. If it is not a moving object, the drawing can be terminated. If it is a moving object, it enters S3 to update the dynamic instance until the traversal of the moving objects is completed. The drawing can be terminated. After S37 is completed, the drawing is terminated when all the drawn moving objects have moved. When some of the moving objects have not moved, it returns to S32 to loop and traverse to continue to complete the remaining steps of S3 until all the drawing objects have moved as set.

[0082] To summarize, the same drawing objects on the splines of the global instantiation scene, that is, the same drawing objects in the scene share the same mesh; secondly, the global instantiation object instances are allocated on each spline according to certain rules; finally, the dynamic instances on the spline are updated according to the unique identifier, such as realizing the movement of the vehicle.

[0083] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention.

Claims

1. A non-sensing instantiation method in a CIM platform, characterized in that: The following steps are involved: S1: Lay out splines; S1 spline routing includes the following steps: S11: Generate multiple spline objects in the scene; S12: setting multiple spline points on the multiple spline objects generated in S11; S2: Global instantiation drawing object; S2 global instantiation drawing object includes the following steps: S21: Generate a global instantiation manager object in the scene; S22: specifying static meshes of multiple drawing objects in the manager object generated by S21; S23: Generate instanced components corresponding to each static mesh in S22; S24: The manager object iterates over all splines of S1 in the scene; S3: Update dynamic instance; After S2 globally instantiates the drawing object, it determines whether the drawn object is a moving object. If it is not a moving object, the drawing can be terminated. If it is a moving object, it enters S3 to update the dynamic instance. The drawing can be terminated after the moving object traversal is completed.

2. A method for non-sensing instantiation in a CIM platform according to claim 1, characterized in that: S1 Spline Routing also includes: S13: Set the tangent of the spline point in S12, i.e. the direction of entry and exit; S14: Calculate the number of objects that need to be drawn on the S11 spline based on S13.

3. A method for non-sensing instantiation in a CIM platform according to claim 2, characterized in that: S2 global instantiation drawing objects also include: S25: Specify the number of instances to be drawn for each spline in S11; S26: Assign each instance unique identifier pair to the instance information array of the spline.

4. A method for non-sensing instantiation in a CIM platform according to claim 3, characterized in that: S3 updates a dynamic instance including the following steps: S31: traverse the instance information array based on S26; S32: Obtain a unique identifier pair for the current instance; S33: using the identifier pair to query the corresponding instance in the global instantiation manager; S34: Get the current instance location; S35: Calculate the next frame position of the instance; S36: Update the instance position and the instance position in the instance information number; S37: Obtain next instance information.

5. A method for non-sensing instantiation in a CIM platform according to claim 4, characterized in that: After S37 is completed, the drawing is terminated when all the drawn moving objects have moved. If some of the moving objects have not moved, the process returns to S32 and loops through the remaining steps of S3 until all the drawn objects have moved as set.