Collaborative rendering processing method, device, equipment and storage medium
By obtaining and aggregating three-dimensional modeling design data from multiple clients and performing rendering processing, the problem that traditional renderers cannot achieve collaborative rendering is solved, efficient collaborative rendering and unified rendering effects are achieved, and user experience is improved.
Patent Information
- Application Number
- CN202510106305.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-22
- Publication Date
- 2025-05-09
- Estimated Expiration
- 2045-01-22
AI Technical Summary
Traditional renderers cannot achieve collaborative rendering, which reduces the user experience.
By obtaining the three-dimensional modeling design data of multiple clients for the target rendering scene, performing aggregation processing and rendering processing, achieving a collaborative rendering effect.
It effectively realizes collaborative rendering of multiple clients, improves collaborative rendering efficiency and user experience, and supports unified rendering effect between different modeling and design software.
Smart Images

Figure CN119540436B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of image processing technology, and in particular to a collaborative rendering processing method, device, equipment and storage medium. Background Art
[0002] Traditional renderers are usually installed locally on the user's computer. For example, a corresponding renderer is installed in the modeling and design software. At this time, the user can use the renderer installed in the local modeling and design software to render. Obviously, the traditional renderer cannot achieve collaborative rendering, which reduces the user experience. Summary of the invention
[0003] The present disclosure provides a collaborative rendering processing method, apparatus, device and storage medium to solve or alleviate one or more technical problems in the prior art.
[0004] In a first aspect, the present disclosure provides a collaborative rendering processing method, comprising:
[0005] Acquire 3D modeling design data of a first sub-scene in a target rendering scene by a first client; wherein the target rendering scene is a rendering scene targeted by a collaborative rendering task to be collaboratively completed by at least two clients; and the first client is one of the at least two clients;
[0006] Aggregate the 3D modeling design data of the first sub-scene and the current historical rendering data to obtain aggregated rendering data; the current historical rendering data is at least based on the 3D modeling design data of the second sub-scene at the current moment, wherein the 3D modeling design data of the second sub-scene at the current moment is the design data of the second sub-scene in the target rendering scene initiated by the second client in real time;
[0007] Rendering processing is performed on the basis of the aggregated rendering data to obtain a target rendering effect graph, wherein the target rendering effect graph can reflect the real-time rendering effect for the first sub-scene and the second sub-scene.
[0008] In a second aspect, the present disclosure provides a collaborative rendering processing device, including:
[0009] A data determination unit, configured to obtain three-dimensional modeling design data of a first sub-scene in a target rendering scene from a first client; wherein the target rendering scene is a rendering scene targeted by a collaborative rendering task to be collaboratively completed by at least two clients; and the first client is one of the at least two clients;
[0010] A rendering processing unit is used to obtain aggregated rendering data after aggregating the 3D modeling design data of the first sub-scene with the current historical rendering data; the current historical rendering data is obtained based on at least the 3D modeling design data of the second sub-scene at the current moment, wherein the 3D modeling design data of the second sub-scene at the current moment is the design data of the second sub-scene in the target rendering scene initiated in real time by the second client; rendering processing is performed on the basis of the aggregated rendering data to obtain a target rendering effect diagram, wherein the target rendering effect diagram can reflect the real-time rendering effects for the first sub-scene and the second sub-scene.
[0011] In a third aspect, an electronic device is provided, including:
[0012] at least one processor; and
[0013] a memory communicatively connected to the at least one processor; wherein,
[0014] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute any method in the embodiments of the present disclosure.
[0015] In a fourth aspect, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause the computer to execute any method according to the embodiments of the present disclosure.
[0016] In a fifth aspect, a computer program product is provided, comprising a computer program, which implements any method according to the embodiments of the present disclosure when executed by a processor.
[0017] The beneficial effects of the technical solution provided by the present disclosure include at least:
[0018] In this way, the disclosed solution utilizes cloud technology to effectively realize collaborative rendering of multiple clients, so that multiple clients can browse each other's rendering effects in a timely manner during the collaborative rendering process, thereby effectively improving the efficiency of collaborative rendering. At the same time, it also facilitates rapid collaboration to complete a complete design plan, effectively improving the user experience.
[0019] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In the accompanying drawings, unless otherwise specified, the same reference numerals throughout the multiple drawings represent the same or similar parts or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings only depict some embodiments provided according to the present disclosure and should not be regarded as limiting the scope of the present disclosure.
[0021] Figure 1 This is a schematic flow chart of a collaborative rendering processing method according to an embodiment of the present application. Figure 1 ;
[0022] Figure 2 This is a schematic flow chart of a collaborative rendering processing method according to an embodiment of the present application. Figure 2 ;
[0023] Figure 3 is a flowchart of an initialization operation in a collaborative rendering processing method according to an embodiment of the present application;
[0024] Figure 4 This is a schematic flow chart of a collaborative rendering processing method according to an embodiment of the present application. Figure 3 ;
[0025] Figure 5 is a flowchart of a collaborative rendering processing method in a specific example according to an embodiment of the present application;
[0026] Figure 6 is a schematic diagram of the structure of a collaborative rendering processing system according to an embodiment of the present application;
[0027] Figure 7 is a schematic diagram of the structure of a collaborative rendering processing device according to an embodiment of the present application;
[0028] Figure 8 It is a block diagram of an electronic device used to implement the collaborative rendering processing method of the embodiment of the present disclosure. DETAILED DESCRIPTION
[0029] The present disclosure will be further described in detail below with reference to the accompanying drawings. The same reference numerals in the accompanying drawings represent elements with the same or similar functions. Although various aspects of the embodiments are shown in the accompanying drawings, the drawings are not necessarily drawn to scale unless otherwise specified.
[0030] The following is a description of the related technologies of the embodiments of the present disclosure. The following related technologies are optional solutions that can be arbitrarily combined with the technical solutions of the embodiments of the present disclosure, and they all belong to the protection scope of the embodiments of the present disclosure.
[0031] In the scenario of traditional renderers, if you want to achieve collaborative rendering, each user needs to be responsible for setting up a rendering scene on their respective clients. For example, each user debugs the model on their respective clients to obtain their own rendering renderings, and finally manually aggregates each user's rendering renderings to the same device for merging to achieve collaborative rendering. Obviously, the above method has low collaborative efficiency, and this collaborative method also requires that the versions of the modeling design software and the renderer must be consistent, otherwise the final rendering effect cannot be achieved.
[0032] Based on this, the disclosed solution provides a collaborative rendering processing method, which can utilize the cloud advantages of the cloud renderer, not only supporting multi-terminal user collaborative scenarios, but also connecting the rendering effect standards between different modeling and design software. In other words, the disclosed solution does not restrict the software versions used by each user of collaborative rendering. In this way, on the basis of achieving efficient collaborative rendering, the collaborative rendering process is simplified and the user experience is improved.
[0033] Specifically, Figure 1 This is a schematic flow chart of a collaborative rendering processing method according to an embodiment of the present application. Figure 1 The method may be optionally applied to electronic devices, such as personal computers, servers, server clusters, and other electronic devices. Furthermore, in one example, the method is applied to a cloud server.
[0034] Further, the method includes at least part of the following contents. Figure 1 As shown, including:
[0035] Step S101: obtaining three-dimensional modeling design data of a first sub-scene in a target rendering scene from a first client.
[0036] In this example, the target rendering scene is the rendering scene targeted by the collaborative rendering task that at least two clients need to collaboratively complete. In other words, the target rendering scene is the rendering scene targeted by the collaborative rendering task.
[0037] Furthermore, the first client is one of the at least two clients. In other words, the first client is one of the multiple clients that perform the collaborative rendering task.
[0038] Here, in one example, the client that performs the collaborative rendering task has locally downloaded a plug-in for the cloud renderer, so that it is convenient to access the cloud renderer through the plug-in; at this time, the first client can send the 3D modeling design data for the first sub-scene through the cloud renderer plug-in installed by itself.
[0039] Step S102: Aggregate the 3D modeling design data based on the first sub-scene and the current historical rendering data to obtain aggregated rendering data.
[0040] Here, it should be noted that the current historical rendering data is at least based on the 3D modeling design data of the second sub-scene at the current moment. Furthermore, the 3D modeling design data of the second sub-scene at the current moment is the design data for the second sub-scene in the target rendering scene initiated by the second client in real time. The first sub-scene and the second sub-scene are different scenes in the target rendering scene. Here, the second client is also one of the multiple clients that perform the collaborative rendering task, that is, in this example, the first client and the second client are both clients that perform the collaborative rendering task.
[0041] That is to say, in this example, the current historical rendering data can be obtained by rendering the design data for the second sub-scene initiated in real time by the second client. In this way, the first client can browse the rendering effects of other collaboratively processed clients in a timely manner. On the basis of realizing collaborative rendering, the collaborative rendering efficiency is effectively improved, thereby improving the user experience.
[0042] Furthermore, in one example, the second client also sends the 3D modeling design data for the second sub-scene through the cloud renderer plug-in installed on the second client.
[0043] Step S103: Rendering is performed based on the aggregated rendering data to obtain a target rendering effect graph. Here, the target rendering effect graph can reflect the real-time rendering effect for the first sub-scene and the second sub-scene.
[0044] Here, it can be understood that since the above-mentioned rendering processing is performed on the basis of the aggregation of rendering data of other sub-scenes, that is, it is performed on the basis of aggregated rendering data, the final target rendering effect diagram can not only display the rendering effect of the sub-scene rendered by itself in real time, but also can display the rendering effect of other sub-scenes rendered by other clients in real time. In this way, on the basis of effectively realizing multi-terminal collaborative rendering, the client can browse the rendering effects of other clients, thereby improving the collaborative rendering experience.
[0045] In this way, the disclosed solution utilizes cloud technology to effectively realize collaborative rendering of multiple clients, so that multiple clients can browse each other's rendering effects in a timely manner during the collaborative rendering process, thereby effectively improving the efficiency of collaborative rendering. At the same time, it also facilitates rapid collaboration to complete a complete design plan, effectively improving the user experience.
[0046] In addition, it should be noted that the client of the disclosed solution can achieve collaborative rendering through a cloud renderer. In this way, cloud technology is used to achieve cross-client data management. At the same time, the occupation of local resources is effectively reduced. Moreover, since different clients in the disclosed solution can access the cloud renderer through a cloud renderer plug-in (for example, the cloud renderer plug-in can be installed in a 3D modeling design software), the problem of inconsistent rendering effects caused by different renderers of different modeling software is effectively avoided, thereby further improving the user experience.
[0047] Figure 2 This is a schematic flow chart of a collaborative rendering processing method according to an embodiment of the present application. Figure 2 The method can be optionally applied to electronic devices, such as personal computers, servers, server clusters, and other electronic devices. It can be understood that the above Figure 1 The relevant contents of the method shown can also be applied to this example, and the relevant contents will not be described in detail in this example.
[0048] Further, the method includes at least part of the following contents. Figure 2 As shown, including:
[0049] Step S201: obtaining the collaborative rendering task initiated by the second client through the cloud rendering service module.
[0050] Step S202: determining, through the cloud rendering service module, whether the initialization operation for the target rendering scene of the collaborative rendering task has been completed.
[0051] Step S203: when it is determined that the initialization operation for the target rendering scene is not completed, perform the initialization operation, and after the initialization operation is completed, perform rendering processing based on the 3D modeling design data of the second sub-scene initiated by the second client to obtain historical rendering data.
[0052] That is, in this example, the second client is a client that initiates the collaborative rendering task, for example, a client that initiates the collaborative rendering task for the first time.
[0053] Furthermore, in one example, if other clients executing collaborative rendering tasks initiate collaborative rendering tasks again, they do not need to repeat the initialization operation, thus providing strong support for improving collaborative rendering efficiency.
[0054] For example, in a specific example, after the initialization operation is completed, the three-dimensional modeling design data for the second sub-scene initiated in real time by the second client is obtained through the cloud rendering service module. At this time, since the second client is the client that initiates the collaborative rendering task for the first time, there is no historical rendering data for the collaborative rendering task in the cloud server. Based on this, the cloud rendering engine directly performs rendering processing based on the three-dimensional modeling design data for the second sub-scene initiated by the second client to obtain the initial rendering data, and at the same time, the initial rendering effect map can also be obtained. Here, the obtained initial rendering data can be used as historical rendering data to facilitate subsequent data fusion and then realize collaborative rendering. Accordingly, the initial rendering effect map can be sent directly to the second client, for example, to the cloud renderer of the second client, for display.
[0055] Step S204: Acquire the 3D modeling design data of the first sub-scene in the target rendering scene from the first client.
[0056] Here, the target rendering scene is a rendering scene targeted by a collaborative rendering task that at least two clients need to collaboratively complete. Further, the first client is one of the at least two clients. Correspondingly, the second client is also one of the at least two clients. In other words, both the first client and the second client are clients that perform the collaborative rendering task.
[0057] Furthermore, in one example, before step S204, the following steps may also be included:
[0058] The collaborative rendering task initiated by the first client is obtained through the cloud rendering service module. Further, the cloud rendering service module is used to determine whether the initialization operation for the target rendering scene of the collaborative rendering task has been completed. Further, when it is determined that the initialization operation for the target rendering scene has been completed, the three-dimensional modeling design data of the first sub-scene in the target rendering scene is obtained by the first client.
[0059] Step S205: Aggregate the 3D modeling design data based on the first sub-scene and the current historical rendering data to obtain aggregated rendering data.
[0060] Here, the current historical rendering data is at least based on the three-dimensional modeling design data of the second sub-scene at the current moment, wherein the three-dimensional modeling design data of the second sub-scene at the current moment is the design data for the second sub-scene in the target rendering scene initiated in real time by the second client.
[0061] Here, the relevant description of the historical rendering data can be found in the above example, which will not be repeated here.
[0062] Step S206: Rendering is performed based on the aggregated rendering data to obtain a target rendering effect graph. Here, the target rendering effect graph can reflect the real-time rendering effect for the first sub-scene and the second sub-scene.
[0063] Furthermore, in a specific example, the above-mentioned execution of the initialization operation may specifically include:
[0064] Obtaining, through a cloud rendering service module (e.g., a cloud renderer management service), scene data of a target rendering scene for the collaborative rendering task from a preset database to complete a service initialization process of the cloud rendering service module;
[0065] Through the cloud rendering service module, the scene data of the target rendering scene for the collaborative rendering task is sent to the cloud rendering engine (for example, it can be implemented through a cloud rendering cluster), so that the cloud rendering engine processes based on the scene data of the target rendering scene to complete the engine initialization process of the cloud rendering engine.
[0066] Furthermore, in one example, before sending the scene data of the target rendering scene of the collaborative rendering task to the cloud rendering engine through the cloud rendering service module, the method further includes:
[0067] Through the cloud rendering service module, a long link with the cloud rendering engine is established, providing strong support for the subsequent rapid completion of collaborative rendering tasks.
[0068] Furthermore, in a specific example, the above-mentioned performing the initialization operation may also include:
[0069] Through the cloud rendering service module, the relevant data for displaying the front-end interface in the scene data of the target rendering scene is sent to the second client, so that the second client can quickly display the rendering effect.
[0070] For example, if Figure 3 As shown, in one example, the steps of the initialization operation can be completed in the following manner to provide support for subsequent collaborative rendering:
[0071] Step a: Client B (eg, the second client) accesses the cloud renderer through a plug-in in the 3D modeling design software and initiates a collaborative rendering task.
[0072] For example, client B selects a target rendering scheme or a newly created rendering scheme through a plug-in provided by a cloud renderer in a 3D modeling design software to initiate a collaborative rendering task. At the same time, the cloud renderer is opened to initialize the rendering interface of the cloud renderer.
[0073] Step b: Through the renderer plug-in, the cloud renderer management service (corresponding to the cloud rendering service module described above) is notified of the identification information of the target rendering scene for which the collaborative rendering task to be initialized is targeted. Further, the cloud rendering management service reads and processes the data from the preset database according to the identification information of the target rendering scene.
[0074] Step c: The cloud renderer management service determines whether the target rendering scene has been initialized; if it has not been initialized, in other words, if the target rendering scene is opened for the first time, a long link is established with the cloud rendering cluster (corresponding to the cloud rendering engine described above), and the scene data required for performing the collaborative rendering task (for example, the scene data required for the target rendering scene) is synchronized to the cloud rendering cluster to initialize the scene data of the cloud rendering engine, thereby completing the engine initialization process of the cloud rendering engine.
[0075] Step d: The cloud renderer management service maintains a long connection with the cloud engine rendering, and at the same time, synchronizes the scene data used for the front-end interface display to the cloud renderer corresponding to the client B. For example, the relevant data used for the front-end interface display in the scene data of the target rendering scene is sent to the cloud renderer corresponding to the client B.
[0076] In this way, the initialization process is completed, providing strong support for subsequent collaborative rendering.
[0077] In this way, the disclosed solution can utilize the cloud advantages of cloud rendering technology to support collaborative scenarios of multi-terminal users, and thus realize collaborative rendering. Here, it should be noted that the disclosed solution not only supports multi-terminal user collaboration, but also unifies the rendering effects between different modeling software. In this way, it effectively expands the use scenarios of user collaborative rendering, thereby further improving the user experience.
[0078] Figure 4 This is a schematic flow chart of a collaborative rendering processing method according to an embodiment of the present application. Figure 3 The method can be optionally applied to electronic devices, such as personal computers, servers, server clusters, and other electronic devices. It can be understood that the above Figures 1 to 3 The relevant contents of the method shown can also be applied to this example, and the relevant contents will not be described in detail in this example.
[0079] Further, the method includes at least part of the following contents. Figure 4 As shown, including:
[0080] Step S401: obtaining a collaborative rendering task initiated by a second client through a cloud rendering service module.
[0081] Step S402: determining, through the cloud rendering service module, whether the initialization operation for the target rendering scene of the collaborative rendering task has been completed.
[0082] Step S403: if it is determined that the initialization operation for the target rendering scene is not completed, perform the initialization operation.
[0083] Here, the performing of the initialization operation includes:
[0084] Obtaining, through the cloud rendering service module, scene data of a target rendering scene for the collaborative rendering task from a preset database to complete a service initialization process of the cloud rendering service module;
[0085] Through the cloud rendering service module, the scene data of the target rendering scene for the collaborative rendering task is sent to the cloud rendering engine, so that the cloud rendering engine processes based on the scene data of the target rendering scene to complete the engine initialization process of the cloud rendering engine.
[0086] Step S404: After the initialization operation is completed, the three-dimensional modeling design data for the second sub-scene initiated in real time by the second client is obtained through the cloud rendering service module.
[0087] Step S405: Perform rendering processing based on the 3D modeling design data of the second sub-scene through a cloud rendering engine to obtain historical rendering data.
[0088] Here, relevant descriptions about the second client, collaborative rendering tasks, historical rendering data, etc. can be found in the above examples and will not be repeated here.
[0089] Step S406: Obtaining, through the cloud rendering service module, 3D modeling design data of the first sub-scene in the target rendering scene from the first client.
[0090] Here, for the relevant description of the target rendering scene, the first client, the first sub-scene and the second sub-scene, please refer to the above examples, which will not be repeated here.
[0091] For example, in one example, after obtaining the 3D modeling design data of the first sub-scene in the target rendering scene from the first client, the method further includes:
[0092] Through the cloud rendering service module, the second target modeling data associated with the three-dimensional modeling design data of the first sub-scene and used for front-end interface display is sent to the first client, for example, to the cloud renderer corresponding to the first client, thereby providing data support for the rapid display of rendering effects.
[0093] Step S407: sending the first target modeling data for engine rendering associated with the three-dimensional modeling design data of the first sub-scene to the cloud rendering engine through the cloud rendering service module.
[0094] Here, in one example, the data accuracy of the first target modeling data is greater than or equal to the data accuracy of the second target modeling data. In this way, the rendering accuracy is effectively ensured, and at the same time, it is also convenient to quickly display the rendering effect on the front end.
[0095] Step S408: Through the cloud rendering service module, the three-dimensional modeling design data of the first sub-scene and the current historical rendering data are aggregated to obtain aggregated rendering data.
[0096] In other words, through the cloud rendering service module, the modeling data of different clients can be integrated, thus providing strong support for collaborative rendering.
[0097] Step S409: Using the cloud rendering engine, based on the aggregated rendering data and based on the first target modeling data, rendering processing is performed to obtain a target rendering effect diagram.
[0098] For example, if Figure 5 As shown, on client B, Figure 3 After completing the initialization operation in the manner shown and obtaining the historical rendering data of client B, client A can perform collaborative rendering based on the following operations:
[0099] Step a: Client A designs model data in 3D modeling design software, for example, to obtain three-dimensional modeling design data for the first sub-scene.
[0100] Here, the 3D modeling and design software described in the disclosed solution may specifically be local modeling and design software, and the disclosed solution does not impose any specific restrictions on this.
[0101] Here, it should be noted that client B can adopt the same steps as client A to obtain the historical rendering data for the second sub-scene.
[0102] Step b: The obtained 3D modeling design data is synchronized to the cloud renderer management service through the renderer plug-in. The cloud renderer management service processes the data and saves it to the database after fusing it with the historical rendering data of client B. Furthermore, the cloud renderer management service communicates with the cloud rendering cluster and the cloud renderer through the established long link.
[0103] For example, the cloud renderer management service synchronizes high-precision modeling data used for rendering engine drawing to the cloud rendering cluster, for example, synchronizes high-precision modeling data used for engine drawing associated with the 3D modeling design data of the first sub-scene to the cloud rendering cluster. Correspondingly, the cloud renderer management service synchronizes low-precision modeling data used for front-end interface display to the cloud renderer, for example, synchronizes low-precision modeling data used for front-end interface display associated with the 3D modeling design data of the first sub-scene to the cloud renderer.
[0104] Step c: After receiving the high-precision modeling data, the cloud rendering engine performs rendering to obtain target rendering data; and obtains a target rendering effect diagram, and accordingly, pushes the target rendering effect diagram to the cloud renderer of client A through a long link for display.
[0105] Furthermore, the cloud renderer management service is utilized, and the historical rendering data is updated based on the obtained target rendering data, thereby providing strong support for subsequent collaborative rendering.
[0106] The above completes the process of designing and displaying the latest renderings in the modeling design software.
[0107] Furthermore, in actual applications, after client A browses the latest rendering effect image displayed, it can also perform the following operations:
[0108] Step d: The cloud renderer interface is hosted in the form of a browser page to display the latest rendering effect diagram. Client A can perform the following operations: modify rendering parameters such as lighting parameters, camera parameters, and environment parameters.
[0109] Step e: The cloud renderer converts the rendering parameter operations into corresponding commands and synchronizes them to the cloud rendering cluster.
[0110] Step f: The cloud rendering cluster continues the rendering process to return the latest rendering image to the cloud renderer for display.
[0111] In this way, the process of designing rendering effects in rendering design software (e.g., cloud renderer) and displaying the latest renderings in real time is completed.
[0112] It should be noted that collaboration refers to the process of achieving common goals through cooperation and coordination between multiple individuals or organizations, and achieving more efficient and effective results by sharing and integrating information and resources from all parties. 3D modeling and design software is a type of computer program used to create, edit and optimize three-dimensional models. Its core capabilities are modeling and adding textures and materials to models. A cloud rendering cluster refers to a computer cluster that has a rendering engine program deployed, which can be composed of tens of thousands of servers.
[0113] Furthermore, the collaborative function of the disclosed solution means that different 3D modeling design software can be opened in multiple clients to design 3D models, and each client can also upload the designed 3D models to a cloud server (for example, including a cloud renderer, a cloud renderer management service, and a cloud rendering cluster) for rendering and aggregation to obtain a rendering effect. In other words, the collaborative function enables different users to collaborate on a rendering scene on different clients, and each client can not only browse its own rendering effect in real time, but also browse the rendering effects of other clients in real time.
[0114] Furthermore, the collaborative function of the disclosed solution does not limit the design software used by each client. For example, each client can use different local design software for modeling and design.
[0115] To sum up, the disclosed solution can realize collaborative design among multiple modeling and design software, and finally display the complete rendering scene effect diagram through the cloud renderer, effectively solving the effect differences between different modeling and design software. Moreover, the solution has a fast rendering speed and reduces the dependence on local resources, thereby effectively improving the collaborative rendering experience.
[0116] The disclosed solution also provides a collaborative rendering processing system, such as Figure 6 As shown, including:
[0117] The first client 601 is used to access the first cloud renderer through the cloud renderer plug-in installed by itself; further, it is also used to send the 3D modeling design data for the first sub-scene in the target rendering scene;
[0118] The second client 602 is used to access the second cloud renderer through the cloud renderer plug-in installed by itself; further, it is also used to send the 3D modeling design data for the second sub-scene in the target rendering scene;
[0119] The cloud server 603 is used to obtain the 3D modeling design data of the first sub-scene in the target rendering scene by the first client; wherein the target rendering scene is the rendering scene for the collaborative rendering task that needs to be completed collaboratively by at least two clients; the first client and the second client are each one of the at least two clients; and is also used to obtain aggregated rendering data after aggregating the 3D modeling design data of the first sub-scene with the current historical rendering data; here, the current historical rendering data is at least based on the 3D modeling design data of the second sub-scene at the current moment, wherein the 3D modeling design data of the second sub-scene at the current moment is the design data for the second sub-scene in the target rendering scene initiated by the second client in real time; further, it is also used to perform rendering processing based on the aggregated rendering data to obtain a target rendering effect diagram, wherein the target rendering effect diagram can reflect the real-time rendering effects for the first sub-scene and the second sub-scene.
[0120] Here, in one example, the cloud server may include the cloud renderer management service and cloud rendering cluster described above.
[0121] The disclosed solution also provides a collaborative rendering processing device, such as Figure 7 As shown, including:
[0122] The data determination unit 701 is used to obtain 3D modeling design data of a first sub-scene in a target rendering scene from a first client; wherein the target rendering scene is a rendering scene targeted by a collaborative rendering task that needs to be collaboratively completed by at least two clients; and the first client is one of the at least two clients;
[0123] The rendering processing unit 702 is used to obtain aggregated rendering data after aggregating the 3D modeling design data of the first sub-scene with the current historical rendering data; the current historical rendering data is at least based on the 3D modeling design data of the second sub-scene at the current moment, wherein the 3D modeling design data of the second sub-scene at the current moment is the design data of the second sub-scene in the target rendering scene initiated in real time by the second client; and is also used to perform rendering processing based on the aggregated rendering data to obtain a target rendering effect diagram, wherein the target rendering effect diagram can reflect the real-time rendering effects for the first sub-scene and the second sub-scene.
[0124] In a specific example of the disclosed solution, the rendering processing unit is further used to:
[0125] Obtaining the collaborative rendering task initiated by the second client through the cloud rendering service module;
[0126] Determining, by the cloud rendering service module, whether an initialization operation for a target rendering scene of the collaborative rendering task has been completed;
[0127] When it is determined that the initialization operation for the target rendering scene is not completed, the initialization operation is performed, and after the initialization operation is completed, rendering processing is performed based on the 3D modeling design data of the second sub-scene initiated by the second client to obtain historical rendering data.
[0128] In a specific example of the disclosed solution, the initialization operation includes:
[0129] Obtaining, through the cloud rendering service module, scene data of a target rendering scene for the collaborative rendering task from a preset database to complete a service initialization process of the cloud rendering service module;
[0130] Through the cloud rendering service module, the scene data of the target rendering scene for the collaborative rendering task is sent to the cloud rendering engine, so that the cloud rendering engine processes based on the scene data of the target rendering scene to complete the engine initialization process of the cloud rendering engine.
[0131] In a specific example of the disclosed solution, the rendering processing unit is further used to:
[0132] Before sending the scene data of the target rendering scene for the collaborative rendering task to the cloud rendering engine through the cloud rendering service module, a long link with the cloud rendering engine is established through the cloud rendering service module.
[0133] In a specific example of the disclosed solution, the initialization operation further includes: sending relevant data for front-end interface display in the scene data of the target rendering scene to the second client through the cloud rendering service module.
[0134] In a specific example of the disclosed solution, the rendering processing unit is specifically used to:
[0135] After the initialization operation is completed, the three-dimensional modeling design data for the second sub-scene initiated in real time by the second client is obtained through the cloud rendering service module;
[0136] Through the cloud rendering engine, rendering processing is performed based on the three-dimensional modeling design data of the second sub-scene to obtain historical rendering data.
[0137] In a specific example of the disclosed solution, the rendering processing unit is further used to:
[0138] Sending, through the cloud rendering service module, first target modeling data for engine rendering, which is associated with the three-dimensional modeling design data of the first sub-scene, to the cloud rendering engine;
[0139] Through the cloud rendering engine, rendering processing is performed on the basis of the aggregated rendering data and based on the first target modeling data to obtain a target rendering effect diagram.
[0140] In a specific example of the disclosed solution, the rendering processing unit is further used to:
[0141] Through the cloud rendering service module, the second target modeling data associated with the three-dimensional modeling design data of the first sub-scene and used for front-end interface display is sent to the first client.
[0142] In a specific example of the disclosed solution, the data accuracy of the first target modeling data is greater than or equal to the data accuracy of the second target modeling data.
[0143] For the description of the specific functions and examples of each unit of the device in the embodiment of the present disclosure, reference can be made to the relevant description of the corresponding steps in the above method embodiment, which will not be repeated here.
[0144] In the technical solution disclosed herein, the acquisition, storage and application of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0145] Figure 8 FIG. 1 is a structural block diagram of an electronic device according to an embodiment of the present disclosure. Figure 8 As shown, the electronic device includes: a memory 810 and a processor 820, and the memory 810 stores a computer program that can be run on the processor 820. The number of the memory 810 and the processor 820 can be one or more. The memory 810 can store one or more computer programs. When the one or more computer programs are executed by the electronic device, the electronic device executes the method provided by the above method embodiment. The electronic device may also include: a communication interface 830, which is used to communicate with external devices and perform data exchange transmission.
[0146] If the memory 810, the processor 820 and the communication interface 830 are implemented independently, the memory 810, the processor 820 and the communication interface 830 can be connected to each other through a bus and communicate with each other. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 8Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0147] Optionally, in a specific implementation, if the memory 810, the processor 820 and the communication interface 830 are integrated on a chip, the memory 810, the processor 820 and the communication interface 830 can communicate with each other through an internal interface.
[0148] It should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc. It is worth noting that the processor may be a processor supporting the Advanced RISC Machines (ARM) architecture.
[0149] Further, optionally, the above-mentioned memory may include a read-only memory and a random access memory, and may also include a non-volatile random access memory. The memory may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may include a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may include a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available. For example, static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM) and direct memory bus random access memory (DR RAM).
[0150] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, the process or function described in the embodiment of the present disclosure is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center by wired (for example: coaxial cable, optical fiber, data subscriber line (Digital Subscriber Line, DSL)) or wireless (for example: infrared, Bluetooth, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access, or a data storage device such as a server or data center that includes one or more available media integrations. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a digital versatile disc (DVD)), or a semiconductor medium (e.g., a solid state disk (SSD)), etc. It is worth noting that the computer-readable storage medium mentioned in the present disclosure may be a non-volatile storage medium, in other words, a non-transient storage medium.
[0151] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.
[0152] In the description of the embodiments of the present disclosure, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present disclosure. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, unless they are contradictory.
[0153] In the description of the embodiments of the present disclosure, unless otherwise specified, " / " means or, for example, A / B can mean A or B. "And / or" in this article is only a way to describe the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.
[0154] In the description of the embodiments of the present disclosure, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of the embodiments of the present disclosure, unless otherwise specified, "plurality" means two or more.
[0155] The above description is only an exemplary embodiment of the present disclosure and is not intended to limit the present disclosure. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A collaborative rendering processing method, comprising: Acquire 3D modeling design data of a first sub-scene in a target rendering scene by a first client; wherein the target rendering scene is a rendering scene targeted by a collaborative rendering task to be collaboratively completed by at least two clients; and the first client is one of the at least two clients; Aggregate rendering data is obtained after aggregating the 3D modeling design data of the first sub-scene and the current historical rendering data; the current historical rendering data is obtained based on at least the 3D modeling design data of the second sub-scene at the current moment, wherein the 3D modeling design data of the second sub-scene at the current moment is the design data of the second sub-scene in the target rendering scene initiated in real time by the second client; the first client and the second client are both clients that execute the collaborative rendering task; Rendering processing is performed on the basis of the aggregated rendering data to obtain a target rendering effect graph, wherein the target rendering effect graph can reflect the real-time rendering effect for the first sub-scene and the second sub-scene.
2. The method according to claim 1, further comprising: Obtaining the collaborative rendering task initiated by the second client through the cloud rendering service module; Determining, by the cloud rendering service module, whether an initialization operation for a target rendering scene of the collaborative rendering task has been completed; When it is determined that the initialization operation for the target rendering scene is not completed, the initialization operation is performed, and after the initialization operation is completed, rendering processing is performed based on the 3D modeling design data of the second sub-scene initiated by the second client to obtain historical rendering data.
3. The method according to claim 2, wherein: The performing of the initialization operation comprises: Obtaining, through the cloud rendering service module, scene data of a target rendering scene for the collaborative rendering task from a preset database to complete a service initialization process of the cloud rendering service module; Through the cloud rendering service module, the scene data of the target rendering scene for the collaborative rendering task is sent to the cloud rendering engine, so that the cloud rendering engine processes based on the scene data of the target rendering scene to complete the engine initialization process of the cloud rendering engine.
4. The method according to claim 3, wherein: Before sending the scene data of the target rendering scene for the collaborative rendering task to the cloud rendering engine through the cloud rendering service module, the method further includes: Through the cloud rendering service module, a long link with the cloud rendering engine is established.
5. The method according to claim 3, wherein: The performing of the initialization operation further includes: Through the cloud rendering service module, the relevant data used for front-end interface display in the scene data of the target rendering scene is sent to the second client.
6. The method according to any one of claims 3 to 5, wherein: The rendering process is performed based on the three-dimensional modeling design data of the second sub-scene initiated by the second client after the initialization operation is completed to obtain historical rendering data, including: After the initialization operation is completed, the three-dimensional modeling design data for the second sub-scene initiated in real time by the second client is obtained through the cloud rendering service module; Through the cloud rendering engine, rendering processing is performed based on the three-dimensional modeling design data of the second sub-scene to obtain historical rendering data.
7. The method according to any one of claims 3 to 5, wherein: After obtaining the 3D modeling design data of the first sub-scene in the target rendering scene from the first client, the method further includes: Sending, through the cloud rendering service module, first target modeling data for engine rendering, which is associated with the three-dimensional modeling design data of the first sub-scene, to the cloud rendering engine; The step of performing rendering processing on the basis of aggregated rendering data to obtain a target rendering effect diagram includes: Through the cloud rendering engine, rendering processing is performed on the basis of the aggregated rendering data and based on the first target modeling data to obtain a target rendering effect diagram.
8. The method according to claim 7, wherein: After obtaining the 3D modeling design data of the first sub-scene in the target rendering scene from the first client, the method further includes: Through the cloud rendering service module, the second target modeling data associated with the three-dimensional modeling design data of the first sub-scene and used for front-end interface display is sent to the first client.
9. The method according to claim 8, wherein: The data accuracy of the first target modeling data is greater than or equal to the data accuracy of the second target modeling data.
10. A collaborative rendering processing device, comprising: A data determination unit, configured to obtain three-dimensional modeling design data of a first sub-scene in a target rendering scene from a first client; wherein the target rendering scene is a rendering scene targeted by a collaborative rendering task to be collaboratively completed by at least two clients; and the first client is one of the at least two clients; A rendering processing unit is used to obtain aggregated rendering data after aggregating the 3D modeling design data of the first sub-scene with the current historical rendering data; the current historical rendering data is obtained based on at least the 3D modeling design data of the second sub-scene at the current moment, wherein the 3D modeling design data of the second sub-scene at the current moment is the design data of the second sub-scene in the target rendering scene initiated in real time by the second client; the first client and the second client are both clients that execute the collaborative rendering task; rendering processing is performed on the basis of the aggregated rendering data to obtain a target rendering effect diagram, wherein the target rendering effect diagram can reflect the real-time rendering effects for the first sub-scene and the second sub-scene.
11. The device according to claim 10, wherein: The rendering processing unit is further used for: Obtaining the collaborative rendering task initiated by the second client through the cloud rendering service module; Determining, by the cloud rendering service module, whether an initialization operation for a target rendering scene of the collaborative rendering task has been completed; When it is determined that the initialization operation for the target rendering scene is not completed, the initialization operation is performed, and after the initialization operation is completed, rendering processing is performed based on the 3D modeling design data of the second sub-scene initiated by the second client to obtain historical rendering data.
12. The device according to claim 11, wherein The initialization operation includes: Obtaining, through the cloud rendering service module, scene data of a target rendering scene for the collaborative rendering task from a preset database to complete a service initialization process of the cloud rendering service module; Through the cloud rendering service module, the scene data of the target rendering scene for the collaborative rendering task is sent to the cloud rendering engine, so that the cloud rendering engine processes based on the scene data of the target rendering scene to complete the engine initialization process of the cloud rendering engine.
13. The device according to claim 12, wherein: The rendering processing unit is specifically used for: After the initialization operation is completed, the three-dimensional modeling design data for the second sub-scene initiated in real time by the second client is obtained through the cloud rendering service module; Through the cloud rendering engine, rendering processing is performed based on the three-dimensional modeling design data of the second sub-scene to obtain historical rendering data.
14. The device according to claim 12 or 13, wherein: The rendering processing unit is further used for: Sending, through the cloud rendering service module, first target modeling data for engine rendering, which is associated with the three-dimensional modeling design data of the first sub-scene, to the cloud rendering engine; Through the cloud rendering engine, rendering processing is performed on the basis of the aggregated rendering data and based on the first target modeling data to obtain a target rendering effect diagram.
15. An electronic device, comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 9.
16. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-9.
17. A computer program product comprising a computer program, which, when executed by a processor, implements the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Scene rendering method and device, computer equipment and storage medium
CN112837402A