CN115512019A - Rendering method, device and system - Google Patents

Rendering method, device and system Download PDF

Info

Publication number
CN115512019A
CN115512019A CN202110684730.8A CN202110684730A CN115512019A CN 115512019 A CN115512019 A CN 115512019A CN 202110684730 A CN202110684730 A CN 202110684730A CN 115512019 A CN115512019 A CN 115512019A
Authority
CN
China
Prior art keywords
physical information
rendering
physical
remote computing
computing node
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
CN202110684730.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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies 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 Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to CN202110684730.8A priority Critical patent/CN115512019A/en
Publication of CN115512019A publication Critical patent/CN115512019A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

The application provides a rendering method, a device and a system, wherein the method comprises the following steps: a physical engine on the remote computing node generates a physical simulation result according to an operation instruction sent by a rendering engine, wherein the operation instruction influences a three-dimensional model in a target scene, and the physical simulation result comprises first physical information and second physical information of the three-dimensional model after the three-dimensional model is influenced by the operation instruction; the remote computing node sends first physical information to the rendering engine through the first channel, and sends second physical information to the rendering engine through the second channel, wherein the priority level of the first physical information is higher than that of the second physical information, so that the rendering engine can preferentially receive the first physical information when the network is not good, and render images according to the first physical information, phenomena of stagnation or stop running and the like of the rendering application on the equipment where the rendering engine is located are avoided, and user experience is optimized.

Description

Rendering method, device and system
Technical Field
The present application relates to the field of cloud computing technologies, and in particular, to a rendering method, an apparatus, and a system.
Background
The physical engine is used for carrying out physical simulation on the motion, rotation, collision and other behaviors of a three-dimensional model (such as characters, animals, plants and the like) in the virtual scene by using object attributes (such as speed, acceleration, momentum and the like), and is used for carrying out physical simulation on the skeleton motion of the three-dimensional model after collision, so that the motion of the three-dimensional model in the virtual scene conforms to the physical law of the real scene, and the picture of the virtual scene and the behavior of the virtual character become more and more real. Many newly developed game applications, smart city simulation applications, military simulation applications and the like utilize a physical engine to realize physical simulation in a virtual scene, and after a physical simulation result is obtained, a rendering engine is called to render according to the physical simulation result to obtain a rendered image.
At present, the physical engine is installed in an application installation package by a user through downloading, and when the user runs an application, the physical engine can run along with the application. However, as the user has higher requirements for the reality of the virtual image and the virtual character, the amount of data that needs to be physically simulated by the physical engine is also larger, but the processing capability of the terminal device is limited, and the calculation of the physical engine is limited by the capability of the terminal device, so that the running of the application is blocked or stopped, and the user experience is seriously affected.
Disclosure of Invention
The application provides a rendering method, a rendering device and a rendering system, so that a user can still have better use experience of rendering application when a network is not good.
In a first aspect, a rendering method is applied to a remote computing node, the remote computing node including a physics engine, the method including:
the remote computing node calls the physical engine to generate a physical simulation result according to an operation instruction, the operation instruction is sent to the remote computing node by a rendering engine, the operation instruction influences a three-dimensional model in a target scene, and the physical simulation result comprises first physical information and second physical information of the three-dimensional model after the three-dimensional model is influenced by the operation instruction;
the remote computing node sends the first physical information to the rendering engine through a first channel and sends the second physical information to the rendering engine through a second channel, wherein the priority level of the first physical information is higher than that of the second physical information.
In the above scheme, the physical engine is deployed in the remote computing node, and after the physical engine obtains the physical simulation result, the remote computing node sends the physical simulation result to the device (such as the terminal device) where the rendering engine is located, so that the problem that the computing of the physical engine is limited by the capability of the terminal device in the prior art can be solved.
In addition, in the above scheme, the physical simulation result obtained by the physical engine on the remote computing node is divided into the first physical information with high priority and the second physical information with low priority, and the first physical information and the second physical information are transmitted to the rendering engine through different channels, so that the rendering engine can preferentially receive the first physical information under the condition of bad network, and the situation that all the physical simulation results cannot be transmitted to the rendering engine in time is avoided.
In a possible implementation manner, the first physical information includes an influence result of a three-dimensional model of an operation object of the operation instruction in the target scene, and the second physical information includes a change of physical information of the three-dimensional model of the operation object of the operation instruction and/or other three-dimensional models in the target scene caused by the influence result.
In one possible implementation manner, the first physical information includes any one or more of the following:
coordinates of a three-dimensional model of the operation object, a moving speed, a moving acceleration, a moving angle, and a moving direction of the operation command.
In one possible implementation, before the remote computing node sends the first physical information to the rendering engine through a first channel, the method further includes: the remote computing node compresses the first physical information.
It can be understood that, the remote computing node compresses the first physical information and sends the compressed first physical information to the rendering engine, and compared with directly sending the uncompressed first physical information to the rendering engine, the compressed first physical information needs to consume less bandwidth resources, has a faster transmission speed and a shorter transmission time, and can further improve the possibility that the rendering engine receives the first physical information under the condition that the network is not good.
In one possible implementation, the rendering engine is deployed at a remote computing node or a terminal device.
Further, where the rendering engine is deployed at a remote computing node, the remote computing node used to deploy the rendering engine and the remote computing node used to deploy the physics engine are different nodes.
In a second aspect, a rendering method is provided, which is applied to a rendering engine, and the method includes:
the rendering engine sends an operation instruction to a remote computing node, wherein the operation instruction is used for calling a physical engine in the remote computing node to generate a physical simulation result, the operation instruction influences a three-dimensional model in a target scene, and the physical simulation result comprises first physical information and second physical information of the three-dimensional model after the three-dimensional model is influenced by the operation instruction;
the rendering engine determines that first physical information sent by the remote computing node is received through a first channel and second physical information sent by the remote computing node is not received through a second channel, wherein the priority level of the first physical information is higher than that of the second physical information;
and rendering by the rendering engine according to the first physical information to obtain a rendered image.
In a possible implementation manner, the first physical information includes an influence result of a three-dimensional model of an operation object of the operation instruction in the target scene, and the second physical information includes a change of physical information of the three-dimensional model of the operation object of the operation instruction and/or other three-dimensional models in the target scene caused by the influence result.
In a possible implementation manner, the rendering according to the first physical information to obtain a rendered image includes:
and obtaining the rendering image according to the first physical information and the pre-stored change results of the physical information of the three-dimensional model of the operation object of the operation instruction corresponding to the influence result and/or other three-dimensional models in the target scene.
In one possible implementation manner, the first physical information includes any one or more of the following:
coordinates of a three-dimensional model of the operation object, a moving speed, a moving acceleration, a moving angle, and a moving direction of the operation command.
In a possible implementation manner, the rendering engine receives, through a first channel, first physical information sent by the remote computing node, and performs compression on the first physical information for the remote computing node.
In a third aspect, there is provided a remote computing node comprising:
a communication module for receiving an operating instruction that affects a three-dimensional model in a target scene;
the physical engine is used for generating a physical simulation result according to the operation instruction, and the physical simulation result comprises first physical information and second physical information of the three-dimensional model after being influenced by the operation instruction;
the communication module is further configured to send the first physical information to a rendering engine through a first channel, and send the second physical information to the rendering engine through a second channel, where a priority level of the first physical information is higher than a priority level of the second physical information.
In a fourth aspect, there is provided a rendering engine comprising:
the sending module is used for sending an operation instruction to the remote computing node, wherein the operation instruction is used for calling a physical engine in the remote computing node to generate a physical simulation result, the operation instruction influences a three-dimensional model in a target scene, and the physical simulation result comprises first physical information and second physical information of the three-dimensional model after the three-dimensional model is influenced by the operation instruction;
a determining module, configured to determine that first physical information sent by the remote computing node is received through a first channel, and that second physical information sent by the remote computing node is not received through a second channel;
and the rendering module is used for rendering according to the first physical information to obtain a rendered image.
In a fifth aspect, there is provided a rendering system comprising the remote computing node of the third aspect and the rendering engine of the fourth aspect.
In a sixth aspect, there is provided a non-transitory computer readable storage medium having stored thereon instructions for implementing a method according to any one of the first to second aspects as described above.
In a seventh aspect, there is provided a computer program product comprising a computer program that, when read and executed by a computing device, causes the computing device to perform the method of any of the first to second aspects described above.
In an eighth aspect, a cluster of computing devices is provided, comprising at least one computing device, each computing device comprising a processor and a memory; the processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device to cause the cluster of computing devices to perform the method of any of the first to second aspects described above.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings used in the description of the embodiments will be briefly described below.
FIG. 1 is a schematic diagram of a rendering system to which the present application relates;
FIG. 2 is a schematic diagram of a rendering system provided herein;
FIG. 3 is a schematic flow chart of a rendering method provided herein;
FIG. 4 is a schematic diagram of another rendering system provided herein;
FIG. 5 is a schematic flow chart of another rendering method provided in the present application;
FIG. 6 is a schematic diagram of a first remote computing node according to the present application;
FIG. 7 is a schematic block diagram of another rendering engine provided herein;
FIG. 8 is a schematic structural diagram of a computing device cluster provided herein;
fig. 9 is a schematic structural diagram of a computing device provided in the present application.
Detailed Description
The embodiments of the present application will be described below with reference to the drawings.
The terms "first" and "second" in the embodiments of the present application are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature.
In the embodiments of the present application, "at least one" means one or more, "a plurality" means two or more. "and/or" describes the association relationship of the associated objects, meaning that there may be three relationships, e.g., a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone, wherein A and B can be singular or plural. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship. "at least one of the following" or similar expressions refer to any combination of these items, including any combination of the singular or plural items. For example, at least one (one) of a, b, or c, may represent: a. b, c, a-b, a-c, b-c or a-b-c, wherein a, b and c can be single or multiple.
The following provides a brief description of application scenarios related to embodiments of the present application.
Referring to fig. 1, fig. 1 is a schematic structural diagram of a rendering system according to the present application. The rendering system is used for physically simulating the terminal device 110 through a physical engine included by the terminal device 110 to obtain a physical simulation result when a user uses the rendering application on the terminal device 110, and then calling the rendering engine to render the virtual scene according to the physical simulation result to obtain a rendered image. Wherein, the first and the second end of the pipe are connected with each other,
the terminal device 110 may be a device that needs to display a rendered image, for example, a virtual reality device (VR) for flight training, a computer for virtual games, a smart phone for virtual malls, and the like, and is not limited herein. The operating system of the terminal device 110 may be IOS, android, windows, linux, etc. Since the physics engine and the rendering engine are installed in the rendering application (i.e., the application that needs to display the rendered image) installation package by the user download to the terminal device 110, the physics engine and the rendering engine run simultaneously when the rendering application runs on the terminal device 110. The rendering application may be a game application, a military simulation application, a smart city simulation application, and the like.
The physical engine is used for performing physical simulation on the behaviors of motion, rotation, collision and the like of the three-dimensional model in the virtual scene by using object attributes (such as speed, acceleration, momentum, impulse, force, moment, damping, torque or elasticity and the like) when the rendering application runs, and performing physical simulation on the skeleton motion of the three-dimensional model after the collision to obtain a physical simulation result, such as the coordinates of points on the three-dimensional model (such as people, animals, plants and the like), the speed of point movement, the acceleration of the point movement, the angle of the point movement, the direction of the point movement and the like. The physics engine may even simulate complex mechanical devices such as spherical joints, wheels, cylinders, or hinges.
The rendering engine may include at least one of the following pipelines: ray tracing renderers, rasterized rendering pipelines, and the like. The rendering engine may render according to a physical simulation result generated by the physical engine to obtain a rendered image, and display the rendered image on the terminal device 110 in real time. The rendering engine can perform rendering according to the physical simulation result, and can perform some simple rendering, such as rendering the shadow of a virtual picture, rendering the colored clothes, and the like.
It is to be understood that the rendering system shown in fig. 1 is merely an example, and in a specific implementation, the rendering system shown in fig. 1 may further include a sound engine or the like, wherein the sound engine is used for providing sound effects for a user.
However, as the aesthetic level of users is continuously improved, when a rendering application installed on the terminal device 110 runs, the data volume of the physical simulation result that needs to be calculated by the physical engine is larger and larger, but the terminal device 110 is generally an electronic device with small volume and limited calculation capability and storage capability, and therefore, the calculation of the physical engine deployed on the terminal device 110 is necessarily limited by the capability of the terminal device 110, so that the physical engine cannot calculate a large number of physical simulation results, and the running of the rendering application is blocked or stopped.
In order to solve the above problem, the physics engine may be separated from the terminal device 110 and deployed on a remote computing platform (e.g., a personal computer, a cloud server) with high computing power and storage capacity, so that the computing of the physics engine is no longer limited by the terminal device 110.
Referring to fig. 2, fig. 2 is a schematic structural diagram of a rendering system for deploying a physics engine to a remote computing platform 130 according to the present application, and as shown in fig. 2, the rendering system includes: terminal device 110, network device 120, and remote computing platform 130. Wherein the content of the first and second substances,
the remote computing platform 130 may be a personal computer or may be a cloud server. Fig. 2 illustrates an example where the remote computing platform 130 is a cloud server, the remote computing platform 130 including a plurality of remote computing nodes, each remote computing node including, from bottom to top, hardware, virtualization services, physical engines, and rendering server applications.
The hardware includes computing resources, storage resources, and network resources. The computing resource may adopt a heterogeneous computing architecture, for example, a Central Processing Unit (CPU) + Graphics Processing Unit (GPU) architecture, a CPU + AI chip, a CPU + GPU + AI chip architecture, and the like, which are not limited herein. The storage resources may include memory, and the like. Here, the computing resources may be divided into a plurality of computing unit resources, the storage resources may be divided into a plurality of storage unit resources, and the network resources may be divided into a plurality of network unit resources, and thus, the remote computing platform 130 may be freely combined on a unit resource basis according to the resource demand of the user, so that the user's needs provide the resources. For example, the computing resources may be divided into 5u computing unit resources, the storage resources may be divided into 10G storage unit resources, and the combination of the computing resources and the storage resources may be, 5u +10G,5u +20G,5u +30u, \ 8230;, 10u +10G,10u +20G,10u +30u, \\ 8230;.
The virtualization service is a service which constructs resources of a plurality of physical hosts into a uniform resource pool through a virtualization technology and flexibly isolates mutually independent resources according to the needs of users so as to run application programs of the users.
The virtualization service may include a Virtual Machine (VM) service, a Bare Metal Server (BMS) service, and a container (container) service. The VM service may be a service that provides a Virtual Machine (VM) resource pool on a plurality of physical hosts through a virtualization technique to provide a VM for a user to use as needed. The BMS service is a service which is used by a BMS and is provided for users according to needs by virtualizing a BMS resource pool on a plurality of physical hosts. The container service is a service that virtually represents a container resource pool on a plurality of physical hosts to provide containers for users to use as needed. A VM is a virtual computer, i.e., a logical computer, which is simulated. The BMS is an elastically telescopic high-performance computing service, the computing performance of the BMS is not different from that of a traditional physical machine, and the BMS has the characteristic of safe physical isolation. The container is a kernel virtualization technology, and can provide lightweight virtualization so as to achieve the purpose of isolating user space, processes and resources. It should be understood that the VM service, the BMS service, and the container service in the above virtualization service are only specific examples, and in practical applications, the virtualization service may also be other lightweight or heavyweight virtualization services, and is not limited in detail herein.
The physics engine can be used to implement physics simulation algorithms such as newton's law of motion, universal gravitation formula, momentum conservation law, etc.; the rendering application server can be used for calling a physics engine to complete physics simulation to obtain a physics simulation result.
After obtaining the physical simulation result, the rendering application server may send the physical simulation result to a rendering application client on the terminal device 110 through a network, and the rendering application client invokes a rendering engine to perform rendering according to the physical simulation result, so as to obtain a rendered image. As can be seen, the rendering application client acts as an intermediary between the user and the rendering application server, and the rendering application client and the rendering application server are collectively referred to as a rendering application.
In a specific implementation manner, the specific process of sending the physical simulation result to the rendering application client on the terminal device 110 by the rendering application server through the network is as follows: the rendering application server transmits the physical simulation result to a communication module (not shown in fig. 2) on a remote computing node where the rendering application server is located, the communication module on the remote computing node transmits the physical simulation result to a communication module (not shown in fig. 2) on the terminal device 110 through a network, and then the communication module on the terminal device 110 transmits the physical simulation result to the rendering application client on the terminal device 110.
In a specific implementation, the rendering application server and the rendering application client may be provided by a rendering application provider, and the physics engine and the rendering engine may be provided by a cloud service provider. For example, the rendering application developer installs the rendering application server on the remote computing platform 130 provided by the cloud service provider, and the rendering application developer provides the rendering application client to the user through the internet for downloading and installing on the terminal device 110 of the user. In addition, the cloud service provider also provides a physics engine, which may provide computing power for the rendering application, and a rendering engine, which may provide rendering power for the rendering application.
In another specific implementation, the rendering application client, the rendering application server, the physics engine, and the rendering engine may all be provided by a cloud service provider.
In particular implementations, remote computing platform 130 may be deployed on the cloud, with remote computing platform 130 and terminal devices 110 typically deployed in different data centers or even geographic areas, communicating through network device 120.
Network device 120 is used to transfer data between terminal device 110 and remote computing platform 130 over a communication network of any communication mechanism/communication standard. The communication network may be a wide area network, a local area network, a point-to-point connection, or any combination thereof.
However, in the rendering system shown in fig. 2, since the physical simulation result generated by the physical engine on the remote computing platform 130 needs to be sent to the rendering engine on the terminal device 110 through the network, if the network is not good, the physical simulation result generated by the physical engine on the remote computing platform 130 cannot be timely transmitted to the rendering engine on the terminal device 110, so that the rendering engine on the terminal device 110 cannot timely render according to the physical simulation result to obtain a rendered image, and thus the running of the rendering application on the terminal device 110 is jammed or stopped, and the experience of the user is seriously affected.
In order to solve the above problem of the rendering system shown in fig. 2, the present application provides a rendering method, where after a physical engine is called by a remote computing platform 130 to perform physical simulation on a target scene to obtain a physical simulation result, the physical simulation result may be divided into first physical information with a high priority level and second physical information with a low priority level, and then the first physical information and the second physical information are transmitted to a rendering engine on a terminal device 110 through different channels, so that the rendering engine on the terminal device 110 can preferentially receive the first physical information under a condition that a network is not good, so that all physical simulation results cannot be transmitted to the rendering engine on the terminal device 110 in time, and after receiving the first physical information, the rendering engine on the terminal device 110 can render in time according to the first physical information to obtain a rendered image, thereby avoiding phenomena such as jamming or stopping of the rendering application running on the terminal device 110, and optimizing user experience.
In particular implementations, the physics engine may be implemented by a single remote computing node deployment in remote computing platform 130 or by multiple remote computing nodes co-deployed in remote computing platform 130. For ease of description, in the embodiments that follow, a single remote computing node with a physics engine deployed in the remote computing platform 130 (i.e., the first remote computing node described below) is used as an example for the description.
In order to facilitate a clearer understanding of the rendering method provided in the present application, the following is described in more detail with reference to the interaction diagram shown in fig. 3, and as shown in fig. 3, the method may include the following steps:
s301, the first remote computing node receives an operation instruction. The operation command may also be referred to as a game command, and is a command input by the user to the terminal device 110 to operate a three-dimensional model of an operation object when the rendering application is used on the terminal device 110, for example, a command to shoot a character model in a target scene onto another character model, a command to jump up a character model, a command to move an object model (e.g., an automobile model), and the like.
In one possible implementation, the operation instruction received by the first remote computing node may be a rendering application client input by a user on the terminal device 110, and the rendering application client is directly sent to the first remote computing node through the network.
In another possible implementation, the operation instruction received by the first remote computing node may be a user input to a rendering application client on the terminal device 110, and the rendering application client transmits the operation instruction to a rendering engine on the terminal device 110, and the operation instruction is sent to the first remote computing node by the rendering engine on the terminal device 110 through a network.
In a specific implementation, a user may input an operation instruction to the terminal device 110 through an input component, where the input component includes, but is not limited to: keyboard, mouse, touch screen, touch pad, audio input device, etc.
It is understood that the input of the operation command may cause the target scene on the terminal device 110 to change, and specifically, some three-dimensional models (such as three-dimensional models of operation objects) in the target scene to change, that is, the operation command may affect the three-dimensional models in the target scene, for example, in the case that the operation command is a command for causing a character model in the target scene to shoot at another character model, the operation command may affect the two character models, and for example, in the case that the operation command is a command for causing an automobile model in the target scene to move, the operation command may affect the automobile model.
The target scene refers to a virtual scene observed by a user (refers to a virtual scene oriented by a viewpoint of the user) when the rendering application runs. It can be understood that if the rendering application runs and includes a virtual scene, the target scene is the virtual scene; if the rendering application runs, the rendering application includes a large virtual scene, and the large virtual scene includes a plurality of small sub-scenes, then the target scene may be the large virtual scene, or may be one or more of the plurality of small sub-scenes included in the large virtual scene. By way of example, assume that the rendering application is a game application that can create virtual rooms, each virtual room being a sub-scene. If the virtual characters of the virtual characters corresponding to the user a are all in the virtual room 1 in the game application, the virtual characters corresponding to the user B are in the virtual room 2 in the game application. The target scene in which the user a participates may be a sub-scene corresponding to the virtual room 1, or may be a virtual scene including the sub-scene corresponding to the virtual room 1 and the sub-scene corresponding to the virtual room 2.
S302, the first remote computing node calls a physical engine to generate a physical simulation result comprising first physical information and second physical information according to the operation instruction, wherein the priority level of the first physical information is higher than that of the second physical information.
In the specific embodiment of the present application, the three-dimensional model affected by the operation instruction can be divided into the following two types: the three-dimensional model of the operation object of the operation instruction (hereinafter referred to as a first model) and the other three-dimensional models of the target scene affected by the operation instruction (hereinafter referred to as a second model) except the three-dimensional model of the operation object of the operation instruction (hereinafter referred to as a second model), for example, if the target scene includes a character model and a river model, the operation instruction sent by the user is used to operate the character model in the target scene to jump into the river model, then the three-dimensional model affected by the operation instruction includes a character model and a river model, the character model is the first model, the river model is the second model, and for example, if the target scene includes a bomb model and a house model, the operation instruction sent by the user is used to operate the bomb model in the target scene to explode the house model, then the three-dimensional model affected by the operation instruction includes a bomb model and a house model, the bomb model is the first model, and the river model is the second model.
The physical simulation result generated by the physical engine according to the operation instruction comprises physical information of the three-dimensional model affected by the operation instruction in the target scene, and the physical information of the three-dimensional model affected by the operation instruction in the target scene can be divided into first physical information and second physical information, namely the physical simulation result comprises the first physical information and the second physical information, wherein,
the first physical information includes a first influence result of the first model in the target scene, and the first influence result of the first model in the target scene includes any one or more of the following: a first coordinate of the first model, a first velocity of the first model movement, a first acceleration of the first model movement, a first angle of the first model movement, a first direction of the first model movement, and so on; further, the first coordinate of the first model may be an accurate position where the first model is hit by a bullet, an accurate position where the first model is pushed down and falls off the cliff, an accurate position where fragments of the first model are located after the first model is exploded by a bomb, and the like; the first velocity and first acceleration of the first model movement may be the precise velocity and precise acceleration at which the first model is pushed over the fall cliff, the precise velocity and precise acceleration at which the first model is blown off by a bomb, etc.; the first angle and the first direction of movement of the first model may be an accurate angle and an accurate direction in which the first model shakes after the first model is hit by a bullet, an accurate angle and an accurate direction in which the first model flies after the first model is hit by a bomb, and the like.
The second physical information comprises a change in physical information of the first model and/or the second model as a result of a first influence of the first model within the target scene.
Taking the first model as the character model a, the second model as the character model B, and the operation command for operating the character model B to gun the character model a as an example, assuming that the character model B hits the character model a on the character model a, and the first influence result of the character model a in the target scene is the position of the character model a generated by the physical engine hit by the bullet, it can be understood that, in the case of the character model a hit by the bullet, blood droplets should splash at the position of the character model a hit by the bullet, and therefore, the position of the blood droplets splashed by the position of the character model a hit by the bullet, which is generated by the physical engine, is the change of the physical information of the character model caused by the first influence result of the character model a in the target scene (i.e., the position of the character model a hit by the bullet).
Taking the first model as the character model, the second model as the river model, and the operation command for operating the character model to jump into the river model as an example, assuming that the first influence result of the character model in the target scene is the position of the character model generated by the physical engine to jump into the river model, it can be understood that when the character model jumps into the river model, the position of the character model jumping into the river model should be splashed with water, and therefore, the position of the splash splashed by the position of the character model generated by the physical engine to jump into the river model is the change of the physical information of the river model caused by the first influence result of the character model in the target scene (i.e. the position of the character model jumping into the river model).
In a specific embodiment of the present application, after acquiring the first physical information and the second physical information, the first remote computing node may set the priority level of the first physical information to 0, and set the priority level of the second physical information to 1, where the priority level of the 0 is higher than the priority level of the 1.
S303, the first remote computing node sends the first physical information to the rendering engine on the terminal device 110 through the first channel.
S304, the first remote computing node sends the second physical information to the rendering engine on the terminal device 110 through the second channel.
In a specific embodiment of the present application, the transmission performance of the first channel is better than the transmission performance of the second channel. A channel, which may also be referred to as a transmission channel, may be a link or a link with a higher bandwidth formed by aggregating a plurality of links. A link refers to a communication link formed by connecting physical ports of two devices. The transmission performance may be an index of transmission delay, bandwidth, reliability, and the like, for example, a link with a high bandwidth between the first remote computing node and the terminal device 110 may be used as the first channel, and a link with a low bandwidth may be used as the second channel, or a link with a low transmission delay and high reliability may be used as the first channel, and a link with a high transmission delay and low reliability may be used as the second channel.
In particular implementations, the first channel and the second channel may be determined by quality of service (QoS) techniques, where QoS techniques refer to a technique by which a network can provide better service capabilities for a given network communication using various underlying technologies and to address network delays and congestion.
It is understood that, in the case where the priority level of the first physical information is higher than that of the second physical information and the transmission performance of the first channel is better than that of the second channel, the first physical information may be transmitted to the rendering engine on the terminal device 110 before the second physical information.
S305, the rendering engine on the terminal device 110 determines whether the first physical information sent by the first remote computing node is received through the first channel and determines whether the second physical information sent by the first remote computing node is not received through the second channel, performs S306 in a case where it is determined that the first physical information is received through the first channel and the second physical information is not received through the second channel, performs S307 in a case where it is determined that the first physical information is received through the first channel and the second physical information is received through the second channel, and performs S308 in a case where it is determined that the first physical information is not received through the first channel and the second physical information is not received through the second channel.
In a specific embodiment of the present application, the rendering engine on the terminal device 110 may receive the first physical information within a preset time period, determine that the first physical information is received through the first channel and the second physical information is not received through the second channel in a case that the second physical information is not received, determine that the first physical information is received through the first channel and the second physical information is received through the second channel if the first physical information and the second physical information are received within the preset time period, and determine that the first physical information is not received through the first channel and the second physical information is not received through the second channel if the first physical information and the second physical information are not received within the preset time period.
The preset duration may be a duration from a time when the terminal device 110 sends the operation instruction to a time when the target scene is rendered, and the preset duration may be set by a rendering application developer according to an actual situation.
S306, rendering is carried out by the rendering engine on the terminal device 110 according to the first physical information, and a rendered image is obtained.
In a possible implementation manner, after receiving the first physical information, the rendering engine on the terminal device 110 may also obtain a rendered image according to the first physical information and a change result of the physical information of the first model and/or the second model corresponding to the first influence result, which is stored in advance.
In a specific embodiment of the present application, the rendering engine on the terminal device 110 may store a plurality of influence results and change results of physical information of models corresponding to the plurality of influence results in advance, and mapping relationships between the plurality of influence results, and as can be seen from the foregoing embodiment, the first physical information includes a first influence result of the first model in the target scene, and therefore, after receiving the first physical information, the rendering engine on the terminal device 110 may search, according to the first influence result of the first model included in the first physical information in the target scene, a change result having a mapping relationship with the first influence result from among the change results of physical information of the models corresponding to the plurality of influence results stored in advance, and then obtain the rendered image according to the first physical information and the searched change result.
In a specific implementation, the change result of the physical information of the model corresponding to the plurality of pre-stored influence results may be a default animation, for example, in the case that the pre-stored influence result is a position where the character model is hit by a bomb, the pre-stored change result may be a blood drop splash animation, in the case that the pre-stored influence result is a position where the character model jumps into the river model, the pre-stored change result may be a splash animation, and in the case that the pre-stored influence result is a position where the automobile model is hit by a bomb, the pre-stored change result may be a fragment splash animation of an automobile explosion.
And S307, rendering the image according to the first physical information and the second physical information by the rendering engine on the terminal device 110 to obtain a rendered image.
In a possible implementation manner, after receiving the first physical information and the second physical information, the rendering engine on the terminal device 110 may also obtain a rendered image according to the first physical information, the second physical information, and a change result of the physical information of the first model and/or the second model corresponding to the pre-stored influence result.
S308, the rendering engine on the terminal device 110 obtains a rendered image according to the pre-stored change result of the physical information of the first model and/or the second model corresponding to the influence result.
The execution of S303 to S304 may be performed in parallel or sequentially in any order.
In a specific embodiment of the present application, under the condition that the rendering engine on the terminal device 110 does not receive the first physical information and the second physical information, the terminal device 110 may obtain, according to the operation instruction, a second influence result of the first model in the target scene, then find, according to the second influence result, a change result having a mapping relationship with the second influence result from change results of physical information of models corresponding to a plurality of prestored influence results, and then obtain the rendered image according to the found change result.
Further, the second influence result of the first model in the target scene, which is obtained by the terminal device 110 according to the operation instruction, may include any one or more of the following: a second coordinate of the first model, a second velocity of the first model movement, a second acceleration of the first model movement, a second angle of the first model movement, a second direction of the first model movement, and so on; further, the second coordinate of the first model may be a rough position where the first model is hit by a bullet, a rough position where the first model is pushed down and falls off the cliff, a rough position where fragments of the first model are located after the first model is exploded by a bomb, or the like; the second velocity and second acceleration of the movement of the first form may be a rough velocity and a rough acceleration of the first form being pushed over the fall cliff, a rough velocity and a rough acceleration of the first form as it is bombed by a bomb, etc.; the second angle and the second direction of movement of the first model may be a rough angle and a rough direction in which the first model is shaken after the first model is hit by a bullet, a rough angle and a rough direction in which the first model flies after the first model is hit by a bomb, or the like.
In a specific embodiment of the present application, if the data size of the first physical information that the first remote computing node needs to transmit to the rendering engine on the terminal device 110 is relatively large, the first remote computing node may compress the first physical information, and send the compressed first physical information to the rendering engine on the terminal device 110. It can be understood that, compared with directly sending uncompressed first physical information to the rendering engine on the terminal device 110, sending compressed first physical information to the rendering engine on the terminal device 110 requires less bandwidth resources to be consumed, the transmission speed is faster, the time required for transmission is shorter, and the possibility that the rendering engine on the terminal device 110 receives the first physical information under a bad network condition can be further improved.
Similarly, if the data size of the second physical information that the first remote computing node needs to transmit to the rendering engine on the terminal device 110 is relatively large, the first remote computing node may compress the second physical information and send the compressed second physical information to the rendering engine on the terminal device 110. It can be understood that, compared with directly sending the uncompressed second physical information to the rendering engine on the terminal device 110, sending the compressed second physical information to the rendering engine on the terminal device 110 needs less bandwidth resources to be consumed, the transmission speed is faster, and the time duration required for transmission is shorter, which can further improve the possibility that the rendering engine on the terminal device 110 receives the second physical information under the condition that the network is not good.
In a specific embodiment of the present application, in a case that the first physical information and the second physical information that the first remote computing node needs to transmit to the rendering engine on the terminal device 110 are compressed information, the terminal device 110 may decompress the first physical information and the second physical information after receiving the first physical information and the second physical information.
It can be seen that the rendering method provided by the present application can enable the rendering engine on the terminal device 110 to preferentially receive the first physical information under the condition that the network is not good, so that it is not possible that all physical simulation results cannot be timely transmitted to the rendering engine on the terminal device 110, and after receiving the first physical information, the rendering engine on the terminal device 110 can timely render according to the first physical information to obtain a rendered image, thereby avoiding the phenomena of pause or stop in the running of the rendering application on the terminal device 110, and optimizing the experience of the user.
It can also be seen that, in the rendering method provided by the present application, when the rendering engine on the terminal device 110 does not receive the first physical information and the second physical information, the rendering image can also be obtained in time according to the change result of the physical information of the first model and/or the second model corresponding to the pre-stored influence result, so that the phenomena of pause or stop in running of the rendering application on the terminal device 110 are avoided, and the user experience is optimized.
When considering how to solve the problems of the rendering system shown in fig. 1, it can be seen that if the rendering engine is also separated from the terminal device 110 and deployed on the remote computing platform 130, the resources of the terminal device 110 can be further saved.
When the rendering engine is also deployed on remote computing platform 130, the rendering engine and the physics engine may be deployed on the same remote computing node or on different remote computing nodes, and in the case where the rendering engine and the physics engine are deployed on different remote computing nodes, the remote computing node where the rendering engine is located and the remote computing node where the physics engine is located may communicate over a network. In particular implementations, the rendering engine may be implemented by being deployed on a single remote computing node in remote computing platform 130, or by being co-deployed by multiple remote computing nodes in remote computing platform 130. For convenience of description, in the following embodiments, the rendering engine and the physics engine are both described by taking the example that the rendering engine and the physics engine are deployed in different remote computing nodes.
Referring to the rendering system shown in FIG. 4, the physics engine is deployed at a first remote computing node in the remote computing platform 130, the rendering engine is deployed at a second remote computing node in the remote computing platform 130, and the first remote computing node and the second remote computing node are in communication over a network.
In the rendering system shown in fig. 4, a user may input an operation instruction through a rendering application client, the rendering application client sends the operation instruction to a rendering application server on a first remote computing node through a network, the rendering application server on the first remote computing node calls a physical engine to generate a physical simulation result according to the operation instruction, then the first remote computing node sends the physical simulation result to a rendering application server on a second remote computing node through the network, the rendering application server on the second remote computing node calls the rendering engine to render according to the physical simulation result to obtain a rendered image, and the rendered image is sent to a terminal device 110 through the network and presented to the user.
It can be understood that, because the physical simulation result generated by the physical engine on the first remote computing node in the rendering system shown in fig. 4 needs to be sent to the rendering engine on the second remote computing node through the network, the problem of the rendering system shown in fig. 4 is the same as that of the rendering system shown in fig. 2, that is, if the network is not good, a situation may occur that the physical simulation result generated by the physical engine on the first remote computing node cannot be timely transmitted to the rendering engine on the second remote computing node, so that the rendering engine on the second remote computing node cannot render a rendered image according to the physical simulation result in time, and thus the running of the rendering application on the terminal device 110 is jammed or stopped, and the experience of the user is seriously affected.
In order to solve the above problem of the rendering system shown in fig. 4, the present application provides a rendering method, where after a first remote computing node invokes a physics engine to perform physics simulation on a target scene to obtain a physics simulation result, the physics simulation result may be divided into first physics information with a high priority level and second physics information with a low priority level, and then the first physics information and the second physics information are transmitted to a rendering engine on a second remote computing node through different channels, so that the rendering engine of the second remote computing node can preferentially receive the first physics information under a condition that a network is not good, so as to avoid that all the physics simulation results cannot be transmitted to the rendering engine on the second remote computing node in time, and after receiving the first physics information, the rendering engine on the second remote computing node may perform rendering in time according to the first physics information to obtain a rendered image, and transmit the rendered image to a terminal device 110 in time, thereby avoiding a phenomenon that running of a rendering application on the terminal device 110 is stuck or stopped, and optimizing user experience.
In order to facilitate a clearer understanding of the rendering method provided by the present application, the following is described in detail with reference to the interaction diagram shown in fig. 5, and as shown in fig. 5, the method may include the following steps:
s501, the first remote computing node receives an operation instruction.
In one possible implementation, the operation instruction received by the first remote computing node may be a rendering application client input by a user on the terminal device 110, and the rendering application client is directly sent to the first remote computing node through the network.
In another possible implementation, the operation instruction received by the first remote computing node may be input by a user to a rendering application client on the terminal device 110, and the rendering application client transmits the operation instruction to a rendering engine on the second remote computing node, and the operation instruction is sent to the first remote computing node by the rendering engine on the second remote computing node through a network.
S502, the first remote computing node calls the physical engine to generate a physical simulation result comprising first physical information and second physical information according to the operation instruction, wherein the priority level of the first physical information is higher than that of the second physical information.
S503, the first remote computing node sends the first physical information to a rendering engine on the second remote computing node through a first channel.
S504, the first remote computing node sends second physical information to a rendering engine on a second remote computing node through a second channel.
S505, the rendering engine on the second remote computing node determines whether the first physical information sent by the first remote computing node is received through the first channel and whether the second physical information sent by the first remote computing node is not received through the second channel, S506 is performed in a case where it is determined that the first physical information is received through the first channel and the second physical information is not received through the second channel, S507 is performed in a case where it is determined that the first physical information is received through the first channel and the second physical information is received through the second channel, and S508 is performed in a case where it is determined that the first physical information is not received through the first channel and the second physical information is not received through the second channel.
S506, rendering is conducted by the rendering engine on the second remote computing node according to the first physical information, and a rendered image is obtained.
In a possible implementation manner, after receiving the first physical information, the rendering engine on the second remote computing node may further obtain a rendered image according to the first physical information and a change result of the physical information of the first model and/or the second model corresponding to the pre-stored influence result.
And S507, rendering the image by the rendering engine on the second remote computing node according to the first physical information and the second physical information to obtain a rendered image.
In a possible implementation manner, after receiving the first physical information and the second physical information, the rendering engine on the second remote computing node may also obtain a rendered image according to the first physical information, the second physical information, and a change result of the physical information of the first model and/or the second model corresponding to the pre-stored influence result.
And S508, the rendering engine on the second remote computing node obtains a rendering image according to the pre-stored change result of the physical information of the first model and/or the second model corresponding to the influence result.
After obtaining the rendered image, the rendering engine on the second remote computing node may send the rendered image to terminal device 110 via the network.
The execution of S503 to S504 may be executed in parallel or sequentially in any order.
In a specific embodiment of the application, when the rendering engine on the second remote computing node does not receive the first physical information and the second physical information, the second remote computing node may obtain, according to the operation instruction, a second influence result of the first model in the target scene, then find, according to the second influence result, a change result having a mapping relationship with the second influence result from change results of physical information of models corresponding to a plurality of prestored influence results, and then obtain the rendered image according to the found change result.
In a specific embodiment of the present application, if the data size of the first physical information that the first remote computing node needs to transmit to the rendering engine on the second remote computing node is relatively large, the first remote computing node may compress the first physical information, and send the compressed first physical information to the rendering engine on the second remote computing node. It can be understood that, compared with directly sending uncompressed first physical information to the rendering engine on the second remote computing node, sending compressed first physical information to the rendering engine on the second remote computing node consumes less bandwidth resources, is faster in transmission speed, and requires shorter time for transmission, which can further improve the possibility that the rendering engine on the second remote computing node receives the first physical information under the condition that the network is not good.
Similarly, if the data size of the second physical information that the first remote computing node needs to transmit to the rendering engine on the second remote computing node is larger, the first remote computing node may compress the second physical information and send the compressed second physical information to the rendering engine on the second remote computing node. It can be understood that, compared with directly sending uncompressed second physical information to the rendering engine on the second remote computing node, sending the compressed second physical information to the rendering engine on the second remote computing node consumes less bandwidth resources, has a faster transmission speed, and requires a shorter time for transmission, and can further improve the possibility that the rendering engine on the second remote computing node receives the second physical information under a bad network condition.
In a specific embodiment of the present application, when the first physical information and the second physical information that the first remote computing node needs to transmit to the rendering engine on the second remote computing node are compressed information, the second remote computing node may decompress the first physical information and the second physical information after receiving the first physical information and the second physical information.
In the embodiment shown in fig. 5, the definitions of the operation instruction, the physical simulation result, the first physical information, the second physical information, the channel, the change result of the physical information of the first model and/or the second model corresponding to the pre-stored influence result, and the like are the same as the definitions of the operation instruction, the physical simulation result, the first physical information, the second physical information, the channel, the change result of the physical information of the first model and/or the second model corresponding to the pre-stored influence result, and the like in the embodiment shown in fig. 3, and specific reference may be made to the related description in the embodiment shown in fig. 3.
It can be seen that the rendering method provided by the application can enable the rendering engine on the second remote computing node to preferentially receive the first physical information under the condition that the network is not good, so that all physical simulation results cannot be timely transmitted to the rendering engine on the second remote computing node, and after receiving the first physical information, the rendering engine on the second remote computing node can timely render according to the first physical information to obtain a rendering image and timely send the obtained rendering image to the terminal device 110, thereby avoiding the phenomena of pause or stop in the running of the rendering application on the terminal device 110, and optimizing the experience of a user.
The rendering method provided by the present application is described in detail above, and based on the same inventive concept, the following description continues to describe the apparatus and system provided by the present application.
Referring to fig. 6, fig. 6 is a schematic structural diagram of a first remote computing node provided in the present application, and as shown in fig. 6, the first remote computing node 200 includes: a communication module 210, a rendering application server 220, and a physics engine 230, wherein,
the communication module 210 is configured to receive an operation instruction, and transmit the operation instruction to the rendering application server 220, where the operation instruction affects a three-dimensional model in a target scene;
the rendering application server 220 is configured to, after receiving the operation instruction, invoke the physics engine 230 to generate a physics simulation result according to the operation instruction;
the physical engine 230 is configured to generate a physical simulation result according to the operation instruction, where the physical simulation result includes first physical information and second physical information of the three-dimensional model after being influenced by the operation instruction;
the communication module 210 is further configured to send the first physical information to a rendering engine through a first channel, and send the second physical information to the rendering engine through a second channel, where a priority level of the first physical information is higher than a priority level of the second physical information.
In a possible implementation manner, the first physical information includes an influence result of a three-dimensional model of an operation object of the operation instruction in the target scene, and the second physical information includes a change of the physical information of the three-dimensional model of the operation object of the operation instruction and/or other three-dimensional models in the target scene caused by the influence result.
In one possible implementation manner, the first physical information includes any one or more of the following: coordinates of a three-dimensional model of the operation object, a moving speed, a moving acceleration, a moving angle, and a moving direction of the operation command.
In one possible implementation, before the communication module 210 sends the first physical information to the rendering engine through a first channel, the method further includes: the first remote computing node 200 compresses the first physical information.
In one possible implementation, the rendering engine is deployed at a second remote computing node or terminal device 110.
Referring to fig. 7, fig. 7 is a schematic structural diagram of a rendering engine 300, which is disposed in the second remote computing node or the terminal device 110. As shown in fig. 7, the rendering engine 300 includes: a sending module 310, a determining module 320, and a rendering module 330, wherein,
a sending module 310, configured to send an operation instruction to the first remote computing node 200, where the operation instruction is used to invoke a physics engine 230 in the first remote computing node 200 to generate a physics simulation result, where the operation instruction affects a three-dimensional model in a target scene, and the physics simulation result includes first physics information and second physics information of the three-dimensional model after being affected by the operation instruction;
a determining module 320, configured to determine that a first physical message sent by the first remote computing node 200 is received through a first channel and a second physical message sent by the first remote computing node 200 is not received through a second channel;
and the rendering module 330 is configured to perform rendering according to the first physical information to obtain a rendered image.
In a possible implementation manner, the rendering module 330 is specifically configured to: and obtaining the rendering image according to the first physical information and the pre-stored change results of the physical information of the three-dimensional model of the operation object of the operation instruction corresponding to the influence result and/or other three-dimensional models in the target scene.
In one possible implementation manner, the first physical information includes any one or more of the following: coordinates of a three-dimensional model of the operation object, a moving speed, a moving acceleration, a moving angle, and a moving direction of the operation command.
In a possible implementation manner, the rendering engine 300 receives the first physical information sent by the first remote computing node 200 through a first channel, and compresses the first physical information for the first remote computing node 200.
In the embodiments shown in fig. 6 and fig. 7, the definitions of the operation instruction, the physical simulation result, the first physical information, the second physical information, the channel, the change result of the physical information of the first model and/or the second model corresponding to the pre-stored influence result, and the like are the same as the definitions of the operation instruction, the physical simulation result, the first physical information, the second physical information, the channel, the change result of the physical information of the first model and/or the second model corresponding to the pre-stored influence result, and the like in the embodiment shown in fig. 3, and specific reference may be made to the relevant description in the embodiment shown in fig. 3.
It should be understood that the first remote computing node 200 shown in FIG. 6 and the rendering engine 300 shown in FIG. 7 are but one example provided herein, and that the first remote computing node 200 may have more or fewer components than those shown in FIG. 6, may combine two or more components, or may have a different configuration implementation of components, and that the rendering engine 300 may have more or fewer components than those shown in FIG. 7, may combine two or more components, or may have a different configuration implementation of components.
The present application also provides a computing device cluster 40, where the computing device cluster 40 may be configured to deploy a first remote computing node 200 shown in fig. 6 to perform the rendering method shown in fig. 3 or the steps performed by the first remote computing node in the rendering method shown in fig. 5, and the computing device cluster 40 may also be configured to deploy a rendering engine 300 shown in fig. 7 to perform the steps performed by the rendering engine in the rendering method shown in fig. 5. As shown in fig. 8, the computing device cluster 40 includes at least one computing device 400.
In particular, where the computing device cluster 40 includes only one computing device 400, all of the modules in the first remote computing node 200 shown in fig. 6 may be deployed in the one computing device 400: communication module 210, rendering application server 220, and physics engine 230, or, deploying all of the modules in rendering engine 300 shown in fig. 7: a sending module 310, a determining module 320, and a rendering module 330.
Where the computing device cluster 40 includes a plurality of computing devices 400, each computing device 400 in the plurality of computing devices 400 may be used to deploy a portion of the modules in the first remote computing node 200 shown in fig. 6 or the rendering engine 300 shown in fig. 7, or two or more computing devices 400 in the plurality of computing devices 400 may be used in common to deploy one or more modules in the first remote computing node 200 shown in fig. 6 or one or more modules in the rendering engine 300 shown in fig. 7.
Taking as an example that plurality of computing devices 400 includes two computing devices, computing device 400A and computing device 400B, for deploying first remote computing node 200 shown in fig. 6, computing device 400A may be used to deploy communication module 210, computing device 400B may be used to deploy rendering application server 220 and physics engine 230, or computing device 400A may be used to deploy communication module 210, computing device 400A may also be used to co-deploy rendering application server 220 and physics engine 230 with computing device 400B, or computing device 400A and computing device 400B may co-deploy communication module 210, rendering application server 220, and physics engine 230.
Taking the example of the plurality of computing devices 400 including three computing devices, computing device 400C, computing device 400D, and computing device 400E, for deploying rendering engine 300 shown in fig. 7, computing device 400C may be for deploying sending module 310, computing device 400D may be for deploying determining module 320, computing device 400D may be for deploying rendering module 330, or computing device 400C may be for deploying sending module 310, computing device 400D and computing device 400E together deploy determining module 320 and rendering module 330.
It is to be appreciated that in particular implementations, computing device cluster 40 may include computing device 400A, computing device 400B, computing device 400C, computing device 400D, and computing device 400E of the above examples simultaneously.
In a specific implementation, all of the at least one computing device 400 included in the computing device cluster 40 may be a terminal device, or all of the computing device may be a cloud server, or a part of the computing device may be a cloud server, and a part of the computing device is a terminal device, which is not specifically limited herein.
More specifically, each computing device 400 in the computing device cluster 40 may include a processor 410, a memory 420, a communication interface 430, and the like, the memory 420 in one or more computing devices 400 in the computing device cluster 40 may store the same codes (which may also be referred to as instructions or program instructions, and the like) for executing the rendering method provided by the present application, the processor 410 may read the codes from the memory 420 and execute the codes to implement the rendering method provided by the present application, and the communication interface 430 may be used for implementing communication between each computing device 400 and other devices.
In some possible implementations, each computing device 400 in computing device cluster 40 may also communicate with other device connections over a network. Wherein the network may be a wide area network or a local area network, etc.
The following describes the computing device 400 provided in the present application in detail with reference to fig. 9 by taking an example in which all modules of the first remote computing node 200 are deployed on one computing device 400.
Referring to fig. 9, computing device 400 includes: a processor 410, a memory 420, and a communication interface 430, wherein the processor 410, the memory 420, and the communication interface 430 may be connected to each other through a bus 440. Wherein, the first and the second end of the pipe are connected with each other,
the processor 410 may read code stored in the memory 420 in cooperation with the communication interface 430 to perform some or all of the steps of the rendering method performed by the first remote computing node 200 in the above-described embodiments of the present application.
The processor 410 may have various specific implementations, for example, the processor 410 may be a Central Processing Unit (CPU) or a Graphics Processing Unit (GPU), and the processor 410 may also be a single-core processor or a multi-core processor. The processor 410 may be a combination of a CPU and a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a Programmable Logic Device (PLD), or a combination thereof. The PLD may be a Complex Programmable Logic Device (CPLD), a field-programmable gate array (FPGA), a General Array Logic (GAL), or any combination thereof. The processor 410 may also be implemented using logic devices with built-in processing logic, such as an FPGA or a Digital Signal Processor (DSP).
The memory 420 may store code as well as data. Wherein the code comprises: code of the communication module 210, code of the rendering application server 220, code of the physics engine 230, and the like, and data includes: operational instructions, physical simulation results, first physical information and second physical information, and so on.
In practical applications, the memory 420 may be a non-volatile memory, such as a read-only memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically Erasable PROM (EEPROM), or a flash memory. Memory 420 may also be volatile memory, which may be Random Access Memory (RAM), that acts as external cache memory.
The communication interface 430 may be a wired interface (e.g., an ethernet interface) or a wireless interface (e.g., a cellular network interface or using a wireless local area network interface) for communicating with other computing nodes or devices. When communication interface 430 is a wired interface, communication interface 430 may employ a protocol family over transmission control protocol/internet protocol (TCP/IP), such as Remote Function Call (RFC) protocol, simple Object Access Protocol (SOAP) protocol, simple Network Management Protocol (SNMP) protocol, common Object Request Broker Architecture (CORBA) protocol, and distributed protocol, etc.
The bus 440 may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The bus 440 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown in FIG. 9, but this does not indicate only one bus or one type of bus.
The computing device 400 is configured to execute the method in the rendering method embodiment, and belongs to the same concept as the method embodiment, and specific implementation processes thereof are described in the method embodiment, and are not described herein again.
It should be understood that computing device 400 is only one example provided herein and that computing device 400 may have more or fewer components than shown in FIG. 9, may combine two or more components, or may have a different configuration implementation of components.
The present application also provides a rendering system that may include the first remote computing node 200 shown in fig. 6 and the rendering engine 300 shown in fig. 7.
The present application also provides a non-transitory computer-readable storage medium, in which codes are stored, and when the codes are executed on a processor, the codes can implement part or all of the steps of the rendering method described in the above embodiments.
The present application further provides a computer program product comprising instructions which, when executed by a cluster of computing devices, cause the cluster of computing devices to carry out some or all of the steps of the rendering method described in the above embodiments.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the above embodiments, it may be wholly or partially implemented by software, hardware, or any combination thereof. When implemented in software, it may be implemented in whole or in part in the form of a computer program product. The computer program product may comprise code. When the computer program product is read and executed by a computer, some or all of the steps of the rendering method described in the above method embodiments may be implemented. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (e.g., coaxial cable, fiber optic, digital subscriber line) or wirelessly (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that includes one or more available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), optical medium, or semiconductor medium, among others.
The steps in the method of the embodiment of the application can be sequentially adjusted, combined or deleted according to actual needs; the units in the device of the embodiment of the application can be divided, combined or deleted according to actual needs.
The foregoing detailed description of the embodiments of the present application has been presented to illustrate the principles and implementations of the present application, and the above description of the embodiments is only provided to help understand the method and the core concept of the present application; meanwhile, for a person skilled in the art, according to the idea of the present application, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present application.

Claims (16)

1. A rendering method applied to a remote computing node, the remote computing node including a physics engine, the method comprising:
the remote computing node calls the physical engine to generate a physical simulation result according to an operation instruction, the operation instruction is sent to the remote computing node by a rendering engine, the operation instruction influences a three-dimensional model in a target scene, and the physical simulation result comprises first physical information and second physical information of the three-dimensional model after the three-dimensional model is influenced by the operation instruction;
the remote computing node sends the first physical information to the rendering engine through a first channel and sends the second physical information to the rendering engine through a second channel, wherein the priority level of the first physical information is higher than that of the second physical information.
2. The method according to claim 1, wherein the first physical information includes an influence result of a three-dimensional model of an operation object of the operation instruction within the target scene, and the second physical information includes a change in physical information of the three-dimensional model of the operation object of the operation instruction and/or other three-dimensional models within the target scene caused by the influence result.
3. The method according to claim 1 or 2, wherein the first physical information comprises any one or more of:
coordinates of a three-dimensional model of the operation object, a moving speed, a moving acceleration, a moving angle, and a moving direction of the operation command.
4. The method of any of claims 1 to 3, wherein prior to the remote computing node sending the first physical information to the rendering engine over a first channel, the method further comprises:
the remote computing node compresses the first physical information.
5. The method of any of claims 1 to 4, wherein the rendering engine is deployed at a remote computing node or a terminal device.
6. A rendering method, applied to a rendering engine, the method comprising:
the rendering engine sends an operation instruction to a remote computing node, wherein the operation instruction is used for calling a physical engine in the remote computing node to generate a physical simulation result, the operation instruction influences a three-dimensional model in a target scene, and the physical simulation result comprises first physical information and second physical information of the three-dimensional model after the three-dimensional model is influenced by the operation instruction;
the rendering engine determines that first physical information sent by the remote computing node is received through a first channel and second physical information sent by the remote computing node is not received through a second channel, wherein the priority level of the first physical information is higher than that of the second physical information;
and rendering by the rendering engine according to the first physical information to obtain a rendered image.
7. The method according to claim 6, wherein the first physical information includes an influence result of a three-dimensional model of an operation object of the operation instruction within the target scene, and the second physical information includes a change in physical information of the three-dimensional model of the operation object of the operation instruction and/or other three-dimensional models within the target scene caused by the influence result.
8. The method of claim 7, wherein the rendering according to the first physical information, resulting in a rendered image, comprises:
and obtaining the rendering image according to the first physical information and the pre-stored change results of the physical information of the three-dimensional model of the operation object of the operation instruction corresponding to the influence result and/or other three-dimensional models in the target scene.
9. The method according to any one of claims 6 to 8, wherein the first physical information comprises any one or more of:
coordinates of a three-dimensional model of the operation object, a moving speed, a moving acceleration, a moving angle, and a moving direction of the operation command.
10. The method of any of claims 6 to 9, wherein the rendering engine receives the first physical information sent by the remote computing node through a first channel and compresses the first physical information for the remote computing node.
11. A remote computing node, the remote computing node comprising:
a communication module for receiving an operation instruction, the operation instruction affecting a three-dimensional model in a target scene;
the physical engine is used for generating a physical simulation result according to the operation instruction, and the physical simulation result comprises first physical information and second physical information of the three-dimensional model after the three-dimensional model is influenced by the operation instruction;
the communication module is further configured to send the first physical information to a rendering engine through a first channel, and send the second physical information to the rendering engine through a second channel, where a priority level of the first physical information is higher than a priority level of the second physical information.
12. A rendering engine, characterized in that the rendering engine comprises:
the sending module is used for sending an operation instruction to the remote computing node, wherein the operation instruction is used for calling a physical engine in the remote computing node to generate a physical simulation result, the operation instruction influences a three-dimensional model in a target scene, and the physical simulation result comprises first physical information and second physical information of the three-dimensional model after the three-dimensional model is influenced by the operation instruction;
a determining module, configured to determine that first physical information sent by the remote computing node is received through a first channel, and that second physical information sent by the remote computing node is not received through a second channel;
and the rendering module is used for rendering according to the first physical information to obtain a rendered image.
13. A rendering system, comprising a remote computing node according to claim 11 and a rendering engine according to claim 12.
14. A non-transitory computer-readable storage medium storing instructions for implementing the method of any one of claims 1 to 10.
15. A computer program product comprising instructions which, when executed by a cluster of computing devices, cause the cluster of computing devices to perform the method of any of claims 1 to 10.
16. A cluster of computing devices comprising at least one computing device, each computing device comprising a processor and a memory; the processor of the at least one computing device is to execute instructions stored in the memory of the at least one computing device to cause the cluster of computing devices to perform the method of any of claims 1-10.
CN202110684730.8A 2021-06-21 2021-06-21 Rendering method, device and system Pending CN115512019A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110684730.8A CN115512019A (en) 2021-06-21 2021-06-21 Rendering method, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110684730.8A CN115512019A (en) 2021-06-21 2021-06-21 Rendering method, device and system

Publications (1)

Publication Number Publication Date
CN115512019A true CN115512019A (en) 2022-12-23

Family

ID=84500431

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110684730.8A Pending CN115512019A (en) 2021-06-21 2021-06-21 Rendering method, device and system

Country Status (1)

Country Link
CN (1) CN115512019A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117611472A (en) * 2024-01-24 2024-02-27 四川物通科技有限公司 Fusion method for metaspace and cloud rendering

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117611472A (en) * 2024-01-24 2024-02-27 四川物通科技有限公司 Fusion method for metaspace and cloud rendering
CN117611472B (en) * 2024-01-24 2024-04-09 四川物通科技有限公司 Fusion method for metaspace and cloud rendering

Similar Documents

Publication Publication Date Title
CN109395372B (en) Method, system and electronic equipment for realizing remote control of computer game by gamepad
CA2814420C (en) Load balancing between general purpose processors and graphics processors
CN108057249B (en) Service data processing method and device
CN112915542B (en) Collision data processing method and device, computer equipment and storage medium
CN112169322B (en) Remote rendering method and device, electronic equipment and readable storage medium
WO2022252547A1 (en) Rendering method, device and system
EP3200885A1 (en) System and methods for generating interactive virtual environments
JP2023513717A (en) IMAGE PROCESSING METHOD AND DEVICE, SERVER AND COMPUTER PROGRAM
CN112023402B (en) Game data processing method, device, equipment and medium
US11704859B2 (en) System and method for accelerated ray tracing
CN112473130A (en) Scene rendering method and device, cluster, storage medium and electronic equipment
CN113398580A (en) Game scene generation method and device, storage medium and electronic device
CN115512019A (en) Rendering method, device and system
JP2023072019A (en) System and method for acceleration ray tracing by asynchronous operation and light ray transformation
CN109731337B (en) Method and device for creating special effect of particles in Unity, electronic equipment and storage medium
CN117453396A (en) Task data processing method and device based on edge calculation and electronic equipment
US20150106497A1 (en) Communication destination determination apparatus, communication destination determination method, communication destination determination program, and game system
CN113360200A (en) Method and device for running target program embedded page
CN115705673A (en) Rendering method, device and storage medium
Saito et al. Realtime Physics Simulation of Large Virtual Space with Docker Containers
CN113590334B (en) Method, device, medium and electronic equipment for processing character model
Wen et al. GBooster: Towards Acceleration of GPU-Intensive Mobile Applications
US11876685B1 (en) Locally predicting state using a componentized entity simulation
CN118260059A (en) Task processing method and related equipment
US10293250B2 (en) Game device, game system, control method, and control program

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