Implementation method for large-scale three-dimensional scene parallel rendering based on distribution

Through distributed parallel rendering technology, rendering tasks are allocated to multiple nodes, solving the problem of performance limitations of stand-alone hardware, achieving more efficient rendering performance and larger-scale three-dimensional scene rendering, and improving computing resource utilization.

CN119273822APending Publication Date: 2025-01-07SHANGHAI WEI HI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411261359.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-10
Publication Date
2025-01-07

AI Technical Summary

Technical Problem

Traditional three-dimensional scene rendering methods are limited by the stand-alone hardware performance, resulting in insufficient rendering performance, limited rendering scale and low computing resource utilization, making it difficult to deal with large-scale complex scenarios.

Method used

The distributed parallel rendering method is used to allocate the rendering tasks to multiple nodes, and the rendering data and instructions are synchronized through Ethernet to ensure the consistency of the rendering results, and make full use of multi-node computing resources.

Benefits of technology

Significantly improve rendering performance, expand rendering scale, improve computing resource utilization, shorten rendering time, and achieve more efficient three-dimensional scene rendering.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119273822A_ABST
    Figure CN119273822A_ABST
Patent Text Reader

Abstract

The invention discloses an implementation method of large-scale three-dimensional scene parallel rendering based on distribution. The implementation method comprises the following steps: segmenting the size of a rendering target viewport according to the number of all nodes, adding a network synchronization method to synchronize rendering frames, and the like. Compared with the prior art, the method has the advantages that (1) the rendering performance is obviously improved: through distributed multi-node parallel rendering, rendering tasks are distributed to a plurality of nodes, and the rendering speed is greatly improved; (2) the rendering scale is expanded, limitation of single-machine hardware is avoided, a larger-scale three-dimensional scene can be processed, and a more complex and macro visual effect can be displayed; and 3) the utilization rate of computing resources is improved: multi-node computing resources are fully utilized, the rendering time is shortened, and the overall efficiency 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 three-dimensional graphics processing and rendering, and in particular to a method for implementing distributed large-scale three-dimensional scene parallel rendering. Background Art

[0002] In the field of 3D graphics rendering, with the development of industries such as virtual reality, game development, and film and television special effects, higher requirements are placed on the accuracy, real-time performance, and scale of 3D scene rendering. Traditional large-scale 3D scene rendering methods mainly rely on LOD (Level of Detail) scene subdivision technology, which dynamically adjusts the scene detail level to adapt to different perspectives and performance requirements. However, this method has significant limitations: first, the number of 3D models loaded on the same screen is limited, making it difficult to display complex and grand scenes; second, the number of rendered meshes is limited by the hardware performance of a single machine, making it difficult to achieve breakthroughs in effect and quantity. In addition, single-machine rendering also faces problems such as long rendering time and low computing resource utilization. Summary of the invention

[0003] The technical problems to be solved by the present invention are: 1) Insufficient rendering performance: Traditional methods are limited by the hardware performance of a single machine and cannot efficiently handle rendering tasks of large-scale three-dimensional scenes;

[0004] 2) Limited rendering scale: The number of 3D models loaded on the same screen is limited, which makes it difficult to meet the needs of complex scenes;

[0005] 3) Low utilization of computing resources: When rendering on a single machine, computing resources are not fully utilized, resulting in long rendering time

[0006] To solve the above technical problems, the present invention provides a technical solution: a method for implementing distributed large-scale three-dimensional scene parallel rendering, comprising the following steps:

[0007] A1. Divide the rendering target viewport size according to the number of all nodes. The division method can be divided according to the same screen size or on demand according to the rendering capability of the node;

[0008] A2. After the rendering process of the 3D scene is completed, a network synchronization method is added to synchronize the rendering frames. The next picture can be rendered only after receiving the instruction, thus ensuring the consistency of all rendering result pictures;

[0009] B1. Connect different rendering nodes via Ethernet, and multi-node computing resources R0 will synchronize rendering data via the network;

[0010] B2. Deploy the same 3D scene resources on R0. Initializing the loading of 3D scene resources requires network synchronization confirmation of all nodes.

[0011] C1. The synchronization network method will adopt the master-slave mode, with the host as the synchronization server and the slave as the synchronization client. The client initializes the 3D scene through the method of A2 and sends data information to the host to inform the host that it is ready.

[0012] C2. After all slaves are ready through the method of B1, the host will issue a rendering command, which will be sent to the slave. After receiving the rendering command, the slave will render a single frame and feed back the rendering frame number to the host through the network.

[0013] C3. The rendering frame sequence of all slave machines needs to be consistent;

[0014] D1. The slave machine will obtain a set of rendering results R0 through the methods of C1-C3. R0 is the picture of the fixed viewport defined by each node through A1. The picture needs to be pushed to the host through the network;

[0015] D2. The host obtains the picture set R0 through the method of D1, and obtains the complete rendering picture after filling the picture viewport divided by A1.

[0016] Compared with the prior art, the advantages of the present invention are: 1) significantly improving rendering performance: through distributed multi-node parallel rendering, rendering tasks are distributed to multiple nodes, greatly improving rendering speed;

[0017] 2) Expanded rendering scale: Not limited by single-machine hardware, it can handle larger-scale 3D scenes and display more complex and grand visual effects;

[0018] 3) Improve computing resource utilization: Make full use of computing resources of multiple nodes, shorten rendering time, and improve overall efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Figure 1 It is a schematic diagram of the steps of the patent of this invention. DETAILED DESCRIPTION

[0020] The present invention is further described in detail below in conjunction with the accompanying drawings.

[0021] When the present invention is specifically implemented, Figure 1As shown, the device involved in the present invention is mainly composed of multiple computing nodes, network communication equipment and synchronization control units. Each computing node is responsible for the rendering of the assigned three-dimensional scene fragment; the network equipment is responsible for data transmission and communication between nodes; the synchronization control unit is responsible for sending, receiving and synchronizing rendering instructions and rendering progress. The computing nodes are used to deploy the same three-dimensional scene resources, receive rendering instructions through the network, independently perform single-frame rendering, and feed back the rendering results to the host. Network equipment (such as Ethernet switches) is used to connect each computing node to achieve high-speed data transmission and communication. The synchronization control unit (usually located at the host node) serves as a server and is responsible for initializing the three-dimensional scene, sending rendering instructions, receiving rendering progress feedback, and integrating the rendering results to generate a complete picture. The technical feature of this solution is that it adopts a distributed rendering node method, which is different from the traditional method of arranging multiple computers. Instead, multiple rendering nodes are deployed on one computer, and the failure or downtime of a node will not affect the result.

[0022] Based on the above hardware structure, a matching implementation method for large-scale 3D scene parallel rendering is proposed:

[0023] A1. Divide the rendering target viewport size according to the number of all nodes. The division method can be divided according to the same screen size or according to the rendering capability of the node. For example, for a 1000x1000 rendering screen, two rendering nodes can be divided into 500x1000 each.

[0024] A2. After the rendering process of the 3D scene is completed, a network synchronization method is added to synchronize the rendering frames. The next picture can be rendered only after receiving the instruction, thus ensuring the consistency of all rendering result pictures;

[0025] B1. Connect different rendering nodes via Ethernet, and multi-node computing resources R0 will synchronize rendering data via the network;

[0026] B2. Deploy the same 3D scene resources on R0. Initializing the loading of 3D scene resources requires network synchronization confirmation of all nodes.

[0027] C1. The synchronization network method will adopt the master-slave mode, with the host as the synchronization server and the slave as the synchronization client. The client initializes the 3D scene through the method of A2 and sends data information to the host to inform the host that it is ready.

[0028] C2. After all slaves are ready through the method of B1, the host will issue a rendering command, which will be sent to the slave. After receiving the rendering command, the slave will render a single frame and feed back the rendering frame number to the host through the network.

[0029] C3. The rendering frame sequence of all slave machines needs to be consistent, such as 0, 1, 2... frame sequence to synchronize all nodes;

[0030] D1. The slave machine will obtain a set of rendering results R0 through the methods of C1-C3. R0 is the picture of the fixed viewport defined by each node through A1. The picture needs to be pushed to the host through the network;

[0031] D2. The host obtains the picture set R0 through the method of D1, and obtains the complete rendering picture after filling the picture viewport divided by A1.

[0032] Based on the above method, the overall working principle of this solution includes:

[0033] 1) Viewport segmentation: Divide the rendering target viewport size according to the number of all nodes to ensure that each node is responsible for rendering a fixed or on-demand viewport area.

[0034] 2) Initialization synchronization: All nodes synchronously load 3D scene resources through the network to ensure data consistency.

[0035] 3) Sending rendering instructions: The host acts as a synchronization server and waits for all slaves to be ready before sending rendering instructions.

[0036] 4) Parallel rendering: After receiving the rendering command, the slaves independently render a single frame and feed back the rendering progress and results to the host.

[0037] 5) Result integration: The host collects the rendering results of all slaves, fills the screen according to the viewport division, and generates a complete rendering screen.

[0038] The specific implementation of this method includes:

[0039] 1) Environment configuration: Install the necessary rendering software and drivers on multiple physical nodes, connect all nodes via Ethernet, and configure network parameters.

[0040] 2) Scene loading: The 3D scene resources on all nodes are initialized and loaded through the synchronization control unit, and the loading completion is confirmed through network synchronization.

[0041] 3) Viewport segmentation: According to the number of nodes and rendering capabilities, the rendering target viewport is segmented and allocated to each node.

[0042] 4) Rendering command is issued: The host sends a rendering start command, and each slave performs parallel rendering according to the assigned viewport.

[0043] 5) Rendering result integration: The slave sends the rendered frame to the host through the network. The host splices the images according to the viewport division to generate the final rendering result.

[0044] The above shows and describes the basic principles and main features of the present invention and the advantages of the invention. Those skilled in the art should understand that the present invention is not limited to the above embodiments. The above embodiments and descriptions are only for explaining the principles of the present invention. Without departing from the spirit and scope of the present invention, the present invention may have various changes and improvements, which fall within the scope of the present invention to be protected. The scope of protection of the present invention is defined by the attached claims and their equivalents.

Claims

1. A method for implementing distributed large-scale three-dimensional scene parallel rendering, characterized in that The following steps are involved: A1. Divide the rendering target viewport size according to the number of all nodes. The division method can be divided according to the same screen size or on demand according to the rendering capability of the node; A2. After the rendering process of the 3D scene is completed, a network synchronization method is added to synchronize the rendering frames. The next picture can be rendered only after receiving the instruction, thus ensuring the consistency of all rendering result pictures; B1. Connect different rendering nodes via Ethernet, and multi-node computing resources R0 will synchronize rendering data via the network; B2. Deploy the same 3D scene resources on R0. Initializing the loading of 3D scene resources requires network synchronization confirmation of all nodes. C1. The synchronization network method will adopt the master-slave mode, with the host as the synchronization server and the slave as the synchronization client. The client initializes the 3D scene through the method of A2 and sends data information to the host to inform the host that it is ready. C2. After all slaves are ready through the method of B1, the host will issue a rendering command, which will be sent to the slave. After receiving the rendering command, the slave will render a single frame and feed back the rendering frame number to the host through the network. C3. The rendering frame sequence of all slave machines needs to be consistent; D1. The slave machine will obtain a set of rendering results R0 through the methods of C1-C3. R0 is the picture of the fixed viewport defined by each node through A1. The picture needs to be pushed to the host through the network; D2. The host obtains the picture set R0 through the method of D1, and obtains the complete rendering picture after filling the picture viewport divided by A1.