CN115965732A - Cloud rendering system, method, device, equipment, medium and product of three-dimensional model - Google Patents

Cloud rendering system, method, device, equipment, medium and product of three-dimensional model Download PDF

Info

Publication number
CN115965732A
CN115965732A CN202211735778.8A CN202211735778A CN115965732A CN 115965732 A CN115965732 A CN 115965732A CN 202211735778 A CN202211735778 A CN 202211735778A CN 115965732 A CN115965732 A CN 115965732A
Authority
CN
China
Prior art keywords
rendering
editing
terminal
cloud server
dimensional model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211735778.8A
Other languages
Chinese (zh)
Inventor
褚文辉
苏磊
王贵山
胡成龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuming Technology Hangzhou Co ltd
Original Assignee
Wuming Technology Hangzhou Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuming Technology Hangzhou Co ltd filed Critical Wuming Technology Hangzhou Co ltd
Priority to CN202211735778.8A priority Critical patent/CN115965732A/en
Publication of CN115965732A publication Critical patent/CN115965732A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

The application discloses a cloud rendering system, a cloud rendering method, a cloud rendering device, a cloud rendering medium and a cloud rendering product of a three-dimensional model, and relates to the technical field of cloud rendering. The system comprises a first terminal, a second terminal and a cloud server; the first terminal is used for receiving a first editing operation on the specified three-dimensional model; sending a first editing instruction to a cloud server; the second terminal is used for receiving a second editing operation on the specified three-dimensional model; sending a second editing instruction to the cloud server; the cloud server is used for receiving the first editing instruction and the second editing instruction and rendering the specified three-dimensional model through the target rendering engine based on the first editing instruction and the second editing instruction; feeding back rendering results to the first terminal and the second terminal; the first terminal and the second terminal are further used for receiving rendering results sent by the cloud server and displaying the edited specified three-dimensional model. The cloud rendering efficiency of the three-dimensional model is improved, and different terminals can cooperatively render the same three-dimensional model.

Description

Cloud rendering system, method, device, equipment, medium and product of three-dimensional model
Technical Field
The present application relates to the field of cloud rendering technologies, and in particular, to a cloud rendering system, method, apparatus, device, storage medium, and product for a three-dimensional model.
Background
With the development of intelligent software, in the industrial field, in order to improve the design efficiency of factory buildings, professional factory design software is gradually used to improve the design simulation and emulation of factories. In the process of factory design, firstly drawing a factory drawing by using drawing tool software, secondly manufacturing a three-dimensional model of a factory by using model software according to the factory drawing, and finally importing the three-dimensional model of the factory into a cloud rendering engine for model cloud rendering to finally generate a three-dimensional structure simulation diagram of the factory.
In the process of factory design, a plurality of employees are required to complete the whole development process together, and each employee is responsible for different tasks, such as: the staff a is responsible for building an external structure of the three-dimensional model, the staff b is responsible for building an internal structure of the three-dimensional model, when the plurality of staff respectively complete the building tasks of the three-dimensional model, the three-dimensional models of different parts are integrated, and then cloud rendering is carried out on the integrated three-dimensional model.
However, in the method, the three-dimensional models of different parts can be integrated after all the employees are designed, so that the construction efficiency of the three-dimensional models is reduced, and further the cloud rendering efficiency of the three-dimensional models is reduced.
Disclosure of Invention
The embodiment of the application provides a cloud rendering system, a cloud rendering method, a cloud rendering device, a storage medium and a product of a three-dimensional model, and the cloud rendering efficiency of the three-dimensional model can be improved. The technical scheme is as follows.
In one aspect, a cloud rendering system for a three-dimensional model is provided, the system comprising: the system comprises a first terminal, a second terminal and a cloud server; the first terminal and the second terminal are connected with a target rendering engine in the cloud server, and the target rendering engine is used for rendering a specified three-dimensional model;
the first terminal is used for receiving a first editing operation on the specified three-dimensional model, and the first editing operation is used for editing a first model part of the specified three-dimensional model; sending a first editing instruction to the cloud server;
the second terminal is used for receiving a second editing operation on the specified three-dimensional model, and the second editing operation is used for editing a second model part of the specified three-dimensional model; sending a second editing instruction to the cloud server;
the cloud server is used for receiving the first editing instruction and the second editing instruction, and rendering the specified three-dimensional model through the target rendering engine based on the first editing instruction and the second editing instruction; feeding back rendering results to the first terminal and the second terminal;
the first terminal and the second terminal are further configured to receive the rendering result sent by the cloud server and display the edited specified three-dimensional model.
In another aspect, a method for cloud rendering of a three-dimensional model is provided, the method comprising:
receiving an editing operation on the specified three-dimensional model, wherein the editing operation is used for editing a model part of the specified three-dimensional model;
sending an editing instruction to the cloud server;
and receiving a rendering result sent by the cloud server, and displaying the edited specified three-dimensional model, wherein the rendering result is a result obtained by rendering the specified three-dimensional model through a target rendering engine by the cloud server according to the editing instructions sent by the plurality of terminals respectively.
In another aspect, a method for cloud rendering of a three-dimensional model is provided, the method comprising:
receiving editing instructions sent by a plurality of terminals respectively;
rendering the specified three-dimensional model through the target rendering engine based on editing instructions respectively sent by the plurality of terminals;
and feeding back rendering results to the plurality of terminals respectively.
In another aspect, an apparatus for cloud rendering of a three-dimensional model is provided, the apparatus comprising:
a first receiving module, configured to receive an editing operation on the specified three-dimensional model, where the editing operation is used to edit a model portion of the specified three-dimensional model;
the sending module is used for sending an editing instruction to the cloud server;
the receiving module is further configured to receive a rendering result sent by the cloud server and display the edited specified three-dimensional model, where the rendering result is a result obtained by rendering the specified three-dimensional model by the cloud server through a target rendering engine according to the editing instructions sent by the multiple terminals respectively.
In another aspect, an apparatus for cloud rendering of a three-dimensional model is provided, the apparatus including:
the second receiving module is used for receiving editing instructions sent by the terminals respectively;
the rendering module is used for rendering the specified three-dimensional model through the target rendering engine based on the editing instructions sent by the terminals respectively;
and the feedback module is used for respectively feeding back rendering results to the plurality of terminals.
In another aspect, a computer device is provided, which includes a processor and a memory, where at least one instruction, at least one program, a set of codes, or a set of instructions is stored in the memory, and the at least one instruction, the at least one program, the set of codes, or the set of instructions is loaded and executed by the processor to implement the cloud rendering method for a three-dimensional model as described in any of the embodiments of the present application.
In another aspect, there is provided a computer readable storage medium having stored therein at least one instruction, at least one program, a set of codes, or a set of instructions, which is loaded and executed by a processor to implement the cloud rendering method of a three-dimensional model as described in any of the embodiments of the present application.
In another aspect, a computer program product or computer program is provided, the computer program product or computer program comprising computer instructions stored in a computer readable storage medium. A processor of the computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions to cause the computer device to perform the cloud rendering method of the three-dimensional model according to any one of the above embodiments.
The beneficial effects brought by the technical scheme provided by the embodiment of the application at least comprise:
under the condition that the plurality of terminals and target rendering engines in the cloud server are respectively connected, after the plurality of terminals respectively receive editing operation for editing different model parts of the specified three-dimensional model, different editing instructions are respectively sent to the cloud server, after the cloud server receives the different editing instructions, the specified three-dimensional model is rendered through the target rendering engines, rendering results of the specified three-dimensional model are respectively fed back to the plurality of terminals, and finally the edited specified three-dimensional model is displayed by the different terminals after the rendering results are received. That is, after receiving the editing instructions of different terminals for different parts of the three-dimensional model at the same time, the three-dimensional model is rendered through the rendering engine according to the different editing instructions, and rendering results are sent to different terminals, so that the different terminals can display not only the rendering results of the three-dimensional model itself, but also the rendering results of other terminals to other parts of the three-dimensional model, the cloud rendering efficiency of the three-dimensional model is improved, and different terminals can cooperatively render the same three-dimensional model.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a schematic illustration of an implementation environment provided by an exemplary embodiment of the present application;
FIG. 2 is a flowchart of a method for cloud rendering of a three-dimensional model provided by an exemplary embodiment of the present application;
FIG. 3 is a flowchart of a method for cloud rendering of a three-dimensional model provided by another exemplary embodiment of the present application;
FIG. 4 is a flowchart of a method for cloud rendering of a three-dimensional model provided by another exemplary embodiment of the present application;
FIG. 5 is a cloud rendering system architecture diagram of a three-dimensional model provided by another exemplary embodiment of the present application;
FIG. 6 is a flowchart of a method for cloud rendering of a three-dimensional model provided by another exemplary embodiment of the present application;
FIG. 7 is a schematic view of an operational model provided by an exemplary embodiment of the present application;
FIG. 8 is a schematic cross-sectional view generation provided by another exemplary embodiment of the present application;
fig. 9 is a block diagram of an instant messaging system provided in another exemplary embodiment of the present application;
FIG. 10 is a database access diagram provided by an exemplary embodiment of the present application;
FIG. 11 is a block diagram of a cloud rendering apparatus for a three-dimensional model according to an exemplary embodiment of the present application;
FIG. 12 is a block diagram of a cloud rendering apparatus for a three-dimensional model according to another exemplary embodiment of the present application;
FIG. 13 is a block diagram of a cloud rendering apparatus for a three-dimensional model according to another exemplary embodiment of the present application;
fig. 14 is a block diagram of a server according to an exemplary embodiment of the present application.
Detailed Description
To make the objects, technical solutions and advantages of the present application more clear, embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
The terminology used in the present disclosure is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used in this disclosure and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
First, an environment in which the present application is implemented will be described. Fig. 1 is a schematic diagram of an implementation environment provided by an exemplary embodiment of the present application. The implementation environment comprises: a first terminal 110, a second terminal 120, a server 130 and a communication network 140, wherein the first terminal 110 and the second terminal 120 the server 130 are connected through the communication network 140.
The first terminal 110 and the second terminal 120 are each provided with a target application 111, wherein the target application 111 is an application supporting factory design. In some embodiments, the target application 111 may be implemented as a model design application that can provide functions of designing, simulating, and rendering simulation of a three-dimensional model. The model design application can be a single-machine version application program or a network online version application program.
When the first terminal 110 displays the running interface of the target application 111, an editing operation for editing the first part of the specified three-dimensional model is received, a first editing instruction is generated, and the first editing instruction is sent to the server 130.
When the second terminal 120 displays the running interface of the target application 111, the editing operation for editing the second part of the specified three-dimensional model is received, and a second editing instruction is generated and sent to the server 130.
After receiving the first editing instruction and the second editing instruction, the server 130 renders the specified three-dimensional model through the mounted target rendering engine according to the first editing instruction and the second editing instruction, and generates a rendering result to be fed back to the first terminal 110 and the second terminal 120.
And after receiving the rendering results, the first terminal 110 and the second terminal 120 respectively display the edited specified three-dimensional model according to the rendering results.
The first terminal 110 and the second terminal may be optional, and the terminals may be terminal devices in various forms, such as a desktop computer, a laptop computer, a mobile phone, a tablet computer, an e-book reader, an MP3 (Moving Picture Experts Group Audio Layer III, motion Picture Experts compressed standard Audio Layer 3) player, an MP4 (Moving Picture Experts Group Audio Layer IV, motion Picture Experts compressed standard Audio Layer 4) player, an intelligent television, and an intelligent vehicle, which are not limited in this embodiment of the present application.
The server 130 includes at least one of a server, a plurality of servers, a cloud computing platform, and a virtualization center. Alternatively, the server 120 undertakes primary computational tasks and the terminal 110 undertakes secondary computational tasks; alternatively, the server 120 undertakes the secondary computing work and the terminal 110 undertakes the primary computing work; alternatively, the server 130, the first terminal 110 and the second terminal 120 perform cooperative computing by using a distributed computing architecture.
It should be noted that the server may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server, which is not limited herein.
The Cloud Technology (Cloud Technology) is a hosting Technology for unifying series resources such as hardware, software, network and the like in a wide area network or a local area network to realize calculation, storage, processing and sharing of data. In some embodiments, the servers described above may also be implemented as nodes in a blockchain system.
It should be noted that information (including but not limited to user equipment information, user personal information, etc.), data (including but not limited to data for analysis, stored data, presented data, etc.), and signals referred to in this application are authorized by the user or sufficiently authorized by various parties, and the collection, use, and processing of the relevant data is required to comply with relevant laws and regulations and standards in relevant countries and regions.
With reference to the foregoing implementation environment, a cloud rendering system of a three-dimensional model provided in an embodiment of the present application is introduced, where the system includes: referring to fig. 2, a flowchart of a cloud rendering method for a three-dimensional model according to an exemplary embodiment of the present application is shown, and as shown in fig. 2, the method includes the following steps:
in step 210, a first terminal receives a first editing operation on a specified three-dimensional model.
Wherein the first editing operation is used to edit a first model portion of the specified three-dimensional model.
In some embodiments, the first terminal has a target application running therein that supports the factory design function, and the program running interface is currently displayed.
Illustratively, the editing operation includes at least one of generating a part element, building the part element, setting a connection relationship of the part element, configuring a property of the part element, setting a model application scenario, and the like. Herein, the component element means a basic constituent unit constituting the three-dimensional model. In one example, when the three-dimensional model is a three-dimensional plant model, the component elements are implemented as equipment components in the three-dimensional plant model, wherein the equipment components include equipment in the plant such as virtual instruments, virtual pipes, virtual components, and optionally building components corresponding to the three-dimensional model, wherein the building components include virtual ground, virtual walls, virtual roofs, virtual windows, virtual doors, and the like.
Optionally, the specified three-dimensional model is divided according to a structure, such as: the first model part is a specified part structure of a specified three-dimensional model; or, dividing the designated three-dimensional model according to the functional regions, such as: the functional area a, the functional area b and the like, the first model part is a designated functional area of the designated three-dimensional model; alternatively, if the order of generating the model of the designated three-dimensional model is divided, including constructing component elements, combining component elements, adding component attributes, setting component connection relationships, and the like, the first model part is a designated generation step of the designated three-dimensional model, and is not limited thereto.
Optionally, the specified three-dimensional model is a complete model that has not been generated currently, i.e. the first editing operation is used to construct a first model portion of the specified three-dimensional model; alternatively, the specified three-dimensional model is the complete model that has been currently generated, i.e., the first editing operation is used to modify the first model portion of the specified three-dimensional model.
In some embodiments, an editing area is displayed in the program execution interface of the first terminal, and the first editing operation is received in the editing area.
Optionally, the first terminal only has an editing operation right on the first model part of the specified three-dimensional model, that is, the holding user of the first terminal can only edit the first model part of the specified three-dimensional model; or the first terminal has the editing operation authority for the first model part, the second model part and the third model of the specified three-dimensional model.
Step 220, the first terminal sends a first editing instruction to the cloud server.
In some embodiments, the first editing instructions refer to a request to render a first model portion of the specified three-dimensional model by a first rendering engine hosted in a cloud server. The first rendering engine corresponds to first rendering content in the first editing instruction.
Illustratively, the first editing instruction includes a first rendering resource requirement and first rendering content corresponding to the first model part, where the first rendering resource requirement refers to a resource amount of a Graphics Processing Unit (GPU) in the cloud server occupied by rendering the first model part. In one example, the first rendering resource requirement is 4 megabits.
Optionally, the sending mode of the first editing instruction includes at least one of the following modes:
1. after the first terminal finishes an editing process of a first model part of the specified three-dimensional model according to the first editing operation, automatically sending a first editing instruction to the cloud server;
2. after the first terminal finishes an editing process of a first model part of the appointed three-dimensional model according to the first editing operation, the first terminal receives the first rendering operation, generates a first editing instruction according to the first rendering operation and sends the first editing instruction to the cloud server;
3. in the process of editing the first model part of the specified three-dimensional model according to the first editing operation, a first editing instruction corresponding to the first sub-part is sent to the cloud server immediately when the first sub-part in the first model part is edited, and a first editing instruction corresponding to the second sub-part is sent to the cloud server immediately when the second sub-part in the first model part is edited.
It should be noted that the above-mentioned sending manner of the first editing command is only an illustrative example, and the present application does not limit this.
Illustratively, the cloud server is configured to provide a cloud service to the terminal, where the cloud service includes at least one of a plurality of cloud services such as cloud rendering, cloud editing, and cloud management.
In step 230, the second terminal receives a second editing operation on the specified three-dimensional model.
Wherein the second editing operation is used to edit the second model portion of the specified three-dimensional model.
In some embodiments, the second terminal has a target application running therein that supports the factory design function, and the program running interface is currently displayed.
Optionally, the three-dimensional model is divided according to a structure, such as: the first model part is a specified part structure of a specified three-dimensional model; or, dividing the designated three-dimensional model according to the functional regions, such as: the functional area a, the functional area b and the like, the second model part is a designated functional area of the designated three-dimensional model; alternatively, the order of generating the model of the designated three-dimensional model is divided, including constructing component elements, combining component elements, adding component attributes, setting component connection relationships, and the like, and the second model part refers to a designated generating step of the designated three-dimensional model, and is not limited thereto.
Optionally, the specified three-dimensional model is a complete model that has not been generated currently, i.e. the second editing operation is used to construct a second model portion of the specified three-dimensional model; alternatively, the specified three-dimensional model is the complete model that has been currently generated, i.e., the second editing operation is used to modify the second model portion of the specified three-dimensional model.
In some embodiments, an editing area is displayed in the program execution interface of the second terminal, and the second editing operation is received in the editing area.
Optionally, the first editing operation and the second editing operation refer to editing operations performed on different parts of the specified three-dimensional model in the same step in the generation process of the specified three-dimensional model; alternatively, the first editing operation and the second editing operation refer to editing operations in different steps in the generation process of the specified three-dimensional model.
Illustratively, the first editing operation and the second editing operation are operations that edit the same specified three-dimensional model within the same target application.
Optionally, the first editing operation and the second editing operation are editing operations performed simultaneously; or, there is a chronological order between the first editing operation and the second editing operation, which is not limited.
Optionally, the first model part and the second model part belong to the same model part, or belong to different model parts, which is not limited in this respect. In one example, after a first terminal finishes editing a first model part of a specified three-dimensional model through a first editing operation, the edited first model part is used as a second model part, and the second terminal edits through a second editing operation.
In some embodiments, the process of editing the first model portion of the specified three-dimensional model at the first terminal can be displayed in real-time at the second terminal; or the process of editing the first model part of the specified three-dimensional model by the first terminal can be displayed on the second terminal after the first editing operation is finished; or after the first terminal edits the first model part of the designated three-dimensional model, the result of the first editing operation is fed back to the second terminal, and the second editing operation of the second terminal can be displayed on the first terminal in the same way.
In one example, when the three-dimensional model is designated as the three-dimensional plant model, the first terminal is a terminal held by a first designer, the second terminal is a terminal held by a second designer, the first designer and the second designer jointly construct the three-dimensional plant model, and multi-person collaborative design can be realized through the target application.
Optionally, the second terminal only has an editing operation right on the second model part of the specified three-dimensional model, that is, the holding user of the second terminal can only edit the second model part of the specified three-dimensional model; or the second terminal has the editing operation authority for the first model part, the second model part and the third model of the specified three-dimensional model.
The first terminal and the second terminal respectively have different editing authorities for the specified three-dimensional model, or have the same editing authority.
And 240, the second terminal sends a second editing instruction to the cloud server.
In some embodiments, the second editing instructions refer to requesting rendering of the first model portion of the specified three-dimensional model by a second rendering engine hosted in the cloud server. And the second rendering engine corresponds to the second rendering content in the second editing instruction.
Illustratively, the second editing instruction includes a second rendering resource requirement and a second rendering content, where the second rendering resource requirement refers to an amount of resource of the GPU in the cloud server occupied by rendering the second model portion. In one example, the second rendering resource requirement is 3 megabits.
Optionally, the sending mode of the second editing instruction includes at least one of the following modes:
1. after the second terminal finishes the editing process of the first model part of the specified three-dimensional model according to the second editing operation, automatically sending a first editing instruction to the cloud server;
2. after the second terminal finishes the editing process of the first model part of the specified three-dimensional model according to the second editing operation, the second terminal receives the second rendering operation, generates a second editing instruction according to the second rendering operation and sends the second editing instruction to the cloud server;
3. in the process of editing the second model part of the specified three-dimensional model according to the second editing operation, a first editing instruction corresponding to the first sub-part is sent to the cloud server immediately when the first sub-part in the second model part is edited, and a second editing instruction corresponding to the second sub-part is sent to the cloud server immediately when the second sub-part in the second model part is edited.
It should be noted that, the above-mentioned sending manner of the first editing instruction is only an illustrative example, and the present application embodiment does not limit this.
In step 250, the cloud server receives the first editing instruction and the second editing instruction, and renders the specified three-dimensional model through the target rendering engine based on the first editing instruction and the second editing instruction.
Illustratively, the time sequence of the cloud server receiving the first editing instruction and the second editing instruction is not limited, and is related to the time of the first terminal and the time of the second terminal.
In some embodiments, after receiving the first editing instruction and the second editing instruction, the cloud server starts a first rendering engine to render a first model part of the specified three-dimensional model in the first editing instruction according to the amount of resources required by the first rendering content, and starts a second rendering engine to render a second model part of the specified three-dimensional model according to the amount of resources required by the second rendering content. Wherein the first rendering engine and the second rendering engine act as target rendering engines in the cloud server.
In some embodiments, a GPU in the cloud server is used to provide the amount of resources for the rendering task. Where the total amount of resources in the GPU is fixed, in one example, the total amount of GPU is 20 megabits. And the target rendering engine occupies the resources of the GPU to render the specified three-dimensional model, wherein the resource occupation amount of the target rendering engine is related to the rendering resource requirement required by the rendering task corresponding to the target rendering engine.
Illustratively, the resource occupation amount of the target rendering resource corresponding to the GPU is unchanged.
Illustratively, after the cloud server receives an editing instruction sent by the designated terminal, a target rendering engine corresponding to the designated terminal is started according to the editing instruction to render the designated three-dimensional model.
In some embodiments, the cloud server receives the first editing instructions and the second editing instructions and renders, by the target rendering engine, the first model portion and the second model portion of the specified three-dimensional model based on the first editing instructions and the second editing instructions.
In some embodiments, the cloud server receives a first editing instruction, and based on the first editing instruction, renders a first model portion of the specified three-dimensional model through a first rendering engine to obtain a first rendering result.
In some embodiments, the cloud server receives a second editing instruction, and based on the second editing instruction, renders a second model portion of the specified three-dimensional model through a second rendering engine to obtain a second rendering result.
Optionally, when the cloud server receives the first editing instruction and then receives the second editing instruction, the first rendering engine corresponding to the first terminal is started to render the first model part according to the first editing instruction, and then the second rendering engine corresponding to the second terminal is started to render the second model part according to the second editing instruction; or, under the condition that the cloud server receives a second editing instruction after receiving the first editing instruction, after receiving the second editing instruction, starting a target rendering engine according to the first editing instruction and the second editing instruction to simultaneously render the first model part and the second model part; or, under the condition that the cloud server receives the first editing instruction and then receives the second editing instruction, after the first model part is rendered, the second rendering engine corresponding to the second terminal is started to render the second model part according to the second editing instruction.
In an optional scheme, when the cloud server receives the first editing instruction and the second editing instruction at the same time, if the resource remaining amount (15 million) of the GPU in the current cloud server simultaneously meets a first rendering resource requirement (4 million) and a second rendering resource requirement (3 million), a rendering engine a and a rendering engine b are started for the first terminal and the second terminal respectively, wherein the resource occupation amount corresponding to the rendering engine a is 4 million, the resource occupation amount corresponding to the rendering engine b is 3 million, the first model portion of the specified three-dimensional model is rendered through the rendering engine a, and the second model portion of the specified three-dimensional model is rendered through the rendering engine b.
In an optional scheme, when the cloud server receives a first editing instruction, if the resource remaining amount (15 million) of the GPU in the current cloud server meets a first rendering resource requirement (4 million), a rendering engine a is started for the first terminal, wherein the resource occupation amount corresponding to the rendering engine a is 4 million, the first model part of the specified three-dimensional model is rendered through the rendering engine a, in the process that the rendering engine a renders the first model part, the cloud server receives a second editing instruction, if the resource remaining amount (11 million) of the GPU in the current cloud server meets a second rendering resource requirement (3 million), a rendering engine b is started for the second terminal on the basis of the operation of the rendering engine a, wherein the resource occupation amount corresponding to the rendering engine b is 3 million, and the second model part of the specified three-dimensional model is rendered through the rendering engine b. That is, under the condition that the total amount of the GPU resources is not exceeded, the cloud server can concurrently start a plurality of rendering engines, each corresponding to a different rendering task.
In an optional scheme, when the cloud server receives a first editing instruction, if the resource remaining amount (15 million) of the GPU in the current cloud server meets a first rendering resource requirement (4 million), a rendering engine a is started for the first terminal, wherein the resource occupation amount corresponding to the rendering engine a is 4 million, the first model part of the specified three-dimensional model is rendered through the rendering engine a, in the process of rendering the first model part by the rendering engine a, the cloud server receives a second editing instruction, if the resource remaining amount (11 million) of the GPU in the current cloud server meets a second rendering resource requirement (3 million), a rendering engine b is started for the second terminal after the rendering engine a is operated, wherein the resource occupation amount corresponding to the rendering engine b is 3 million, and the second model part of the specified three-dimensional model is rendered through the rendering engine b.
And step 260, the cloud server feeds back rendering results to the first terminal and the second terminal.
Illustratively, the rendering result includes the rendered specified three-dimensional model obtained after the specified three-dimensional model is rendered by the target rendering engine.
And the cloud server renders according to the first editing instruction to obtain a first rendering result, wherein the first rendering result comprises a rendered first model part of the specified three-dimensional model.
And the cloud server renders according to the second editing instruction to obtain a second rendering result, wherein the second rendering result comprises a rendered second model part of the specified three-dimensional model.
Optionally, the rendered first model part/rendered second model part is only fed back to the first terminal/second terminal; or, the rendered first model portion/the rendered second model portion are fed back not only to the first terminal but also to the second terminal (i.e., both the first terminal/the second terminal can receive the rendered first model portion/the rendered second model portion).
In some embodiments, after the cloud server obtains the first rendering result, the first rendering result is fed back to the first terminal and the second terminal at the same time.
In some embodiments, after the cloud server obtains the second rendering result, the second rendering result is fed back to the first terminal and the second terminal at the same time.
In an optional scheme, after the cloud server receives only the first editing instruction, according to the first editing instruction, the rendering engine a corresponding to the first terminal is started to render the first model part of the specified three-dimensional model, and then the obtained first rendering result corresponding to the first model part is fed back to the first terminal and the second terminal at the same time.
In an optional scheme, after the cloud server receives the first editing instruction and the second editing instruction at the same time, according to the first editing instruction and the second editing instruction, the rendering engine a corresponding to the first terminal is started to render the first model part of the specified three-dimensional model, the rendering engine b corresponding to the second terminal renders the second model part of the specified three-dimensional model, and a first rendering result corresponding to the first model part and a second rendering result corresponding to the second model part are fed back to the first terminal and the second terminal at the same time. That is, both the first terminal and the second terminal can receive the first rendering result and the second rendering result.
In an optional scheme, after the cloud server receives a first editing instruction, a rendering engine a corresponding to a first terminal is started to render a first model part of a specified three-dimensional model according to the first editing instruction, a second editing instruction is received in the rendering process, a rendering engine b corresponding to a second terminal is concurrently started to render a second model part of the specified three-dimensional model according to the second editing instruction, and a first rendering result corresponding to the first model part and a second rendering result corresponding to the second model part are simultaneously fed back to the first terminal and the second terminal. That is, both the first terminal and the second terminal can receive the first rendering result and the second rendering result.
In some embodiments, after the cloud server starts the target rendering engine, a corresponding target port number is configured for the target rendering engine.
Wherein, the target port number is used to indicate the corresponding relationship between the target rendering engine and the target rendering task, such as: when the cloud server concurrently starts a target rendering engine for a target rendering task with a target rendering resource requirement of 8 megabytes, a target port number of 80 is allocated to the target rendering engine, and the target port number is used for representing that the rendering engine with the port number of 80 is used for performing rendering operation on content corresponding to the rendering task with the rendering resource requirement of 8 megabytes.
Optionally, the port number of the rendering engine is randomly generated by the cloud server; or the port numbers of the rendering engines are consecutive numbers sequentially generated by the cloud server according to the starting time sequence of the rendering engines.
In an example, when the first rendering request includes a plurality of different target rendering tasks, and when a current resource remaining amount in the cloud server simultaneously meets target rendering resource requirements corresponding to the plurality of different target rendering tasks, a plurality of target rendering engines are respectively and concurrently started for the plurality of different target rendering tasks, where each target rendering engine corresponds to one target rendering task. And each target rendering engine is allocated with a target port number, and the plurality of target port numbers are different from one another.
In this embodiment, each started rendering engine in the cloud server is assigned with a port number.
In some embodiments, the first rendering result further includes a first port number of a first rendering engine corresponding to the first terminal, and the first port number is used for sending the first port number to the cloud server at the same time in a process that the first terminal subsequently sends the editing instruction to the cloud server again, and the cloud server directly starts the first rendering engine corresponding to the first terminal according to the first port number to render the specified three-dimensional model according to the editing instruction.
In some embodiments, the second rendering result further includes a second port number of a second rendering engine corresponding to the second terminal, and the second port number is used for sending the second port number to the cloud server at the same time in a process that the second terminal subsequently sends the editing instruction to the cloud server again, and the cloud server directly starts the second rendering engine corresponding to the second terminal according to the second port number to render the specified three-dimensional model according to the editing instruction. That is, the first terminal and the second terminal establish a connection relationship with a target rendering engine in the cloud server.
And 270, the first terminal receives the rendering result sent by the cloud server and displays the edited specified three-dimensional model.
In some embodiments, the first terminal receives the first rendering result and the second rendering result sent by the cloud server, and displays the edited first model part and the edited second model part of the specified three-dimensional model.
Illustratively, after receiving a first rendering result and a second rendering result sent by the cloud server, the first terminal displays a first model part of the edited specified three-dimensional model according to the first rendering result, and displays a second model part of the edited specified three-dimensional model according to the second rendering result.
In an optional case, when the first terminal receives a first rendering result sent by the cloud server first, the first model part of the edited specified three-dimensional model is displayed according to the first rendering result, a second rendering result sent by the cloud server is received in the process of displaying the first model part of the edited specified three-dimensional model, and the second model part of the edited specified three-dimensional model is displayed according to the second rendering result on the basis of displaying of the first model part.
In an optional case, when the first terminal receives the first rendering result and the second rendering result sent by the cloud server at the same time, the first rendering part and the second rendering part of the edited specified three-dimensional model are displayed according to the first rendering result and the second rendering result.
And step 280, the second terminal receives the rendering result sent by the cloud server and displays the edited specified three-dimensional model.
In some embodiments, the second terminal receives the first rendering result and the second rendering result sent by the cloud server, and displays the edited first model part and the edited second model part of the specified three-dimensional model.
Illustratively, after receiving a first rendering result and a second rendering result sent by the cloud server, the second terminal displays the first model part of the edited specified three-dimensional model according to the first rendering result, and displays the second model part of the edited specified three-dimensional model according to the second rendering result.
In an optional case, when the second terminal receives a first rendering result sent by the cloud server first, the first model part of the edited specified three-dimensional model is displayed according to the first rendering result, a second rendering result sent by the cloud server is received in the process of displaying the first model part of the edited specified three-dimensional model, and the first model part of the edited specified three-dimensional model is displayed according to the second rendering result on the basis of displaying of the first model part.
In an optional case, when the second terminal receives the first rendering result and the second rendering result sent by the cloud server at the same time, the first rendering part and the second rendering part of the edited specified three-dimensional model are displayed according to the first rendering result and the second rendering result.
To sum up, in the cloud rendering method of a three-dimensional model provided in the embodiment of the present application, under the condition that the multiple terminals and the target rendering engines in the cloud server are respectively established with a connection relationship, after the multiple terminals respectively receive editing operations for editing different model portions of the specified three-dimensional model, different editing instructions are respectively sent to the cloud server, after the cloud server receives the different editing instructions, the specified three-dimensional model is rendered by the target rendering engines, rendering results of the specified three-dimensional model are respectively fed back to the multiple terminals, and finally the edited specified three-dimensional model is displayed by the different terminals after the rendering results are received. That is, after receiving the editing instructions of different terminals for different parts of the three-dimensional model at the same time, the three-dimensional model is rendered through the rendering engine according to the different editing instructions, and rendering results are sent to different terminals, so that the different terminals can display not only the rendering results of the three-dimensional model itself, but also the rendering results of other terminals to other parts of the three-dimensional model, the cloud rendering efficiency of the three-dimensional model is improved, and different terminals can cooperatively render the same three-dimensional model.
In an optional embodiment, the system further includes an intermediate server, which is schematic, please refer to fig. 3, and shows a flowchart of a cloud rendering method for a three-dimensional model provided in an exemplary embodiment of the present application, that is, step 220 further includes step 221 and step 222, and step 240 further includes step 241 and step 242, as shown in fig. 3, the method includes the following steps:
in step 301, a first terminal receives a first editing operation on a specified three-dimensional model.
Wherein the first editing operation is used to edit a first model portion of the specified three-dimensional model.
In some embodiments, a part editing window is displayed in which a first configuration operation on a first part element is received, the first configuration operation for configuring an element attribute of the first part element.
Illustratively, in the process of performing an editing operation on the specified three-dimensional model, since the specified three-dimensional model includes a plurality of component elements, and the plurality of component elements are constructed by using basic component elements, the editing operation is implemented as a configuration operation on the component elements. In one embodiment, when the three-dimensional model is implemented as a three-dimensional plant model, the three-dimensional plant model is constructed by using basic component elements, wherein a modeling part comprises a basic platform, plant equipment, a pipeline, a support rigid structure and the like, so that the pipeline, an elbow, a flange, a container, a valve, a transmission and a pressure gauge in the plant model need to be constructed through basic geometric bodies firstly in the process of editing the three-dimensional plant model.
In another implementation scheme, the terminal reads the model configuration file in the specified format, so that the model part of the three-dimensional plant model is configured according to the model configuration file, and finally the three-dimensional plant model is automatically generated. In one example, the model configuration file is a pipeline meter flow diagram (PID).
Wherein, the PID diagram refers to the graphic symbols and the letter codes which are uniformly specified, and all the devices, meters, pipelines, valves and other related public engineering systems of the system are represented in detail, such as: conventional sewage treatment, a power generation system, a condensed water heating scheme and a drawing of a central air-conditioning system. The PID diagram is developed on the basis of process design, is an important work link of engineering design, and is a main basis for professional development work in the engineering design.
The PID diagram is a diagram combining all the equipment, instruments, pipelines, valves and main pipe fittings required for establishing the chemical process device by means of uniformly specified graphic symbols and character codes in order to meet the process requirements and the purposes of safety and economy according to the respective functions so as to play a role in describing the structure and the functions of the process device.
The PID diagram is not only the basis of design and construction, but also a part of complete technical data required by various aspects of enterprise management, commissioning, operation, maintenance, starting and stopping and the like. It also helps to simplify the exchange of data between the various departments that undertake the tasks of development, engineering design, construction, operation and maintenance of the process plant.
Illustratively, reading a PID map corresponding to the three-dimensional model to be generated, wherein the PID map is used for representing the internal situation of the building needing to be constructed on site, such as: and representing the layout situation between the instrument components and the pipelines in the plant, wherein the instrument components are marked with first attribute data, the pipelines are marked with second attribute data, the first attribute data are used for describing the three-dimensional forms of the instrument components, and the second attribute data are used for describing the corresponding three-dimensional forms of the pipelines, namely, three-dimensional instrument elements and three-dimensional pipeline elements are included in at least one component element in the three-dimensional model generated through the PID diagram.
In one example, the plant may be implemented as a sewage treatment plant, and the design content of the PID map is used to represent the internal situation of the sewage treatment plant to be constructed, including the instrument components in the plant, the respective positions of the instrument components, and the layout situation between pipelines. The layout of the pipeline is designed based on basic attribute information and position relation among instrument parts.
It should be noted that the PID map may include any number of instrument components and pipelines, any two instrument components may be connected by a pipeline, the instrument components may be connected by a pipeline, and the pipeline layout is designed based on the basic attribute information and the position relationship between the instrument components, that is, the pipeline layout may be any, which is not limited in this embodiment.
In this embodiment, a plurality of basic geometric bodies are preset, such as: the method comprises the steps of generating a geometry library by a cylinder, a cuboid, a normal body, a circular table, a sphere and the like, displaying a part editing window in a first terminal, wherein the part editing window comprises the geometry library, and building a first model part of a specified three-dimensional model by selecting a target geometry from the geometry library, wherein the first model part comprises first part elements.
Optionally, in the process of selecting a target geometry from the geometry library and building the first model part, the multiple target geometries are manually subjected to position adjustment and combination to generate the first model part; alternatively, after the target geometry is selected, the first model part is generated by automatically arranging, which is not limited to this.
After the first model part is built, component element attributes of first component elements in the first model part need to be configured.
Illustratively, the component element attribute includes at least one of a plurality of attribute types such as a position attribute, a function attribute, a material attribute, a performance attribute, a component name, a component number, a component description, a component weight, a component surface area, and a component state.
In this embodiment, a plurality of attribute slots are reserved for each part element in the three-dimensional plant model, the part editing window includes an element attribute list, and at least one target element attribute is selected from the element attribute list and added to the free attribute slot of the first part element to serve as the target element attribute of the first part.
In some embodiments, an edit-end operation is received, the edit-end operation to end the first edit operation.
Illustratively, after stopping the first editing operation, it is necessary to receive an editing result operation to end the first editing operation.
Optionally, the edit ending operation includes a target key combination operation, such as: pressing the appointed key 1 and the appointed key 2 can be used as the editing ending operation; or the first terminal displays an ending control, and the triggering operation of the ending control is used as the editing ending operation.
In one implementation, during the first configuration operation on the first model part, when the edit-end operation is received, the first configuration operation is presented in the second terminal.
In one implementation, the first configuration operation process is presented in real time in the second terminal during the first configuration operation on the first model portion.
It is noted that the configuration operation is only one of the steps in the course of the editing operation.
Step 302, the first terminal sends a first editing instruction to the intermediate server.
In some embodiments, the first configuration instruction is sent to an intermediate server.
Illustratively, after the first configuration operation is finished, a first configuration instruction is generated according to the first configuration operation and is sent to the intermediate server, where the first configuration instruction includes an attribute configuration requirement of a component element attribute of the first component element.
In some embodiments, the first editing instruction is sent to the cloud server based on an edit-end operation.
In this embodiment, a first editing instruction is generated according to an editing end operation and sent to the intermediate server, where the first editing instruction includes a first rendering resource requirement and a first rendering content.
In step 303, the second terminal receives a second editing operation on the specified three-dimensional model.
Wherein the second editing operation is used to edit the second model portion of the specified three-dimensional model.
In some embodiments, a part editing window is displayed in which a second configuration operation on a second part element is received, the second configuration operation for configuring an element attribute of the second part element.
In this embodiment, a plurality of basic geometric bodies are preset, such as: the method comprises the steps of generating a geometry library by a cylinder, a cuboid, a normal body, a circular table, a sphere and the like, displaying a part editing window in a second terminal, wherein the part editing window comprises the geometry library, and building a second model part of a specified three-dimensional model by selecting a target geometry from the geometry library, wherein the second model part comprises second part elements.
Optionally, in the process of selecting a target geometry from the geometry library and building a second model part, the multiple target geometries are manually adjusted in position and combined to generate the second model part; alternatively, after the target geometry is selected, the second model part is generated by automatically arranging, which is not limited to this.
After the second model part is built, component element attributes of second component elements in the second model part also need to be configured.
Illustratively, the component element attribute includes at least one of a plurality of attribute types such as a position attribute, a function attribute, a material attribute, a performance attribute, a component name, a component number, a component description, a component weight, a component surface area, and a component state.
In this embodiment, a plurality of attribute slots are reserved for each part element in the three-dimensional plant model, the part editing window includes an element attribute list, and at least one target element attribute is selected from the element attribute list and added to a free attribute slot of a second part element to serve as a target element attribute of the second part.
In some embodiments, an edit end operation is received, the edit end operation for ending the second edit operation.
Illustratively, after stopping the second editing operation, it is necessary to receive an editing result operation to end the second editing operation.
Optionally, the edit ending operation includes a target key combination operation, such as: pressing the appointed key 1 and the appointed key 2 can be used as the editing ending operation; or the second terminal displays an ending control, and the triggering operation of the ending control is used as the editing ending operation.
In one implementation, during the first human configuration operation on the second model portion, when the edit completion operation is received, the second configuration operation is presented in the first terminal.
In one implementation, the first configuration operation process is presented in real time in the first terminal during the second configuration operation on the second model portion.
And step 304, the second terminal sends a second editing instruction to the intermediate server.
In some embodiments, the second configuration instruction is sent to an intermediate server.
In some embodiments, the second editing instruction is sent to the cloud server based on the edit-ending operation.
Illustratively, after the second configuration operation is finished, a second configuration instruction is generated according to the second configuration operation and is sent to the intermediate server, where the second configuration instruction includes an attribute configuration requirement of a component element attribute of the second component element.
In some embodiments, the second editing instruction is sent to the cloud server based on the edit-ending operation.
In this embodiment, a first editing instruction is generated according to an editing end operation and is sent to the intermediate server, where the second editing instruction includes a second rendering resource requirement and a second rendering content.
Step 305, the intermediate server receives the first editing instruction and forwards the first editing instruction to the cloud server.
Illustratively, after receiving the first editing instruction, the intermediate server then forwards the first editing instruction to the cloud server.
In some embodiments, a first configuration instruction is received, and based on the first configuration instruction, an element attribute corresponding to a first component element is configured from a database; and feeding back a configuration result to the first terminal and the second terminal.
In this embodiment, the intermediate server includes a database, and the database includes a plurality of different configuration files. After the intermediate server receives the first configuration instruction, reading first element information in the specified element configuration file according to the attribute configuration requirement of the part element attribute of the first part element in the first configuration instruction, so that the first element information is filled into an idle attribute slot of the first part element, and the element attribute corresponding to the first part element is configured. And feeding back the first configuration result to the first terminal and the second terminal at the same time, that is, the second terminal also receives the first configuration result corresponding to the first component element.
Step 306, the cloud server receives the first editing instruction, and renders the first model part of the designated three-dimensional model through the first rendering engine based on the first editing instruction to obtain a first rendering result.
The first editing instruction comprises a first rendering resource requirement and first rendering content corresponding to a first rendering task, and the first rendering resource requirement is used for indicating the resource amount required for rendering the first rendering content corresponding to the first rendering task.
In some embodiments, acquiring a resource occupation amount corresponding to at least one rendering engine in operation; determining the resource residual amount in the cloud server based on the resource occupation amount; starting a first rendering engine based on the amount of resources required by the first rendering content under the condition that the remaining amount of resources meets the requirement of the first rendering resources; and rendering the first rendering content corresponding to the first rendering task through the first rendering engine.
In some embodiments, the first rendering resource requirement refers to an amount of Graphics Processing Unit (GPU) resources occupied by the cloud server in rendering the first rendering content, such as: the cloud server takes up to 4 million graphics processor resources in the process of rendering the first rendered content a.
In some embodiments, a cloud server hosts a graphics processor configured with a total amount of resources available for use, such as: the graphics processor provides a total of 32 megaresources.
The total amount of resources configured by the graphics processor is used for at least one of data processing work such as data calculation, graphics drawing, content rendering and the like.
Optionally, the first editing instruction received by the cloud server only includes one first rendering task and a first rendering resource requirement corresponding to the first rendering task; or, the first editing instruction received by the cloud server includes a plurality of different first rendering tasks, each first rendering task corresponds to a different target rendering resource request, which is not limited herein.
Optionally, when the cloud server receives a first editing instruction sent by the first terminal, at least one rendering engine is currently running in the current cloud server; or when the cloud server receives the first editing instruction sent by the first terminal, no rendering engine in the current cloud server is in operation.
In the embodiment of the present application, it is described as an example that the cloud server has at least one rendering engine in operation when receiving the first editing command. Optionally, when receiving the first editing command sent by the first terminal, the cloud server has a third rendering engine running, where the third rendering engine may refer to one running engine or a group of running engines. Illustratively, when the cloud server receives a first editing command sent by a first terminal, a rendering engine a is running; or when the cloud server receives the first editing command sent by the first terminal, there are rendering engine a, rendering engine B, and rendering engine C that are running. The running rendering engines respectively occupy corresponding rendering resources, and the sum of the rendering resources occupied by the running rendering engines is less than or equal to the total amount of the rendering resources of the cloud server. And when the sum of the rendering resources occupied by the running rendering engine is smaller than the total amount of the rendering resources of the cloud server, the resource residual quantity exists, so that whether the resource residual quantity meets the requirement of the first rendering resource can be judged.
The running rendering engine indicates that the engine is currently in a starting state and is rendering the content in the rendering task received by the cloud server.
The rendering engine is an engine for rendering content, wherein the content rendering process is to render on the basis of an original model by introducing the original model, add contents such as color, illumination, shadow and the like, and finally render on a screen to display a final rendering effect.
Optionally, the rendering engine includes a two-dimensional image engine and a three-dimensional image engine, which are divided according to image dimensions; and the rendering engines comprise a building rendering engine, a light rendering engine, a character rendering engine, a scene rendering engine and the like according to the rendering content division.
The building rendering engine is used for rendering buildings in a three-dimensional scene/two-dimensional scene; the light rendering engine is used for rendering the light in the three-dimensional scene/two-dimensional scene; the character rendering engine is used for rendering character models in the three-dimensional scene/two-dimensional scene; scene rendering is used to render two-dimensional/three-dimensional scenes.
In some embodiments, if the resource remaining amount of the graphics processor in the current cloud server is greater than or equal to the resource amount required by the first rendering content corresponding to the first rendering task, it is determined that the resource remaining amount of the graphics processor in the current cloud server satisfies the first rendering resource requirement corresponding to the first rendering task.
In some embodiments, if the resource remaining amount of the graphics processor in the current cloud server is less than the resource amount required for the first rendering content corresponding to the first rendering task, it is determined that the resource remaining amount of the graphics processor in the current cloud server does not satisfy the first rendering resource requirement corresponding to the first rendering task.
In some embodiments, starting the first rendering engine based on the amount of resources required for rendering the first content comprises at least one of: 1. directly starting a first rendering engine occupying corresponding rendering resource amount according to the resource amount required by the first rendering content; 2. and starting the first rendering engine according to the resource occupation amount after the specified resource amount is increased on the basis of the resource amount required by the first rendering content.
In some embodiments, the resource occupation amount corresponding to the rendering engine refers to an amount of resources in the graphics processor occupied by the rendering engine running in the cloud server, such as: the cloud server comprises a running rendering engine a, and the resource occupation amount corresponding to the rendering engine a is 4 million, that is, 4 million resources are occupied by the rendering engine a in a graphics processor in the current cloud server, and if other rendering engines exist, the other rendering engines cannot use the 4 million resources.
In one example, when a plurality of running rendering engines are included in the cloud server, the resource occupation amount corresponding to the rendering engines is realized as the sum of the resource occupation amounts of the plurality of rendering engines.
Illustratively, after acquiring the resource occupation amount corresponding to the running third rendering engine in the cloud server, the resource occupation amount corresponding to the third rendering engine is removed from the total resource amount of the graphics processor in the cloud server, so as to obtain the remaining resource amount in the cloud server, for example: the total amount of the resources of the graphic processor in the cloud server is 64 million, the resource occupation amount corresponding to the third rendering engine in operation is 18 million, and the resource residual amount in the cloud server is 46 million.
Illustratively, if the resource remaining amount in the current cloud server is greater than or equal to the required resource amount for rendering the first rendering content corresponding to the first rendering task, it indicates that the resource remaining amount in the current cloud server meets the first rendering resource requirement.
In some embodiments, the first rendering engine is concurrently started based on the amount of resources required for the first rendered content on the basis of the at least one rendering engine if the amount of resources remaining meets the first rendering resource requirement.
Illustratively, when the resource amount remaining in the cloud server meets the first rendering resource requirement, the first rendering engine is concurrently started according to the resource amount required by the first rendering content on the basis of keeping the running third rendering engine in the cloud server.
The concurrent starting refers to that different rendering engines can be simultaneously operated in the cloud server, but the starting times of the rendering engines may be different, so that the rendering operation is executed by the different rendering engines in a multithread manner, and the rendering engines are not interfered with each other in the operation process.
In this embodiment, when the cloud server receives the first editing instruction, if the resource remaining amount (15 million) of the GPU in the current cloud server meets the first rendering resource requirement (4 million), the first rendering engine is started for the first terminal, where the resource occupying amount corresponding to the first rendering engine is 4 million, and the first model portion of the three-dimensional plant model is rendered by the first rendering engine.
Step 307, the cloud server sends the first rendering result to the intermediate server.
And the cloud server feeds back a first rendering result obtained by rendering the first rendering engine to the intermediate server.
Step 308, the intermediate server receives the first rendering result sent by the cloud server.
Step 309, the intermediate server sends the first rendering result to the first terminal and the second terminal simultaneously.
And after receiving the first rendering result, the intermediate server simultaneously sends the first rendering result to the first terminal and the second terminal respectively.
Optionally, the intermediate server directly sends the first rendering result to the first terminal and the second terminal; or the intermediate server sends rendering indication information to the first terminal and the second terminal, and a first rendering result is displayed after the rendering indication information is triggered; or directly sending the first rendering result to the first terminal and sending rendering indication information to the second terminal.
In some embodiments, in the case that the first rendering result is sent to the first terminal and the second terminal, respectively, status synchronization information is sent to the first terminal, and the status synchronization information is used to indicate that the first rendering result is sent to the first terminal and the second terminal synchronously.
Illustratively, the state synchronization information means that the first terminal and the second terminal are currently in a message synchronization receiving state, that is, the intermediate server sends the same message to the first terminal while sending the message to the second terminal.
And step 310, the intermediate server receives the second editing instruction and forwards the second editing instruction to the cloud server.
In some embodiments, a second configuration instruction is received, and based on the second configuration instruction, the element attributes respectively corresponding to the second component elements are configured from the database; and feeding back a configuration result to the first terminal and the second terminal.
Illustratively, after the intermediate server receives the first editing instruction, the intermediate server then forwards the first editing instruction to the cloud server.
In some embodiments, a first configuration instruction is received, and based on the first configuration instruction, an element attribute corresponding to a first component element is configured from a database; and feeding back a configuration result to the first terminal and the second terminal.
In this embodiment, the intermediate server includes a database, and the database includes a plurality of different configuration files. After the intermediate server receives the first configuration instruction, reading first element information in the specified element configuration file according to the attribute configuration requirement of the part element attribute of the first part element in the first configuration instruction, so that the first element information is filled into an idle attribute slot of the first part element, and the element attribute corresponding to the first part element is configured. And simultaneously feeding back the first configuration result to the first terminal and the second terminal, that is, the second terminal also receives the first configuration result corresponding to the first component element.
In step 311, the cloud server receives the second editing instruction, and renders the second model portion of the specified three-dimensional model through the second rendering engine based on the second editing instruction, so as to obtain a second rendering result.
The second editing instruction comprises a second rendering resource requirement and a second rendering content corresponding to a second rendering task, and the second rendering resource requirement is used for indicating the resource amount required for rendering the second rendering content corresponding to the second rendering task.
In some embodiments, the resource occupation amount corresponding to at least one rendering engine in the operation is obtained in the operation; determining the resource residual amount in the cloud server based on the resource occupation amount; starting a second rendering engine based on the amount of resources required by the second rendering content when the amount of resources remaining meets the second rendering resource requirement; and rendering the second rendering content corresponding to the second rendering task through a second rendering engine.
In this embodiment, an example that the cloud server has at least one rendering engine running when receiving the second editing command is described. Optionally, when receiving the second editing command sent by the second terminal, the cloud server has a third rendering engine running, where the third rendering engine may refer to one running engine or a group of running engines. Illustratively, when the cloud server receives a second editing command sent by the second terminal, there is a rendering engine a in operation; or when the cloud server receives a second editing command sent by the second terminal, there is a rendering engine a, a rendering engine B, and a rendering engine C that are running. The running rendering engines respectively occupy corresponding rendering resources, and the sum of the rendering resources occupied by the running rendering engines is less than or equal to the total amount of the rendering resources of the cloud server. And when the sum of the rendering resources occupied by the running rendering engine is less than the total amount of the rendering resources of the cloud server, the resource surplus exists, so that whether the resource surplus meets the requirement of a second rendering resource or not can be judged.
The running rendering engine indicates that the engine is currently in a starting state and is rendering the content in the rendering task received by the cloud server.
In some embodiments, if the resource remaining amount of the graphics processor in the current cloud server is less than the resource amount required for the second rendering content corresponding to the second rendering task, it is determined that the resource remaining amount of the graphics processor in the current cloud server does not satisfy the second rendering resource requirement corresponding to the second rendering task.
In some embodiments, the resource occupation amount corresponding to the rendering engine refers to an amount of resources in the graphics processor occupied by the rendering engine running in the cloud server, such as: the cloud server comprises a running rendering engine a, and the resource occupation amount corresponding to the rendering engine a is 4 million, that is, 4 million resources are occupied by the rendering engine a in a graphics processor in the current cloud server, and if other rendering engines exist, the other rendering engines cannot use the 4 million resources.
Illustratively, if the resource remaining amount in the current cloud server is greater than or equal to the resource amount required for rendering the second rendering content corresponding to the second rendering task, it is indicated that the resource remaining amount in the current cloud server meets the requirement of the second rendering resource.
In some embodiments, in the event the amount of resources remaining meets the second rendering resource requirement, a second rendering engine is concurrently started based on the amount of resources required for the second rendered content on the basis of the at least one rendering engine.
Illustratively, when the resource amount remaining in the cloud server meets the second rendering resource requirement, the second rendering engine is concurrently started according to the resource amount required by the second rendering content on the basis of keeping the running third rendering engine in the cloud server.
In this embodiment, when the cloud server receives the second editing instruction, if the resource remaining amount (11 million) of the GPU in the current cloud server meets the second rendering resource requirement (3 million), a first rendering engine is started for the first terminal, where the resource occupation amount corresponding to the first rendering engine is 4 million, and the first model portion of the three-dimensional plant model is rendered by the first rendering engine.
In step 312, the cloud server sends the second rendering result to the intermediate server.
And the cloud server feeds back a second rendering result obtained by rendering the second rendering engine to the intermediate server.
And step 313, the intermediate server receives the second rendering result sent by the cloud server.
In step 314, the intermediate server simultaneously sends the second rendering result to the first terminal and the second terminal.
And after receiving the second rendering result, the intermediate server simultaneously sends the second rendering result to the first terminal and the second terminal respectively.
Optionally, the intermediate server directly sends the second rendering result to the first terminal and the second terminal; or the intermediate server sends rendering indication information to the first terminal and the second terminal, and a second rendering result is displayed after the rendering indication information is triggered; or directly sending the second rendering result to the second terminal and sending rendering indication information to the first terminal.
In some embodiments, in the case that the second rendering result is sent to the first terminal and the second terminal, respectively, status synchronization information is sent to the first terminal, and the status synchronization information is used to indicate that the second rendering result is sent to the first terminal and the second terminal synchronously.
Illustratively, the state synchronization information indicates that the first terminal and the second terminal are currently in a message synchronization receiving state, that is, the intermediate server sends the same message to the second terminal while sending the message to the first terminal.
To sum up, in the cloud rendering method for a three-dimensional model provided in the embodiment of the present application, under the condition that a plurality of terminals and target rendering engines in a cloud server are respectively established with a connection relationship, when the plurality of terminals respectively receive editing operations for editing different model portions of an assigned three-dimensional model, different editing instructions are respectively sent to the cloud server, when the cloud server receives different editing instructions, the assigned three-dimensional model is rendered by the target rendering engines, rendering results of the assigned three-dimensional model are respectively fed back to the plurality of terminals, and finally the edited assigned three-dimensional model is displayed by the different terminals after receiving the rendering results. That is, after receiving editing instructions of different terminals for different parts of the three-dimensional model at the same time, rendering the three-dimensional model through the rendering engine according to the different editing instructions, and sending rendering results to the different terminals, so that the different terminals can not only display the rendering results of the parts of the three-dimensional model, but also display the rendering results of the other terminals to other parts of the three-dimensional model, the cloud rendering efficiency of the three-dimensional model is improved, and the different terminals can cooperatively render the same three-dimensional model.
Referring to fig. 4, a flowchart of a cloud rendering method for a three-dimensional model according to an exemplary embodiment of the present application is schematically shown, and the method is described as being applied to a terminal (including a first terminal and a second terminal), and includes the following steps.
At step 410, an editing operation for a specified three-dimensional model is received.
Wherein the editing operation is used to edit the model portion of the specified three-dimensional model.
In some embodiments, a target application program supporting the factory design function is operated in the terminal, and a program operation interface is currently displayed.
Illustratively, the editing operation includes at least one of generating a part element, building the part element, setting a connection relationship of the part element, configuring a property of the part element, setting a model application scenario, and the like. Herein, the component element means a basic constituent unit constituting the three-dimensional model. In one example, when the three-dimensional model is a three-dimensional plant model, the component elements are implemented as equipment components in the three-dimensional plant model, wherein the equipment components include equipment in the plant such as virtual instruments, virtual pipes, virtual components, and optionally building components corresponding to the three-dimensional model, wherein the building components include virtual ground, virtual walls, virtual roofs, virtual windows, virtual doors, and the like.
Optionally, the specified three-dimensional model is a complete model that has not been currently generated, i.e. the editing operation is used to construct the model portion of the specified three-dimensional model; alternatively, the specified three-dimensional model is a complete model that has been currently generated, i.e., an editing operation is used to modify the model portion of the specified three-dimensional model.
In some embodiments, an editing area is displayed in the program running interface of the terminal, and the editing operation is received in the editing area.
In some embodiments, a part editing window is displayed; receiving a configuration operation on a part element in a part editing window, wherein the configuration operation is used for configuring an element attribute of the part element.
Illustratively, in the process of performing an editing operation on the specified three-dimensional model, since the specified three-dimensional model includes a plurality of component elements, and the plurality of component elements are constructed by using basic component elements, the editing operation is implemented as a configuration operation on the component elements. In one embodiment, when the three-dimensional model is realized as a three-dimensional plant model, the three-dimensional plant model is constructed by using basic component elements, wherein the modeling part comprises a basic platform, plant equipment, a pipeline, a support rigid structure and the like, so that the pipeline, the elbow, the flange, the container, the valve, the transmission and the pressure gauge in the plant model need to be constructed through basic geometric bodies firstly in the process of editing the three-dimensional plant model.
In another implementation scheme, the terminal reads the model configuration file in the specified format, so as to configure the model part of the three-dimensional plant model according to the model configuration file, and finally, the three-dimensional plant model is automatically generated. In one example, the model configuration file is a pipeline meter flow diagram (PID).
In this embodiment, a plurality of basic geometric bodies are preset, such as: the method comprises the steps of generating a geometric body library by a cylinder, a cuboid, a normal body, a circular table, a sphere and the like, displaying a component editing window in a first terminal, wherein the component editing window comprises the geometric body library, and building a model part of a specified three-dimensional model by selecting a target geometric body from the geometric body library, wherein the model part comprises component elements.
Optionally, in the process of selecting a target geometry building model part from the geometry library, the position of a plurality of target geometries is adjusted and combined manually to generate the model part; alternatively, after the target geometry is selected, the model generation part is automatically arranged, which is not limited to this.
After the model part is built, the component element attributes of the component elements in the model part are configured.
Illustratively, the component element attribute includes at least one of a plurality of attribute types, such as a position attribute, a function attribute, a material attribute, a performance attribute, a component name, a component number, a component description, a component weight, a component surface area, and a component state.
In this embodiment, a plurality of attribute slots are reserved for each part element in the three-dimensional plant model, the part editing window includes an element attribute list, and at least one target element attribute is selected from the element attribute list to add to a free attribute slot of the part element as a target element attribute of the part element.
In step 420, an edit completion operation is received.
Wherein the editing end operation is for ending the editing operation.
Illustratively, after the editing operation is stopped, the editing operation needs to be ended by receiving the editing result operation.
Optionally, the edit ending operation includes a target key combination operation, such as: pressing the appointed key 1 and the appointed key 2 can be used as the editing ending operation; or the terminal displays the ending control, and the triggering operation of the ending control is used as the editing ending operation.
In an implementation scheme, in the process of carrying out the first configuration operation on the first model part, after receiving the editing ending operation, the first configuration operation is displayed in the second terminal.
In one implementation, the first configuration operation process is presented in real time in the second terminal during the first configuration operation on the first model portion.
And step 430, sending an editing instruction to the cloud server.
In some embodiments, the editing instructions refer to requesting that a model portion of the specified three-dimensional model be rendered by a target rendering engine hosted in the cloud server.
Illustratively, the editing instruction includes a rendering resource requirement and rendering content corresponding to the model part, where the rendering resource requirement refers to a resource amount of a Graphics Processing Unit (GPU) in the cloud server occupied by the rendering model part. In one example, the rendering resource requirement is 4 megabits.
Optionally, the sending mode of the editing instruction includes at least one of the following modes:
1. after the terminal editing operation completes the editing process of the first model part of the specified three-dimensional model, automatically sending an editing instruction to the cloud server;
2. after the terminal finishes an editing process of the model part of the specified three-dimensional model according to the editing operation, the terminal receives the rendering operation, generates an editing instruction according to the rendering operation and sends the editing instruction to the cloud server;
3. in the process of editing the model part of the specified three-dimensional model according to the editing operation, when the editing of the first sub-part in the model part is completed, the editing instruction corresponding to the first sub-part is sent to the cloud server immediately, and when the editing of the second sub-part in the model part is completed, the editing instruction corresponding to the second sub-part is sent to the cloud server immediately.
It should be noted that the above sending method of the edit command is only an illustrative example, and the present application does not limit this.
Illustratively, the cloud server is configured to provide a cloud service to the terminal, where the cloud service includes at least one of multiple cloud services such as cloud rendering, cloud editing, and cloud management.
In some embodiments, the editing instructions are sent to the cloud server based on an edit-end operation.
In this embodiment, an editing instruction is generated according to an editing ending operation and sent to the intermediate server, where the editing instruction includes a rendering resource requirement and a rendering content.
In some embodiments, the editing instruction is sent to an intermediate server, and the intermediate server is configured to forward the editing instruction to the cloud server after receiving the editing instruction.
Illustratively, after the intermediate server receives the editing instruction, the first editing instruction is forwarded to the cloud server.
In some embodiments, the configuration instruction is sent to an intermediate server, and the intermediate server is configured to configure, from the database, the element attributes corresponding to the plurality of component elements, respectively, according to the configuration instruction sent by the plurality of terminals, respectively.
In this embodiment, the intermediate server includes a database, and the database includes a plurality of different configuration files. After the intermediate server receives the configuration instruction, reading the element information in the specified element configuration file according to the attribute configuration requirement of the part element attribute of the part element in the configuration instruction, so that the element information is filled into the spare attribute slot of the part element, and the configuration of the element attribute corresponding to the part element is realized.
In this embodiment, the first configuration result is fed back to the first terminal and the second terminal at the same time, that is, the second terminal also receives the first configuration result corresponding to the first component element.
And step 440, receiving the rendering result sent by the cloud server, and displaying the edited specified three-dimensional model.
The rendering result refers to a result obtained after the cloud server renders the specified three-dimensional model through the target rendering engine according to the editing instructions sent by the multiple terminals respectively.
Illustratively, after receiving a rendering result sent by the cloud server, the terminal displays the edited model part of the specified three-dimensional model according to the rendering result.
In an optional case, when the terminal receives a first rendering result sent by the cloud server first, the first model part of the edited specified three-dimensional model is displayed according to the first rendering result, a second rendering result sent by the cloud server is received in the process of displaying the first model part of the edited specified three-dimensional model, and the second model part of the edited specified three-dimensional model is displayed according to the second rendering result on the basis of displaying of the first model part.
In an optional case, when the terminal receives the first rendering result and the second rendering result sent by the cloud server at the same time, the first rendering part and the second rendering part of the edited specified three-dimensional model are displayed according to the first rendering result and the second rendering result.
In some embodiments, the rendering result sent by the intermediate server is received, and the rendering result is sent by the cloud server to the intermediate server.
And after receiving the rendering result, the intermediate server simultaneously sends the rendering result to the first terminal and the second terminal respectively.
In some embodiments, a configuration result sent by the intermediate server is received, and the configured plurality of component elements are displayed.
In this embodiment, after receiving the configuration result sent by the intermediate server, the terminal displays the configured component elements and the component element attributes corresponding to the components, respectively, on the terminal.
In some embodiments, state synchronization information sent by the intermediate server is received, and the state synchronization information is used for indicating that a plurality of terminals synchronously receive rendering results.
Illustratively, the state synchronization information means that the first terminal and the second terminal are currently in a message synchronization receiving state, that is, the intermediate server sends the same message to the first terminal while sending the message to the second terminal.
To sum up, in the cloud rendering method for a three-dimensional model provided in the embodiment of the present application, under the condition that a plurality of terminals and target rendering engines in a cloud server are respectively established with a connection relationship, when the plurality of terminals respectively receive editing operations for editing different model portions of an assigned three-dimensional model, different editing instructions are respectively sent to the cloud server, when the cloud server receives different editing instructions, the assigned three-dimensional model is rendered by the target rendering engines, rendering results of the assigned three-dimensional model are respectively fed back to the plurality of terminals, and finally the edited assigned three-dimensional model is displayed by the different terminals after receiving the rendering results. That is, after receiving editing instructions of different terminals for different parts of the three-dimensional model at the same time, rendering the three-dimensional model through the rendering engine according to the different editing instructions, and sending rendering results to the different terminals, so that the different terminals can not only display the rendering results of the parts of the three-dimensional model, but also display the rendering results of the other terminals to other parts of the three-dimensional model, the cloud rendering efficiency of the three-dimensional model is improved, and the different terminals can cooperatively render the same three-dimensional model.
Referring to fig. 5, a flowchart of a cloud rendering method for a three-dimensional model according to an exemplary embodiment of the present application is shown, and the method is described as being applied to a cloud server, where the method includes the following steps.
Step 510, receiving editing instructions sent by a plurality of terminals respectively.
In some embodiments, the editing instructions refer to requesting that a model portion of the specified three-dimensional model be rendered by a target rendering engine hosted in the cloud server.
Illustratively, the editing instruction includes rendering resource requirements and rendering contents corresponding to different model parts, where the rendering resource requirements refer to the amount of resources of a Graphics Processing Unit (GPU) in the cloud server occupied by the rendering model parts. In one example, the rendering resource requirement is 4 megabits.
Optionally, the sending mode of the editing instruction includes at least one of the following modes:
1. after the terminal editing operation completes the editing process of the first model part of the specified three-dimensional model, automatically sending an editing instruction to the cloud server;
2. after the terminal finishes an editing process on the model part of the specified three-dimensional model according to the editing operation, the terminal receives the rendering operation, generates an editing instruction according to the rendering operation and sends the editing instruction to the cloud server;
3. in the process of editing the model part of the specified three-dimensional model according to the editing operation, when the editing of the first sub-part in the model part is completed, the editing instruction corresponding to the first sub-part is sent to the cloud server immediately, and when the editing of the second sub-part in the model part is completed, the editing instruction corresponding to the second sub-part is sent to the cloud server immediately.
It should be noted that the above sending method of the edit command is only an illustrative example, and the present application does not limit this.
In some embodiments, the editing instructions include a first editing instruction sent by a first terminal and a second editing instruction sent by a second terminal, the first editing instruction includes a first rendering resource requirement and a first rendering content corresponding to a first rendering task, and the first rendering resource requirement is used for indicating an amount of resources required for rendering the first rendering content corresponding to the first rendering task; the second editing instruction comprises a second rendering resource requirement and a second rendering content corresponding to the second rendering task, and the second rendering resource requirement is used for indicating the amount of resources required for rendering the second rendering content corresponding to the second rendering task.
Optionally, the first editing instruction and the second editing instruction are received simultaneously; or the receiving time points of the first editing instruction and the second editing instruction have a sequence.
And step 520, rendering the specified three-dimensional model through the target rendering engine based on the editing instructions sent by the multiple terminals respectively.
In some embodiments, a GPU in the cloud server is used to provide the amount of resources for the rendering task. Where the total amount of resources in the GPU is fixed, in one example, the total amount of GPU is 20 megabytes. And the target rendering engine occupies the resources of the GPU to render the specified three-dimensional model, wherein the resource occupation amount of the target rendering engine is related to the rendering resource requirement required by the rendering task corresponding to the target rendering engine.
Illustratively, the resource occupation amount of the target rendering resource corresponding to the GPU is unchanged.
Illustratively, after the cloud server receives an editing instruction sent by the designated terminal, a target rendering engine corresponding to the designated terminal is started according to the editing instruction to render the designated three-dimensional model.
In some embodiments, the resource occupation amount corresponding to at least one running rendering engine is obtained; determining the resource residual amount in the cloud server based on the resource occupation amount; starting a first rendering engine based on the amount of resources required by the first rendering content under the condition that the remaining amount of resources meets the requirement of the first rendering resources; and rendering the first rendering content corresponding to the first rendering task through the first rendering engine.
In some embodiments, acquiring a resource occupation amount corresponding to at least one rendering engine in operation; determining the resource residual amount in the cloud server based on the resource occupation amount; starting a first rendering engine based on the amount of resources required by the first rendering content under the condition that the remaining amount of resources meets the requirement of the first rendering resources; and rendering the first rendering content corresponding to the first rendering task through the first rendering engine.
In some embodiments, the first rendering resource requirement refers to an amount of Graphics Processing Unit (GPU) resources occupied by the cloud server in rendering the first rendering content, such as: the cloud server takes up to 4 million graphics processor resources in the process of rendering the first rendered content a.
In some embodiments, a cloud server hosts a graphics processor configured with the total amount of resources available for use, such as: the graphics processor provides a total of 32 mega resources.
The total amount of resources configured by the graphics processor is used for at least one of data processing work such as data calculation, graphics drawing, content rendering and the like.
Optionally, the first editing instruction received by the cloud server only includes one first rendering task and a first rendering resource requirement corresponding to the first rendering task; or, the first editing instruction received by the cloud server includes a plurality of different first rendering tasks, each first rendering task corresponds to a different target rendering resource request, which is not limited herein.
Optionally, when the cloud server receives a first editing instruction sent by the first terminal, at least one rendering engine exists in the current cloud server and is in operation; or when the cloud server receives the first editing instruction sent by the first terminal, no rendering engine in the current cloud server is in operation.
In the embodiment of the present application, it is described as an example that the cloud server has at least one rendering engine in operation when receiving the first editing command. Optionally, when receiving the first editing command sent by the first terminal, the cloud server has a third rendering engine running, where the third rendering engine may refer to one running engine or a group of running engines. Illustratively, when the cloud server receives a first editing command sent by a first terminal, a rendering engine a is running; or when the cloud server receives the first editing command sent by the first terminal, the rendering engine a, the rendering engine B and the rendering engine C are in operation. The running rendering engines respectively occupy corresponding rendering resources, and the sum of the rendering resources occupied by the running rendering engines is less than or equal to the total amount of the rendering resources of the cloud server. And when the sum of the rendering resources occupied by the running rendering engine is smaller than the total amount of the rendering resources of the cloud server, the resource residual quantity exists, so that whether the resource residual quantity meets the requirement of the first rendering resource can be judged.
The running rendering engine indicates that the engine is currently in a starting state and is rendering the content in the rendering task received by the cloud server.
The rendering engine is an engine for performing content rendering on rendered content, wherein the content rendering process is to perform rendering on the basis of an original model by introducing the original model, add contents such as colors, illumination, shadows and the like, and finally render the contents on a screen to display a final rendering effect.
Optionally, the rendering engine includes a two-dimensional image engine and a three-dimensional image engine, which are divided according to image dimensions; and the rendering engines comprise a building rendering engine, a light rendering engine, a character rendering engine, a scene rendering engine and the like according to the rendering content division.
The building rendering engine is used for rendering buildings in the three-dimensional scene/two-dimensional scene; the light rendering engine is used for rendering the light in the three-dimensional scene/two-dimensional scene; the character rendering engine is used for rendering character models in the three-dimensional scene/two-dimensional scene; scene rendering is used to render two-dimensional/three-dimensional scenes.
In some embodiments, if the resource remaining amount of the graphics processor in the current cloud server is greater than or equal to the resource amount required by the first rendering content corresponding to the first rendering task, it is determined that the resource remaining amount of the graphics processor in the current cloud server satisfies the first rendering resource requirement corresponding to the first rendering task.
In some embodiments, if the resource remaining amount of the graphics processor in the current cloud server is less than the resource amount required for the first rendering content corresponding to the first rendering task, it is determined that the resource remaining amount of the graphics processor in the current cloud server does not satisfy the first rendering resource requirement corresponding to the first rendering task.
In some embodiments, starting the first rendering engine based on the amount of resources required for rendering the first content comprises at least one of: 1. directly starting a first rendering engine occupying corresponding rendering resource amount according to the resource amount required by the first rendering content; 2. and starting the first rendering engine according to the resource occupation amount after the specified resource amount is increased on the basis of the resource amount required by the first rendering content.
In some embodiments, the resource occupation amount corresponding to the rendering engine refers to an amount of resources in the graphics processor occupied by the rendering engine running in the cloud server, such as: the cloud server comprises a running rendering engine a, and the resource occupation amount corresponding to the rendering engine a is 4 million, that is, 4 million resources are occupied by the rendering engine a in a graphics processor in the current cloud server, and if other rendering engines exist, the other rendering engines cannot use the 4 million resources.
In one example, when a plurality of running rendering engines are included in the cloud server, the resource occupation amount corresponding to the rendering engines is realized as the sum of the resource occupation amounts of the plurality of rendering engines.
Illustratively, after acquiring the resource occupation amount corresponding to the running third rendering engine in the cloud server, the resource occupation amount corresponding to the third rendering engine is removed from the total resource amount of the graphics processor in the cloud server, so as to obtain the remaining resource amount in the cloud server, for example: the total resource amount of the graphics processor in the cloud server is 64 million, the resource occupation amount corresponding to the third rendering engine in operation is 18 million, and the resource remaining amount in the cloud server is 46 million.
Illustratively, if the resource remaining amount in the current cloud server is greater than or equal to the resource amount required for rendering the first rendering content corresponding to the first rendering task, it is indicated that the resource remaining amount in the current cloud server meets the first rendering resource requirement.
In some embodiments, the first rendering engine is concurrently started based on the amount of resources required for the first rendered content on the basis of the at least one rendering engine if the amount of resources remaining meets the first rendering resource requirement.
Illustratively, when the resource remaining amount in the cloud server meets the first rendering resource requirement, the first rendering engine is concurrently started according to the resource amount required by the first rendering content on the basis of keeping the running second rendering engine in the cloud server.
The concurrent starting refers to that different rendering engines can be simultaneously operated in the cloud server, but the starting times of the rendering engines may be different, so that the multi-thread execution of the rendering operation by the different rendering engines is realized, and the multiple rendering engines do not interfere with each other in the operation process.
In some embodiments, acquiring a resource occupation amount corresponding to at least one rendering engine in operation; determining the resource residual amount in the cloud server based on the resource occupation amount; starting a second rendering engine based on the amount of resources required by the second rendering content when the amount of resources remaining meets the second rendering resource requirement; and rendering the second rendering content corresponding to the second rendering task through a second rendering engine.
In some embodiments, the second rendering resource requirement refers to an amount of Graphics Processing Unit (GPU) resources occupied by the cloud server in rendering the second rendering content, such as: the cloud server needs to occupy 4 million graphics processor resources in the process of rendering the second rendering content a.
In some embodiments, a cloud server hosts a graphics processor configured with a total amount of resources available for use, such as: the graphics processor provides a total of 32 megaresources.
The total amount of resources configured by the graphics processor is used for at least one of data processing work such as data calculation, graphics drawing, content rendering and the like.
In this embodiment, an example that the cloud server has at least one rendering engine running when receiving the second editing command is described. Optionally, when receiving the second editing command sent by the second terminal, the cloud server has a third rendering engine running, where the third rendering engine may refer to one running engine or a group of running engines. Illustratively, when the cloud server receives a second editing command sent by the second terminal, there is a rendering engine a in operation; or when the cloud server receives a second editing command sent by the second terminal, there is a rendering engine a, a rendering engine B, and a rendering engine C that are running. The running rendering engines respectively occupy corresponding rendering resources, and the sum of the rendering resources occupied by the running rendering engines is less than or equal to the total amount of the rendering resources of the cloud server. And when the sum of the rendering resources occupied by the running rendering engine is smaller than the total amount of the rendering resources of the cloud server, the resource residual quantity exists, so that whether the resource residual quantity meets the requirement of a second rendering resource can be judged.
The running rendering engine indicates that the engine is currently in a starting state and is rendering the content in the rendering task received by the cloud server.
The rendering engine is an engine for performing content rendering on rendered content, wherein the content rendering process is to perform rendering on the basis of an original model by introducing the original model, add contents such as colors, illumination, shadows and the like, and finally render the contents on a screen to display a final rendering effect.
In some embodiments, if the resource remaining amount of the graphics processor in the current cloud server is greater than or equal to the resource amount required by the second rendering content corresponding to the second rendering task, it is determined that the resource remaining amount of the graphics processor in the current cloud server satisfies the second rendering resource requirement corresponding to the second rendering task.
In some embodiments, if the resource remaining amount of the graphics processor in the current cloud server is less than the resource amount required for the second rendering content corresponding to the second rendering task, it is determined that the resource remaining amount of the graphics processor in the current cloud server does not satisfy the second rendering resource requirement corresponding to the second rendering task.
In some embodiments, starting the second rendering engine based on the amount of resources required for rendering the second content comprises at least one of: 1. directly starting a second rendering engine occupying the corresponding rendering resource amount according to the resource amount required by the second rendering content; 2. and starting the second rendering engine by the resource occupation amount after the specified resource amount is increased on the basis of the resource amount required by the second rendering content.
Illustratively, if the resource remaining amount in the current cloud server is greater than or equal to the resource amount required for rendering the second rendering content corresponding to the second rendering task, it indicates that the resource remaining amount in the current cloud server meets the requirement of the second rendering resource.
In some embodiments, a second rendering engine is concurrently started based on the amount of resources needed for the second rendered content on the basis of the at least one rendering engine if the amount of resources remaining meets the second rendering resource requirement.
Illustratively, when the resource remaining amount in the cloud server meets the requirement of the second rendering resource, the second rendering engine is concurrently started according to the resource amount required by the second rendering content on the basis of keeping the running third rendering engine in the cloud server.
Step 530, feeding back rendering results to a plurality of terminals respectively.
Illustratively, the rendering result includes the rendered specified three-dimensional model obtained after the specified three-dimensional model is rendered by the target rendering engine.
And the cloud server renders according to the first editing instruction to obtain a first rendering result, wherein the first rendering result comprises a rendered first model part of the specified three-dimensional model.
And the cloud server renders according to the second editing instruction to obtain a second rendering result, wherein the second rendering result comprises a rendered second model part of the specified three-dimensional model.
Optionally, the rendered first model part/the rendered second model part is only fed back to the first terminal/the second terminal; or, the rendered first model portion/the rendered second model portion are fed back to not only the first terminal but also the second terminal (i.e., both the first terminal/the second terminal can receive the rendered first model portion/the rendered second model portion).
In some embodiments, after the cloud server obtains the first rendering result, the first rendering result is fed back to the first terminal and the second terminal at the same time.
In some embodiments, after the cloud server obtains the second rendering result, the second rendering result is fed back to the first terminal and the second terminal at the same time.
In an optional scheme, after the cloud server receives only the first editing instruction, according to the first editing instruction, the rendering engine a corresponding to the first terminal is started to render the first model part of the specified three-dimensional model, and then the obtained first rendering result corresponding to the first model part is fed back to the first terminal and the second terminal at the same time.
In an optional scheme, after the cloud server receives the first editing instruction and the second editing instruction at the same time, according to the first editing instruction and the second editing instruction, the rendering engine a corresponding to the first terminal is started to render the first model part of the specified three-dimensional model, the rendering engine b corresponding to the second terminal renders the second model part of the specified three-dimensional model, and a first rendering result corresponding to the first model part and a second rendering result corresponding to the second model part are fed back to the first terminal and the second terminal at the same time. That is, both the first terminal and the second terminal can receive the first rendering result and the second rendering result.
In an optional scheme, after the cloud server receives a first editing instruction, a rendering engine a corresponding to a first terminal is started to render a first model part of a specified three-dimensional model according to the first editing instruction, a second editing instruction is received in the rendering process, a rendering engine b corresponding to a second terminal is concurrently started to render a second model part of the specified three-dimensional model according to the second editing instruction, and a first rendering result corresponding to the first model part and a second rendering result corresponding to the second model part are simultaneously fed back to the first terminal and the second terminal. That is, both the first terminal and the second terminal can receive the first rendering result and the second rendering result.
In some embodiments, after the cloud server starts the target rendering engine, a corresponding target port number is configured for the target rendering engine.
Wherein, the target port number is used to indicate the corresponding relationship between the target rendering engine and the target rendering task, such as: when the cloud server concurrently starts a target rendering engine for a target rendering task with a target rendering resource requirement of 8 megabytes, a target port number of 80 is allocated to the target rendering engine, and the target port number is used for representing that the rendering engine with the port number of 80 is used for performing rendering operation on content corresponding to the rendering task with the rendering resource requirement of 8 megabytes.
In some embodiments, the first rendering result further includes a first port number of a first rendering engine corresponding to the first terminal, and the first port number is simultaneously sent to the cloud server in a process that the first terminal subsequently sends the editing instruction to the cloud server again, and the cloud server directly starts the first rendering engine corresponding to the first terminal according to the first port number to render the specified three-dimensional model according to the editing instruction.
In some embodiments, the second rendering result further includes a second port number of a second rendering engine corresponding to the second terminal, and the second port number is simultaneously sent to the cloud server in a process that the second terminal subsequently sends the editing instruction to the cloud server again, and the cloud server directly starts the second rendering engine corresponding to the second terminal according to the second port number to render the specified three-dimensional model according to the editing instruction. That is, the first terminal and the second terminal establish a connection relationship with a target rendering engine in the cloud server.
To sum up, in the cloud rendering method for a three-dimensional model provided in the embodiment of the present application, under the condition that a plurality of terminals and target rendering engines in a cloud server are respectively established with a connection relationship, when the plurality of terminals respectively receive editing operations for editing different model portions of an assigned three-dimensional model, different editing instructions are respectively sent to the cloud server, when the cloud server receives different editing instructions, the assigned three-dimensional model is rendered by the target rendering engines, rendering results of the assigned three-dimensional model are respectively fed back to the plurality of terminals, and finally the edited assigned three-dimensional model is displayed by the different terminals after receiving the rendering results. That is, after receiving editing instructions of different terminals for different parts of the three-dimensional model at the same time, rendering the three-dimensional model through the rendering engine according to the different editing instructions, and sending rendering results to the different terminals, so that the different terminals can not only display the rendering results of the parts of the three-dimensional model, but also display the rendering results of the other terminals to other parts of the three-dimensional model, the cloud rendering efficiency of the three-dimensional model is improved, and the different terminals can cooperatively render the same three-dimensional model.
Referring to fig. 6, schematically, a cloud rendering system architecture diagram of a three-dimensional model provided in an exemplary embodiment of the present application is shown, and as shown in fig. 6, the system architecture includes the following contents.
Because the editing operation, the instruction sending, the configuration operation and the three-dimensional model cloud rendering provided by the application are all realized in the cloud rendering system, the system architecture and different functional modules are introduced below.
The system architecture is first introduced.
A system architecture diagram 600 is currently shown, with a client 610, an intermediate server 620, and a cloud server 630 included in the system architecture diagram 600.
The client 600 mainly provides basic functions such as user registration, login, authority allocation and the like, and operation functions such as resource uploading, resource conversion, preview, operation control and the like for users. The user is provided with an interface and a Software Development Kit (SDK). The software development kit comprises an Http interface, network interface communication (Web Socket), a Nats message and an audio/video SDK (Web RTC).
The intermediate server 620 mainly provides various services to the client 610, including a management server (Web server), a Resource transformation server (Resource server), and a message server (Nats server).
The management server is responsible for user management, resource management and database management.
The resource conversion server is used for converting resources in different data formats such as a Revit Architecture format (RVT format), an Autodesk FBX format, an FBX format, a 3D graphic file format of CAD drawing software, an STP format, an industry basic type format and an IFC format into specified data format resources which can be recorded by the system development engine, and extracting grid information (mesh), texture information (Texture), shadow information (Shader), family information, basic information and the like in the resources.
The message server is responsible for message notification among the servers.
And the scheduling server is responsible for allocating the resources for the users.
In addition, the intermediate server 620 also includes MySQL library, (open build service, OBS library) and Redis cluster.
The cloud server 630 includes a Guard server (Guard server), a signaling server (single server), a Load server (Load server), a rendering engine, and an engine server.
The guard server is used for reporting GPU information and managing GPU processes.
The signaling server is used for connecting the client and the rendering engine.
The rendering engine is responsible for image rendering, model operation and cloud plug flow.
Wherein the engine server provides services for the rendering engine.
In the following, different functional modules are described.
1. And a data import module.
The following steps are described: the data generated by the process software can be accessed into the target application program, and the intercommunication between the target application program and other software data is realized.
(1) Three-dimensional model import, such as: STP format model, IFC format model
The implementation scheme is as follows: analyzing the data corresponding to the model file by means of freeCAD, and converting the data into a file (asset, ast format file) corresponding to a specified engine data format.
(2 Table (Excel), extensible Markup Language (XML) data import
The implementation scheme is as follows: the XML data can be analyzed into corresponding table data by means of the C language library, and then the data are stored into the database.
(3) Private file management system (PFMS database) data import
And analyzing the PFMS database content and performing format conversion on the PFMS database content.
The process of data import can be realized by firstly analyzing data in different formats and extracting different data, such as: and converting the geometric data, the attribute data, the material information and the like into files corresponding to the specified engine data format.
2. And a three-dimensional model modeling module.
In the embodiment, a complete plant model is constructed by using the basic components, and the modeling is divided into a basic platform, equipment, a pipeline and a supporting rigid structure.
(1) The basic geometric body is built with a pipeline, an elbow, a flange, a container, a valve, a speed changer and a pressure gauge
The implementation scheme is as follows: and (3) prefabricating basic geometric bodies (including cylinders, cuboids, spheres and the like) and defining part properties.
(2) Part editing window and scene editing window separation
The implementation scheme is as follows: firstly, building component elements in a component editing window, putting a three-dimensional factory model into a scene editing window after building the component elements of the factory three-dimensional model, and setting an application scene corresponding to the three-dimensional factory model, wherein two different editing windows can be switched.
(3) Adding feature points, feature lines, feature surfaces to the part
The implementation scheme is as follows: and marking key points, key lines and key surfaces of the components which can be picked up.
(4) Building a structure tree for complex parts
The implementation scheme is as follows: and constructing a structure for the complex part by adopting the specified structure tree, so that specified connection relation exists among all parts in the complex part.
(5) Each component having a unique identifier
The implementation scheme is as follows: the parts are uniquely marked using a business information display (GID).
(6) Reserving 100 attributes per part
The implementation scheme is as follows: some common basic attributes are prefabricated firstly, and relevant attributes can be added secondarily in a part editing window subsequently.
(7) Automatically generating a pipeline from a start point and an end point
The implementation scheme is as follows: and automatically completing the generation of the specified three models by writing a specified algorithm, wherein the specified three models comprise a straight pipe and a bent pipe.
3. And a model operation and display module.
(1) Displaying model borders only
The implementation scheme is as follows: and rendering the key characteristic frame lines of different basic components, thereby realizing that only the model frame is displayed.
In another alternative, the model bounding box is derived from the cad parameter curve.
(2) Displaying a blocked state
The implementation scheme is as follows: the room type member uses a translucent material so as to display a shielded state.
(3) Highlight display of selected frame
The implementation scheme is as follows: the feature outline may have its color attributes set.
(4) Visual angle tool assisted operation
The implementation scheme is as follows: referring to fig. 7, which is a schematic diagram of an operation model provided in an exemplary embodiment of the present application, as shown in fig. 7, an operation model 700 is currently displayed, which is implemented as a hexagonal body, each surface of the hexagonal body represents different types of operations, including switching to a front view, switching to an orthogonal view, setting the front view as the front view, and resetting the front view, and corresponding operations are switched by switching key lines and key surfaces of the hexagonal body.
(5) The keys can move in the direction, the left key of the mouse translates and the right key rotates
The implementation scheme is as follows: the button can moving direction, and mouse left button translation, right button are rotatory, and the gyro wheel can be drawn close visual angle far away around.
4. And (6) outputting data.
(1) Output profile DraWiNG (dwg Format) and Portable Document Format (PDF)
The implementation scheme is as follows: and selecting equipment within the elevation range to obtain a range, projecting downwards to obtain an equipment outline, and drawing on the canvas according to the equipment coordinates so as to draw the equipment outline.
Referring to fig. 8, which schematically illustrates a schematic diagram of generating a cross-sectional view according to an exemplary embodiment of the present application, as shown in fig. 8, a three-dimensional model 800 of a target device is currently obtained, an elevation range is selected according to the three-dimensional model 800, the elevation range is projected downwards, and the elevation range is drawn on a canvas according to device coordinates, so as to generate a device profile 810 corresponding to the target device.
(2) Output sensitivity (ISO) tube segment diagram
The implementation scheme is as follows: after the visual angle and the direction are fixed, the distance and the relative position between the visual angle and the basic component are calculated according to the characteristic points on the basic component, and the marked distance information is obtained after calculation according to the characteristic points.
(3) Part search, result display
The implementation scheme is as follows: and searching information in the project database by using the key fields, and organizing the information according to needs and displaying the information in a UI form mode.
(4) Outputting parts lists
The implementation scheme is as follows: and outputting the data in an excel format by means of a C language tool.
(5) Outputting three-dimensional models
The implementation scheme is as follows: and (5) researching a CAD open source library, and converting the engine data into STP format data and IFC format data.
5. And a multi-person editing module.
(1) State synchronization, synchronization after save
The implementation scheme is as follows: and constructing a synchronous server, wherein local operations need to be stored in sequence and synchronized to a server side, and each user edits different areas of the three-dimensional plant model.
(2) Sending state synchronization messages while synchronizing
The realization scheme is that a state synchronization success or state failure message is sent.
6. And a message publishing module.
Referring to fig. 9 schematically, a structure diagram of an instant messaging system according to an exemplary embodiment of the present invention is shown, as shown in fig. 9, a current system 900 includes a client 910, a gateway layer 920, a microservice cluster 930, a user center 940, and a message queue 950.
The user center 940 is responsible for performing user authentication between the client 910 and the gateway layer 920, so that a user can perform account login through the client 910 and connect with the gateway layer 920, and after login is successful, login information is sent to the micro service cluster 930 through the message queue 950, wherein the micro service cluster 940 includes chat service, search service and resource management. The server results are stored to storage system 960, including an open source distributed relational database (TiDB database), redis cluster, and OBS servers.
(1) Establishing a group
The implementation scheme is that Instant Messaging (IM) message service is established, and IM user registration and IM group management are performed by using a uniform user center.
(2) Sending text, picture and database link
The realization scheme is that text and binary stream are transmitted, files such as pictures and the like are uploaded and downloaded through an object storage service, and messages and data are forwarded through a chat service.
(3) All messages being stored in a database
The implementation scheme is that the message is sent to the server firstly, the server stores the database, and then the server completes message forwarding.
7. And a database access module.
Referring to fig. 10, schematically, a database access diagram provided by an exemplary embodiment of the present application is shown, as shown in fig. 10, a current system 1000 includes a project database 1001, a message database 1002, a supplier information database 1003, a PID component database 1004, a three-dimensional component database 1005, a specification code comparison table 1006, a component index table 1007, a PID icon 1008, a three-dimensional model database 1009, a specification database 1010, a procurement database 1011, a construction information database 1012, and a document database 1013.
(1) Domestic database model selection
The realization scheme is that a domestic database TiDB is adopted.
(2) Establishing background management terminal
The implementation scheme is that the background of each database system is managed through the client.
3. Database rights management
The implementation scheme is that the user authority and the database authority are managed through the background management terminal.
4. Three-dimensional component library
The implementation scheme is that a data table containing all the part characteristics is designed, the data table comprises a basic body table, a characteristic table, a user-defined combination table and a part table, and the table structure can be maintained through a management background.
5. Standard code comparison table
6. Document database
The realization scheme is that the document attribute, the storage path and the document connection can be sent.
7. Message database
The realization scheme is a database corresponding to the IM system.
8. Project library
The project library is associated with all the libraries and the project newly generates a asset file.
Fig. 11 is a block diagram of a structure of a cloud rendering apparatus for a three-dimensional model according to an exemplary embodiment of the present application, and as shown in fig. 11, the apparatus includes the following components:
a first receiving module 1110, configured to receive an editing operation on the specified three-dimensional model, where the editing operation is used to edit a model portion of the specified three-dimensional model;
a sending module 1120, configured to send an editing instruction to the cloud server;
the receiving module 1110 is further configured to receive a rendering result sent by the cloud server, and display the edited specified three-dimensional model, where the rendering result is a result obtained by rendering the specified three-dimensional model by a target rendering engine according to the editing instructions sent by the multiple terminals respectively.
In some embodiments, the first receiving module 1110 is further configured to receive an edit ending operation, where the edit ending operation is used to end the editing operation;
the sending module 1120 is further configured to send the editing instruction to the cloud server based on the editing end operation.
In some embodiments, the sending module 1120 is further configured to send the editing instruction to an intermediate server, where the intermediate server is configured to forward the editing instruction to the cloud server after receiving the editing instruction;
the first receiving module 1110 is further configured to receive a rendering result sent by the intermediate server, where the rendering result is a rendering result sent by the cloud server to the intermediate server.
In some embodiments, the first receiving module 1110 is further configured to receive status synchronization information sent by the intermediate server, where the status synchronization information is used to instruct the plurality of terminals to receive the rendering result synchronously.
In some embodiments, the intermediate server includes a database therein, the model portion includes component elements therein;
as shown in fig. 12, the apparatus further includes:
a display module 1130 for displaying the component edit window;
the first receiving module 1110 is further configured to receive, in the part editing window, a configuration operation on a part element, where the configuration operation is used to configure an element attribute of the part element;
the sending module 1120 is further configured to send a configuration instruction to the intermediate server, where the intermediate server is configured to configure, from the database, element attributes corresponding to multiple component elements according to the configuration instruction sent by multiple terminals, respectively;
the first receiving module 1110 is further configured to receive the configuration result sent by the intermediate server, and display the configured component elements.
Fig. 13 is a block diagram of a cloud rendering apparatus for a three-dimensional model according to an exemplary embodiment of the present application, and as shown in fig. 13, the apparatus includes the following components:
a second receiving module 1310, configured to receive editing instructions sent by multiple terminals respectively;
a rendering module 1320, configured to render, by the target rendering engine, the specified three-dimensional model based on the editing instructions sent by the multiple terminals, respectively;
a feedback module 1330 configured to feed back rendering results to the plurality of terminals, respectively.
In some embodiments, the editing instruction includes a first editing instruction sent by a first terminal, the first editing instruction includes a first rendering resource requirement and first rendering content corresponding to a first rendering task, and the first rendering resource requirement is used to indicate an amount of resources required for rendering the first rendering content corresponding to the first rendering task;
the second receiving module 1310 is further configured to receive a first editing instruction sent by the first terminal;
the rendering module 1320 is further configured to obtain a resource occupation amount corresponding to at least one running rendering engine; determining the amount of the resources left in the cloud server based on the resource occupation amount; starting a first rendering engine based on the amount of resources required for the first rendering content if the amount of resources remaining meets the first rendering resource requirement; and rendering the first rendering content corresponding to the first rendering task through the first rendering engine.
In some embodiments, the rendering module 1320 is further configured to concurrently start the target rendering engine based on the amount of resources required for the first rendered content on the basis of the at least one rendering engine if the amount of resources remaining meets the first rendering resource requirement.
To sum up, in the cloud rendering apparatus for a three-dimensional model provided in this embodiment of the application, under the condition that connection relationships are respectively established between the plurality of terminals and the target rendering engines in the cloud server, after the plurality of terminals respectively receive editing operations for editing different model portions of the specified three-dimensional model, different editing instructions are respectively sent to the cloud server, after the cloud server receives different editing instructions, the specified three-dimensional model is rendered by the target rendering engines, rendering results of the specified three-dimensional model are respectively fed back to the plurality of terminals, and finally the edited specified three-dimensional model is displayed by the different terminals after the rendering results are received. That is, after receiving editing instructions of different terminals for different parts of the three-dimensional model at the same time, rendering the three-dimensional model through the rendering engine according to the different editing instructions, and sending rendering results to the different terminals, so that the different terminals can not only display the rendering results of the parts of the three-dimensional model, but also display the rendering results of the other terminals to other parts of the three-dimensional model, the cloud rendering efficiency of the three-dimensional model is improved, and the different terminals can cooperatively render the same three-dimensional model.
It should be noted that: the cloud rendering apparatus for a three-dimensional model provided in the foregoing embodiment is only illustrated by dividing the functional modules, and in practical applications, the function distribution may be completed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the cloud rendering device of the three-dimensional model and the cloud rendering method of the three-dimensional model provided in the above embodiments belong to the same concept, and specific implementation processes thereof are detailed in the method embodiments and are not described herein again.
Fig. 14 shows a schematic structural diagram of a server according to an exemplary embodiment of the present application. Specifically, the method comprises the following steps:
the server 1400 includes a Central Processing Unit (CPU) 1401, a system Memory 1404 including a Random Access Memory (RAM) 1402 and a Read Only Memory (ROM) 1403, and a system bus 1405 connecting the system Memory 1404 and the Central Processing Unit 1401. The server 1400 also includes a mass storage device 1406 for storing an operating system 1413, application programs 1414, and other program modules 1415.
The mass storage device 1406 is connected to the central processing unit 1401 by a mass storage controller (not shown) connected to the system bus 1405. The mass storage device 1406 and its associated computer-readable media provide non-volatile storage for the server 1400. That is, the mass storage device 1406 may include a computer-readable medium (not shown) such as a hard disk or Compact disk Read Only Memory (CD-ROM) drive.
Without loss of generality, computer readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes RAM, ROM, erasable Programmable Read-Only Memory (EPROM), electrically Erasable Programmable Read-Only Memory (EEPROM), flash Memory or other solid state Memory technology, CD-ROM, digital Versatile Disks (DVD), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices. Of course, those skilled in the art will appreciate that computer storage media is not limited to the foregoing. The system memory 1404 and mass storage device 1406 described above may be collectively referred to as memory.
According to various embodiments of the present application, the server 1400 may also operate as a remote computer connected to a network through a network, such as the Internet. That is, the server 1400 may be connected to the network 1412 through the network interface unit 1411 connected to the system bus 1405, or the network interface unit 1411 may be used to connect to other types of networks or remote computer systems (not shown).
The memory further includes one or more programs, and the one or more programs are stored in the memory and configured to be executed by the CPU.
Those skilled in the art will appreciate that all or part of the steps in the methods of the above embodiments may be implemented by hardware related to instructions of a program, which may be stored in a computer readable storage medium, which may be a computer readable storage medium contained in a memory of the above embodiments; or it may be a separate computer-readable storage medium not incorporated into the terminal. The computer readable storage medium has stored therein at least one instruction, at least one program, set of codes or set of instructions which is loaded and executed by the processor to implement the virtual trace display method as described in any of the above embodiments.
Optionally, the computer-readable storage medium may include: read Only Memory (ROM), random Access Memory (RAM), solid State Drive (SSD), or optical disc. The Random Access Memory may include a Resistance Random Access Memory (ReRAM) and a Dynamic Random Access Memory (DRAM). The above-mentioned serial numbers of the embodiments of the present application are merely for description and do not represent the merits of the embodiments.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the storage medium may be a read-only memory, a magnetic disk or an optical disk.
The above description is only exemplary of the present application and should not be taken as limiting, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the protection scope of the present application.

Claims (13)

1. The cloud rendering system of the three-dimensional model is characterized by comprising a first terminal, a second terminal and a cloud server; the first terminal and the second terminal are connected with a target rendering engine in the cloud server, and the target rendering engine is used for rendering a specified three-dimensional model;
the first terminal is used for receiving a first editing operation on the specified three-dimensional model, and the first editing operation is used for editing a first model part of the specified three-dimensional model; sending a first editing instruction to the cloud server;
the second terminal is used for receiving a second editing operation on the specified three-dimensional model, and the second editing operation is used for editing a second model part of the specified three-dimensional model; sending a second editing instruction to the cloud server;
the cloud server is used for receiving the first editing instruction and the second editing instruction, and rendering the specified three-dimensional model through the target rendering engine based on the first editing instruction and the second editing instruction; feeding back rendering results to the first terminal and the second terminal;
the first terminal and the second terminal are further configured to receive the rendering result sent by the cloud server and display the edited specified three-dimensional model.
2. The system of claim 1,
the cloud server is further configured to receive the first editing instruction, and render the first model part of the specified three-dimensional model through a first rendering engine based on the first editing instruction to obtain a first rendering result; feeding back the first rendering result to the first terminal and the second terminal at the same time;
the cloud server is further configured to receive the second editing instruction, and render, by a second rendering engine, a second model portion of the specified three-dimensional model based on the second editing instruction, so as to obtain a second rendering result; feeding back the second rendering result to the first terminal and the second terminal at the same time;
the first terminal and the second terminal are further configured to receive the first rendering result and the second rendering result sent by the cloud server, and display the edited first model part and the edited second model part of the specified three-dimensional model.
3. The system of claim 2, wherein the first editing instruction comprises a first rendering resource requirement and a first rendering content corresponding to a first rendering task, and the first rendering resource requirement is used for indicating an amount of resources required for rendering the first rendering content corresponding to the first rendering task; the second editing instruction comprises a second rendering resource requirement and a second rendering content corresponding to a second rendering task, wherein the second rendering resource requirement is used for indicating the resource amount required for rendering the second rendering content corresponding to the second rendering task;
the cloud server is further used for acquiring the resource occupation amount corresponding to at least one rendering engine in operation; determining the resource remaining amount in the cloud server based on the resource occupancy amount; starting a first rendering engine based on the amount of resources required for the first rendering content if the amount of resources remaining meets the first rendering resource requirement; rendering the first rendering content corresponding to the first rendering task through the first rendering engine;
the cloud server is further used for acquiring the resource occupation amount corresponding to at least one rendering engine in operation; determining the resource remaining amount in the cloud server based on the resource occupancy amount; starting a second rendering engine based on the amount of resources required for the second rendered content if the amount of resources remaining meets the second rendering resource requirement; and rendering the second rendering content corresponding to the second rendering task through the second rendering engine.
4. The system according to any one of claims 1 to 3,
the first terminal is further configured to receive an editing end operation, where the editing end operation is used to end the first editing operation; sending a first editing instruction to the cloud server based on the editing ending operation;
the second terminal is further configured to receive an edit ending operation, where the edit ending operation is used to end the second editing operation; and sending a second editing instruction to the cloud server based on the editing ending operation.
5. The system of any one of claims 1 to 3, further comprising: an intermediate server;
the intermediate server is used for receiving the first editing instruction and transmitting the first editing instruction to the cloud server;
the intermediate server is further used for receiving a first rendering result sent by the cloud server; simultaneously sending the first rendering result to the first terminal and the second terminal;
the intermediate server is further configured to receive the second editing instruction and forward the second editing instruction to the cloud server;
the intermediate server is further used for receiving a second rendering result sent by the cloud server; and simultaneously sending the second rendering result to the first terminal and the second terminal.
6. The system of claim 5,
the intermediate server is further configured to send status synchronization information to the first terminal when the second rendering results are sent to the first terminal and the second terminal, respectively, where the status synchronization information is used to instruct the first terminal and the second terminal to send the second rendering results synchronously;
the intermediate server is further configured to send, to the second terminal, state synchronization information when the first rendering result is sent to the first terminal and the second terminal, respectively, where the state synchronization information is used to indicate that the first rendering result is sent to the first terminal and the second terminal synchronously.
7. The system of claim 5, wherein the intermediate server includes a database therein, and wherein the first model portion includes a first component element therein; the second model portion includes a second component element therein;
the first terminal is further configured to display a component editing window, and receive a first configuration operation on the first component element in the component editing window, where the first configuration operation is used to configure an element attribute of the first component element; sending a first configuration instruction to the intermediate server;
the second terminal is further configured to display a part editing window, and receive a second configuration operation on the second part element in the part editing window, where the second configuration operation is used to configure an element attribute of the second part element; sending a second configuration instruction to the intermediate server;
the intermediate server is further configured to receive the first configuration instruction and the second configuration instruction, and configure, from the database, element attributes corresponding to the first component element and the second component element, respectively, based on the first configuration instruction and the second configuration instruction; feeding back a configuration result to the first terminal and the second terminal;
the first terminal and the second terminal are further configured to receive the configuration result sent by the intermediate server, and display the configured first component element and the configured second component element.
8. A method of cloud rendering of a three-dimensional model, the method comprising:
receiving editing instructions sent by a plurality of terminals respectively;
rendering the specified three-dimensional model through a target rendering engine based on editing instructions respectively sent by the plurality of terminals;
and respectively feeding back rendering results to the plurality of terminals.
9. The method according to claim 8, wherein the edit instruction includes a first edit instruction sent by a first terminal, the first edit instruction includes a first rendering resource requirement and a first rendering content corresponding to a first rendering task, and the first rendering resource requirement is used to indicate an amount of resources required for rendering the first rendering content corresponding to the first rendering task;
the receiving of the editing instructions sent by the multiple terminals respectively includes:
receiving a first editing instruction sent by a first terminal;
the rendering the specified three-dimensional model through a target rendering engine based on the editing instructions respectively sent by the plurality of terminals includes:
acquiring the resource occupation amount corresponding to at least one running rendering engine;
determining the resource remaining amount in the cloud server based on the resource occupancy amount;
starting a first rendering engine based on the amount of resources required for the first rendering content if the amount of resources remaining meets the first rendering resource requirement;
and rendering the first rendering content corresponding to the first rendering task through the first rendering engine.
10. The method of claim 9, wherein the starting the target rendering engine based on the amount of resources required for the first rendered content if the amount of resources left meets the first rendering resource requirement comprises:
concurrently starting the target rendering engine based on the amount of resources required for the first rendered content on the basis of the at least one rendering engine if the amount of resources remaining meets the first rendering resource requirement.
11. A method of cloud rendering of a three-dimensional model, the method comprising:
receiving an editing operation on the specified three-dimensional model, wherein the editing operation is used for editing a model part of the specified three-dimensional model;
sending an editing instruction to the cloud server;
and receiving a rendering result sent by the cloud server, and displaying the edited specified three-dimensional model, wherein the rendering result is a result obtained by rendering the specified three-dimensional model through a target rendering engine by the cloud server according to the editing instructions sent by the plurality of terminals respectively.
12. The method of claim 11, wherein after receiving the editing operation on the specified three-dimensional model, further comprising:
receiving an editing ending operation, wherein the editing ending operation is used for ending the editing operation;
the sending of the editing instruction to the cloud server includes:
and sending the editing instruction to the cloud server based on the editing ending operation.
13. The method according to claim 11 or 12, wherein the sending the editing instructions to the cloud server comprises:
sending the editing instruction to an intermediate server, wherein the intermediate server is used for forwarding the editing instruction to the cloud server after receiving the editing instruction;
the receiving of the rendering result sent by the cloud server includes:
and receiving a rendering result sent by the intermediate server, wherein the rendering result is a rendering result sent by the cloud server to the intermediate server.
CN202211735778.8A 2022-12-30 2022-12-30 Cloud rendering system, method, device, equipment, medium and product of three-dimensional model Pending CN115965732A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211735778.8A CN115965732A (en) 2022-12-30 2022-12-30 Cloud rendering system, method, device, equipment, medium and product of three-dimensional model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211735778.8A CN115965732A (en) 2022-12-30 2022-12-30 Cloud rendering system, method, device, equipment, medium and product of three-dimensional model

Publications (1)

Publication Number Publication Date
CN115965732A true CN115965732A (en) 2023-04-14

Family

ID=87354606

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211735778.8A Pending CN115965732A (en) 2022-12-30 2022-12-30 Cloud rendering system, method, device, equipment, medium and product of three-dimensional model

Country Status (1)

Country Link
CN (1) CN115965732A (en)

Similar Documents

Publication Publication Date Title
CN103095828B (en) The Web3D synchronous conferencing system played up based on cloud and realize synchronous method
KR102176837B1 (en) System and method for fast rendering and editing 3d images in web browser
CN106600704A (en) Virtual home decoration system based on mobile Internet and cloud platform
CN113140041A (en) Cloud-based three-dimensional automatic modeling system and modeling method for building field
CN104463957A (en) Three-dimensional scene generation tool integration method based on materials
Behr et al. webvis/instant3dhub: Visual computing as a service infrastructure to deliver adaptive, secure and scalable user centric data visualisation
CN111275826B (en) Three-dimensional model automatic conversion method suitable for AR scene
CN116340260A (en) Building model data rendering method and device, electronic equipment and readable storage medium
KR20240049244A (en) Method and apparatus for performing weight lightening of image and object data for web publishing of 3d contets
Nyamsuren et al. A web-based collaborative framework for facilitating decision making on a 3D design developing process
CN112001018A (en) Efficient virtual simulation experiment platform testing method based on cloud rendering
Chryssolouris et al. A web and virtual reality-based platform for collaborative product review and customisation
CN115965732A (en) Cloud rendering system, method, device, equipment, medium and product of three-dimensional model
Patti et al. Combining building information modelling and ambient data in interactive virtual and augmented reality environments
Nandavar et al. Opening BIM in a new dimension
KR20140031540A (en) Building information modeling based communication system, building information modeling based communication server, and building information modeling based communication method in mobile terminal and recording medium thereof
CN114707215A (en) BIM model lightweight method based on scene customization
Leng et al. A data integration and simplification framework for improving site planning and building design
CN115618584A (en) Urban rainstorm waterlogging simulation data processing method based on distributed computation
Rossmann et al. Virtual BIM Testbeds: The eRobotics Approach to BIM and Its Integration into Simulation, Rendering, Virtual Reality and More
CN111754630A (en) Future community startup scene service system and method and storage medium thereof
Ferreira A WebGL application based on BIM IFC
US11200754B1 (en) Extended reality environment generation
KR20240067843A (en) Method and apparatus for providing streaming service of virtual space 3d contents
Coors et al. Compressed 3D urban models for internet-based e-planning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination