CN111462289B - Image rendering method, device and system - Google Patents

Image rendering method, device and system Download PDF

Info

Publication number
CN111462289B
CN111462289B CN202010334334.8A CN202010334334A CN111462289B CN 111462289 B CN111462289 B CN 111462289B CN 202010334334 A CN202010334334 A CN 202010334334A CN 111462289 B CN111462289 B CN 111462289B
Authority
CN
China
Prior art keywords
task
rendered
intermediate state
state data
rendering
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.)
Active
Application number
CN202010334334.8A
Other languages
Chinese (zh)
Other versions
CN111462289A (en
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.)
Xian Wanxiang Electronics Technology Co Ltd
Original Assignee
Xian Wanxiang Electronics Technology 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 Xian Wanxiang Electronics Technology Co Ltd filed Critical Xian Wanxiang Electronics Technology Co Ltd
Priority to CN202010334334.8A priority Critical patent/CN111462289B/en
Publication of CN111462289A publication Critical patent/CN111462289A/en
Application granted granted Critical
Publication of CN111462289B publication Critical patent/CN111462289B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

The application discloses a rendering method, device and system of an image. Wherein the method comprises the following steps: processing the task to be rendered to obtain intermediate state data corresponding to the task to be rendered; transmitting intermediate state data corresponding to the task to be rendered to a server; and receiving image data obtained by rendering the intermediate state data by the server through a display card driver local to the server. The application solves the technical problems of higher cost and lower utilization rate caused by the requirement of configuring a high-performance physical display card in local equipment for rendering the image at present.

Description

Image rendering method, device and system
Technical Field
The application relates to the field of image rendering, in particular to a method, a device and a system for rendering images.
Background
Most of the current image rendering uses a graphics processor to render at a local device, which requires that a graphics card device must be present at a rendering host of the local device. In order to achieve a better rendering effect, a high-performance physical display card is generally configured on a local device, and the price of the high-performance physical display card is higher, so that the cost of the device is increased when the high-performance physical display card is configured on the local device. Furthermore, since the rendering task of the local device is limited, the rendering capability of the high-performance physical display card may be difficult to fully utilize. If a low-profile physical display card is selected, the rendering effect may not be as expected, although the device cost is reduced.
Aiming at the problems that the cost is high and the utilization rate is low due to the fact that a high-performance physical display card is required to be configured in local equipment for rendering an image at present, no effective solution is proposed at present.
Disclosure of Invention
The embodiment of the application provides a method, a device and a system for rendering an image, which at least solve the technical problems of higher cost and lower utilization rate caused by the fact that a high-performance physical display card is required to be configured in local equipment for rendering the image at present.
According to an aspect of an embodiment of the present application, there is provided a rendering method of an image, including: processing the task to be rendered to obtain intermediate state data corresponding to the task to be rendered; transmitting intermediate state data corresponding to the task to be rendered to a server; and receiving image data obtained by rendering the intermediate state data by the server through a display card driver local to the server.
Optionally, processing the task to be rendered to obtain intermediate state data corresponding to the task to be rendered, including: processing an open graphic library interface function called by a task to be rendered according to a three-dimensional computer graphic library to obtain intermediate state data corresponding to the task to be rendered, wherein the intermediate state data comprises a control state object and texture data, and the control state object comprises a plurality of parameters for rendering the task to be rendered.
Optionally, before processing the task to be rendered to obtain intermediate state data corresponding to the task to be rendered, the method further includes: modifying the function of a three-dimensional computer graphic library, wherein the three-dimensional computer graphic library runs on a client and is used for rendering a task to be rendered; and changing the library path of the three-dimensional computer graphic library loaded when the operating system running on the client is started into the library path of the modified three-dimensional computer graphic library.
Optionally, modifying the functionality of the three-dimensional computer graphics library includes: adding a function of establishing communication connection between the three-dimensional computer graphic library and a server; and adding the function of packaging the intermediate state data according to a preset protocol format by the three-dimensional computer graphic library.
Optionally, before sending the intermediate state data corresponding to the task to be rendered to the server, the method further includes: and packaging the intermediate state data according to a preset protocol format.
Optionally, the preset protocol format includes three fields, where a first field is a command of the data frame, a second field is an object to which the command of the current data frame belongs, and a third field is a data length of the current data frame.
According to another aspect of the embodiment of the present application, there is also provided another image rendering method, including: acquiring intermediate state data corresponding to a task to be rendered, which is sent by a client; analyzing the intermediate state data to obtain analyzed data; rendering the parsed data according to a display card driver local to the server.
Optionally, the intermediate state data includes: a control state object and texture data, the control state object comprising a plurality of parameters for rendering a task to be rendered.
Optionally, rendering the parsed data according to a graphics card driver local to the server, including: and calling a display card driver local to the server according to the open graphic library interface function to render the analyzed data.
Optionally, obtaining intermediate state data corresponding to the task to be rendered sent by the client includes: and obtaining intermediate state data corresponding to the task to be rendered, which is sent by one or more clients.
According to another aspect of the embodiment of the present application, there is also provided an image rendering system including: the system comprises a client and a server, wherein the client is used for processing a task to be rendered to obtain intermediate state data corresponding to the task to be rendered; the intermediate state data corresponding to the task to be rendered is sent to a server; the server is used for receiving intermediate state data corresponding to the task to be rendered, which is sent by the client; analyzing the intermediate state data to obtain analyzed data; and rendering the parsed data through a display card driver of the server.
According to another aspect of the embodiment of the present application, there is also provided an image rendering apparatus including: the processing module is used for processing the task to be rendered to obtain intermediate state data corresponding to the task to be rendered; the sending module is used for sending the intermediate state data corresponding to the task to be rendered to the server; and the receiving module is used for receiving image data obtained by rendering the intermediate state data through a local display card driver of the server.
According to another aspect of the embodiments of the present application, there is also provided another image rendering apparatus including: the acquisition module is used for acquiring intermediate state data corresponding to the task to be rendered, which is sent by the client; the analysis module is used for analyzing the intermediate state data to obtain analyzed data; and the rendering module is used for rendering the analyzed data according to the local display card drive of the server.
According to still another aspect of the embodiments of the present application, there is also provided a storage medium including a stored program, wherein the device in which the storage medium is controlled to perform the above image rendering method when the program runs.
According to still another aspect of the embodiments of the present application, there is also provided a processor for executing a program stored in a memory, wherein the program executes the above image rendering method.
In the embodiment of the application, the task to be rendered is processed to obtain the intermediate state data corresponding to the task to be rendered; transmitting intermediate state data corresponding to the task to be rendered to a server; the method comprises the steps that the image data obtained by rendering the intermediate state data through a local display card driver of a server is received, the intermediate state data of the rendering task of an image generated by the local device is sent to server-side equipment configured with a high-performance physical display card through a network, the rendering task of the local device is completed by the server-side equipment, and the remote of the rendering task is realized, so that the cost of the local device is reduced, the technical effect of improving the utilization rate of the high-performance physical display card configured by the server-side is realized, and the technical problems that the cost is high and the utilization rate is low because the high-performance physical display card is required to be configured in the local device for rendering the image at present are solved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this specification, illustrate embodiments of the application and together with the description serve to explain the application and do not constitute a limitation on the application. In the drawings:
FIG. 1 is a flow chart of a method of rendering an image according to an embodiment of the application;
FIG. 2 is an architecture diagram of an image rendering system according to an embodiment of the present application;
FIG. 3 is a schematic diagram of a frame structure of a preset protocol format according to an embodiment of the present application;
FIG. 4 is a flow chart of another method of rendering an image according to an embodiment of the application;
FIG. 5 is a block diagram of an image rendering system according to an embodiment of the present application;
fig. 6 is a block diagram of an image rendering apparatus according to an embodiment of the present application;
fig. 7 is a block diagram of another image rendering apparatus according to an embodiment of the present application.
Detailed Description
In order that those skilled in the art will better understand the present application, a technical solution in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in which it is apparent that the described embodiments are only some embodiments of the present application, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the present application without making any inventive effort, shall fall within the scope of the present application.
It should be noted that the terms "first," "second," and the like in the description and the claims of the present application and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the application described herein may be implemented in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
According to an embodiment of the present application, there is provided an embodiment of a rendering method of an image, it being noted that the steps shown in the flowchart of the drawings may be performed in a computer system such as a set of computer executable instructions, and that although a logical order is shown in the flowchart, in some cases the steps shown or described may be performed in an order different from that herein.
In the prior art, that is, the local device is configured with a physical graphics card, in a scenario where the local device completes the rendering task, the rendering task of the image generated by all application programs (including the virtual machine) in the Linux system must be implemented by calling an open source rendering library, that is, the image rendering task in the Linux system is completed through the mesa.
The mesa library is a three-dimensional computer graphics library with open source code under MIT license, and implements the application program interface of OpenGL in open source form.
For ease of understanding, the following describes the implementation of rendering tasks: the rendering task of an image of a 3D application is performed by the OpenGL interface function, but the specific implementation of the OpenGL function is performed by the measa library. The execution process of the rendering task mainly comprises two parts: a user layer and a kernel layer; the implementation of the user layer is mainly completed by a mesa library; the implementation of the kernel layer is completed by the graphics card driver. The Mesa library of the user layer mainly provides a unified interface for the display card driver of the kernel layer based on the logic and state control of the whole rendering task, and the display card driver of the kernel layer can control the physical display card to complete the rendering task according to the unified interface transferred by the user layer.
It is apparent that the physical graphic card is the final executor of the rendering task, and the measa library is mainly the control of intermediate state data of the execution process of the entire rendering task.
Based on the implementation process of the rendering task, the method and the device firstly send the generated intermediate state data of the rendering task to the server by the mesa library of the client, and then generate the image data corresponding to the rendering task by the physical display card of the server. The local device initiating the rendering task is a client, and the device actually executing the rendering task after zooming out is a server.
Therefore, the client side does not need to configure a physical display card, only needs to configure a high-performance physical display card by the server side, and rendering tasks of a plurality of client sides can be sent to the same server side to finish. The cost of the client equipment can be reduced, and the utilization rate of the physical display card of the server side can be improved.
Fig. 1 is a flowchart of a method of rendering an image according to an embodiment of the present application, as shown in fig. 1, the method including the steps of:
step S102, processing the task to be rendered to obtain intermediate state data corresponding to the task to be rendered.
According to an alternative embodiment of the present application, the task to be rendered refers to a task of rendering an image.
Step S104, the intermediate state data corresponding to the task to be rendered is sent to the server.
Step S106, receiving image data obtained by rendering the intermediate state data by the server through a display card driver local to the server.
Through the steps, the intermediate state data of the rendering task of the image generated by the local equipment is sent to the server-side equipment configured with the high-performance physical display card through the network, the rendering task of the local equipment is completed by the server-side equipment, and the remote of the rendering task is realized, so that the cost of the local equipment is reduced, and the technical effect of improving the utilization rate of the high-performance physical display card configured by the server-side is realized.
According to an alternative embodiment of the present application, before executing step S102, the function of the three-dimensional computer graphics library needs to be modified, where the three-dimensional computer graphics library runs on the client, and renders the task to be rendered by calling the open graphics library interface function; and changing the library path of the three-dimensional computer graphic library loaded when the operating system running on the client is started into the library path of the modified three-dimensional computer graphic library.
According to an alternative embodiment of the application, modifying the functionality of a three-dimensional computer graphics library comprises: adding a function of establishing communication connection between the three-dimensional computer graphic library and a server; and adding the function of packaging the intermediate state data according to a preset protocol format by the three-dimensional computer graphic library.
Fig. 2 is a schematic diagram of an image rendering system according to an embodiment of the present application, where, as shown in fig. 2, a mesa (i.e., a three-dimensional computer graphics library above) running by an operating system of a client includes a winsys module, where the winsys module is used to transfer intermediate state data to a graphics card driver of a kernel layer. In the application, the function of the winsys module needs to be modified in advance, and the modified function of the winsys module comprises the following two parts:
1) A network connection is established with a server side (server) by a winsys module, the network connection being used for transmitting intermediate state data to the server side.
2) And packaging and encapsulating the intermediate state data, and transmitting the intermediate state data to a server through an established network connection.
Specifically, a mesa LIBRARY including a modified winsys module meeting the above functional requirements may be preset, recorded as a modified mesa LIBRARY, and then a configuration environment variable (ld_LIBRARY_PATH) of the client is modified to change a loaded mesa LIBRARY PATH, and a loading PATH of the mesa LIBRARY is designated as the preset modified mesa LIBRARY, so that the client executes a rendering task by calling the modified mesa LIBRARY, thereby implementing zooming of the rendering task.
In an alternative embodiment of the present application, step S102 may be implemented by: processing an open graphic library interface function called by a task to be rendered according to a three-dimensional computer graphic library to obtain intermediate state data corresponding to the task to be rendered, wherein the intermediate state data comprises a control state object and texture data, and the control state object comprises a plurality of parameters for rendering the task to be rendered.
In particular implementations, the client sends rendering tasks generated by the application in the local device to the modified measa library.
In this step, since the path for loading the measa library has been modified in advance, the application in the local device can load the modified measa library for rendering at the time of rendering.
The modified meas library realizes specific rendering on the OpenGL interface function (open graphics library interface function) called in the application, and generates intermediate state data of the rendering task, wherein the intermediate state data comprises control state objects and texture data.
The control state object in the intermediate state data is a CSO (unchanged control state object), and mainly includes blending, depth, templates, rasterization, shader, and vertex elements.
Specifically, the intermediate state data includes control state objects and texture data, and is a unified data type when the mesa processes the OpenGL interface and then gives it to the driver. The method is equivalent to intercepting the intermediate state data (control state object and texture data) handed to the kernel layer by the user layer, and the client side does not call the display card driver, but sends the intermediate state data to the server side for processing after encapsulation.
According to an alternative embodiment of the present application, the intermediate state data is further encapsulated according to a predetermined protocol format before performing step S104.
The modified measa library encapsulates the intermediate state data according to a preset protocol format, generates encapsulated data, and sends the encapsulated data to a Server through a network.
In this step, the modified winsys module in the modified measa library encapsulates the intermediate state data according to a preset protocol format to obtain encapsulated data, and sends the encapsulated data to the Server through the network, so that the Server executes the rendering task according to the encapsulated data, and the remote of the rendering task is realized.
Fig. 3 is a schematic frame structure of a preset protocol format according to an embodiment of the present application, and as shown in fig. 3, a data frame after encapsulation includes three fields, where len is a data length of the data frame, OBJ is an object to which a command of a current data frame belongs, and CMD is a command in the current data frame. Note that OBJ may also be understood as an attribute of a task to be rendered.
The processing flow of the server side is as follows:
and step A, after receiving the encapsulated data, the server side obtains intermediate state data by analyzing the encapsulated data.
In this step, after receiving the encapsulated data, the main program (responsible for data reception and analysis) at the server side obtains intermediate state data by analyzing the encapsulated data.
And B, according to the control state object and the texture data in the intermediate state data, translating and analyzing the intermediate state data by calling an OpenGL interface function, so that the intermediate state data can be used for calling a local display card driver of a server side by using a Linux image stack to complete a rendering task, and the rendering effect identical to that of the client side is achieved.
Specifically, the server side directly uses the Linux image stack to render the graphics card by calling the OpenGL interface function, that is, the server side is equivalent to a 3D application program calling the OpenGL interface to normally realize the rendering operation of the image.
Fig. 4 is a flowchart of another image rendering method according to an embodiment of the present application, as shown in fig. 4, the method including the steps of:
step S402, obtaining intermediate state data corresponding to a task to be rendered, which is sent by a client.
Step S404, analyzing the intermediate state data to obtain analyzed data.
Step S406, the resolved data is rendered according to the local display card driver of the server.
According to an alternative embodiment of the present application, the intermediate state data includes: a control state object and texture data, the control state object comprising a plurality of parameters for rendering a task to be rendered.
In an alternative embodiment of the present application, step S406 may be implemented by: and calling a display card driver local to the server according to the open graphic library interface function to render the analyzed data.
The processing flow of the server side is as follows:
and step A, after receiving the encapsulated data, the server side obtains intermediate state data by analyzing the encapsulated data.
In this step, after receiving the encapsulated data, the main program (responsible for data reception and analysis) at the server side obtains intermediate state data by analyzing the encapsulated data.
And B, according to the control state object and the texture data in the intermediate state data, translating and analyzing the intermediate state data by calling an OpenGL interface function, so that the intermediate state data can be used for calling a local display card driver of a server side by using a Linux image stack to complete a rendering task, and the rendering effect identical to that of the client side is achieved.
Specifically, the server side directly uses the Linux image stack to render the graphics card by calling the OpenGL interface function, that is, the server side is equivalent to a 3D application program calling the OpenGL interface to normally realize the rendering operation of the image.
According to an alternative embodiment of the present application, intermediate state data corresponding to the task to be rendered sent by one or more clients may be obtained when step S402 is performed.
And sending the tasks to be rendered of the plurality of clients to a server for rendering, wherein the utilization rate of the high-performance physical display card configured by the server can be mentioned.
Fig. 5 is a block diagram of an image rendering system according to an embodiment of the present application, as shown in fig. 5, the system including: the client 50 and the server 52, wherein the client 50 is configured to process a task to be rendered to obtain intermediate state data corresponding to the task to be rendered; and transmits intermediate state data corresponding to the task to be rendered to the server 52; the server 52 is configured to receive intermediate state data corresponding to a task to be rendered sent by the client 50; analyzing the intermediate state data to obtain analyzed data; the parsed data is rendered by a graphics card driver local to the server 52.
According to the system, the intermediate state data of the rendering task of the image generated by the local equipment is sent to the server-side equipment configured with the high-performance physical display card through the network, the rendering task of the local equipment is completed by the server-side equipment, and the remote of the rendering task is realized, so that the cost of the local equipment is reduced, and the technical effect of improving the utilization rate of the high-performance physical display card configured by the server-side is realized.
It should be noted that, the preferred implementation manner of the embodiment shown in fig. 5 may refer to the related descriptions of the embodiments shown in fig. 1 and fig. 4, which are not repeated herein.
Fig. 6 is a block diagram of an image rendering apparatus according to an embodiment of the present application, as shown in fig. 6, the apparatus including:
the processing module 60 is configured to process the task to be rendered, and obtain intermediate state data corresponding to the task to be rendered.
And the sending module 62 is configured to send the intermediate state data corresponding to the task to be rendered to the server.
And the receiving module 64 is used for receiving image data obtained by rendering the intermediate state data by the server through a display card driver local to the server.
It should be noted that, the preferred implementation manner of the embodiment shown in fig. 6 may refer to the related description of the embodiment shown in fig. 1, which is not repeated herein.
Fig. 7 is a block diagram of another image rendering apparatus according to an embodiment of the present application, as shown in fig. 7, the apparatus including:
the obtaining module 70 is configured to obtain intermediate state data corresponding to a task to be rendered sent by the client.
The parsing module 72 is configured to parse the intermediate state data to obtain parsed data.
And the rendering module 74 is used for rendering the parsed data according to a display card driver local to the server.
It should be noted that, the preferred implementation manner of the embodiment shown in fig. 7 may refer to the related description of the embodiment shown in fig. 4, which is not repeated herein.
The embodiment of the application also provides a storage medium, which comprises a stored program, wherein the device where the storage medium is located is controlled to execute the image rendering method when the program runs.
The storage medium is used for storing a program that performs the following functions: processing the task to be rendered to obtain intermediate state data corresponding to the task to be rendered; transmitting intermediate state data corresponding to the task to be rendered to a server; and receiving image data obtained by rendering the intermediate state data by the server through a display card driver local to the server. Or alternatively
Acquiring intermediate state data corresponding to a task to be rendered, which is sent by a client; analyzing the intermediate state data to obtain analyzed data; rendering the parsed data according to a display card driver local to the server.
The embodiment of the application also provides a processor, which is used for running the program stored in the memory, wherein the program runs to execute the image rendering method.
The processor is configured to execute a program that performs the following functions: processing the task to be rendered to obtain intermediate state data corresponding to the task to be rendered; transmitting intermediate state data corresponding to the task to be rendered to a server; and receiving image data obtained by rendering the intermediate state data by the server through a display card driver local to the server. Or alternatively
Acquiring intermediate state data corresponding to a task to be rendered, which is sent by a client; analyzing the intermediate state data to obtain analyzed data; rendering the parsed data according to a display card driver local to the server.
The foregoing embodiment numbers of the present application are merely for the purpose of description, and do not represent the advantages or disadvantages of the embodiments.
In the foregoing embodiments of the present application, the descriptions of the embodiments are emphasized, and for a portion of this disclosure that is not described in detail in this embodiment, reference is made to the related descriptions of other embodiments.
In the several embodiments provided in the present application, it should be understood that the disclosed technology may be implemented in other manners. The above-described embodiments of the apparatus are merely exemplary, and the division of the units, for example, may be a logic function division, and may be implemented in another manner, for example, a plurality of units or components may be combined or may be integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be through some interfaces, units or modules, or may be in electrical or other forms.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be embodied essentially or in part or all of the technical solution or in part in the form of a software product stored in a storage medium, including instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U disk, a read-Only Memory (ROM), a random access Memory (RWXDZM, RWXDZndom WXDZccess Memory), a removable hard disk, a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The foregoing is merely a preferred embodiment of the present application and it should be noted that modifications and adaptations to those skilled in the art may be made without departing from the principles of the present application, which are intended to be comprehended within the scope of the present application.

Claims (14)

1. A method of rendering an image, comprising:
processing a task to be rendered to obtain intermediate state data corresponding to the task to be rendered;
transmitting the intermediate state data corresponding to the task to be rendered to a server;
receiving image data obtained by rendering the intermediate state data by the server through a local display card driver of the server;
processing a task to be rendered to obtain intermediate state data corresponding to the task to be rendered, wherein the processing comprises the following steps:
and processing the open graphic library interface function called by the task to be rendered according to a three-dimensional computer graphic library to obtain intermediate state data corresponding to the task to be rendered, wherein the intermediate state data comprises a control state object and texture data, and the control state object comprises a plurality of parameters for rendering the task to be rendered.
2. The method of claim 1, wherein before processing a task to be rendered to obtain intermediate state data corresponding to the task to be rendered, the method further comprises:
modifying the function of the three-dimensional computer graphic library, wherein the three-dimensional computer graphic library runs on a client and is used for rendering the task to be rendered;
and changing the library path of the three-dimensional computer graphic library loaded when the operating system running on the client is started into the modified library path of the three-dimensional computer graphic library.
3. The method of claim 2, wherein modifying the functionality of the three-dimensional computer graphics library comprises:
adding a function of establishing communication connection between the three-dimensional computer graphic library and the server;
and adding the function of packaging the intermediate state data according to a preset protocol format to the three-dimensional computer graphic library.
4. A method according to claim 3, wherein before sending the intermediate state data corresponding to the task to be rendered to a server, the method further comprises:
and packaging the intermediate state data according to the preset protocol format.
5. The method according to claim 3 or 4, wherein the preset protocol format includes three fields, wherein a first field is a command of a data frame, a second field is an object to which the command of the current data frame belongs, and a third field is a data length of the current data frame.
6. A method of rendering an image, comprising:
obtaining intermediate state data corresponding to a task to be rendered, which is sent by a client, wherein the client is used for processing the task to be rendered to obtain the intermediate state data corresponding to the task to be rendered, and the method comprises the following steps: processing an open graphic library interface function called by the task to be rendered according to a three-dimensional computer graphic library to obtain intermediate state data corresponding to the task to be rendered, wherein the intermediate state data comprises a control state object and texture data, and the control state object comprises a plurality of parameters for rendering the task to be rendered;
analyzing the intermediate state data to obtain analyzed data;
rendering the parsed data according to a display card driver local to the server.
7. The method of claim 6, wherein the intermediate state data comprises: control state objects and texture data, the control state objects comprising a plurality of parameters for rendering the task to be rendered.
8. The method of claim 6, wherein rendering the parsed data in accordance with a graphics card driver local to a server comprises:
and calling a display card driver local to the server according to the open graphic library interface function to render the parsed data.
9. The method of claim 6, wherein obtaining intermediate state data corresponding to the task to be rendered sent by the client comprises:
and obtaining intermediate state data corresponding to the task to be rendered, which is sent by one or more clients.
10. A system for rendering an image, comprising: a client and a server, wherein,
the client is used for processing the task to be rendered to obtain intermediate state data corresponding to the task to be rendered; the intermediate state data corresponding to the task to be rendered is sent to the server;
the server is used for receiving intermediate state data corresponding to the task to be rendered, which is sent by the client; analyzing the intermediate state data to obtain analyzed data; rendering the parsed data through a display card driver of the server;
the client is further used for processing the open graphic library interface function called by the task to be rendered according to the three-dimensional computer graphic library to obtain intermediate state data corresponding to the task to be rendered, wherein the intermediate state data comprises a control state object and texture data, and the control state object comprises a plurality of parameters for rendering the task to be rendered.
11. An image rendering apparatus, comprising:
the processing module is used for processing the task to be rendered to obtain intermediate state data corresponding to the task to be rendered;
the sending module is used for sending the intermediate state data corresponding to the task to be rendered to a server;
the receiving module is used for receiving image data obtained by rendering the intermediate state data through a local display card driver of the server;
the processing module is further configured to process the open graphics library interface function called by the task to be rendered according to a three-dimensional computer graphics library, so as to obtain intermediate state data corresponding to the task to be rendered, where the intermediate state data includes a control state object and texture data, and the control state object includes a plurality of parameters for rendering the task to be rendered.
12. An image rendering apparatus, comprising:
the obtaining module is configured to obtain intermediate state data corresponding to a task to be rendered sent by a client, where the client is configured to process the task to be rendered to obtain the intermediate state data corresponding to the task to be rendered, and the obtaining module includes: processing an open graphic library interface function called by the task to be rendered according to a three-dimensional computer graphic library to obtain intermediate state data corresponding to the task to be rendered, wherein the intermediate state data comprises a control state object and texture data, and the control state object comprises a plurality of parameters for rendering the task to be rendered;
the analysis module is used for analyzing the intermediate state data to obtain analyzed data;
and the rendering module is used for rendering the parsed data according to a local display card driver of the server.
13. A storage medium comprising a stored program, wherein the program, when run, controls a device in which the storage medium is located to perform the method of rendering an image according to any one of claims 1 to 9.
14. A processor for executing a program stored in a memory, wherein the program is executed to perform the image rendering method of any one of claims 1 to 9.
CN202010334334.8A 2020-04-24 2020-04-24 Image rendering method, device and system Active CN111462289B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010334334.8A CN111462289B (en) 2020-04-24 2020-04-24 Image rendering method, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010334334.8A CN111462289B (en) 2020-04-24 2020-04-24 Image rendering method, device and system

Publications (2)

Publication Number Publication Date
CN111462289A CN111462289A (en) 2020-07-28
CN111462289B true CN111462289B (en) 2023-10-24

Family

ID=71685487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010334334.8A Active CN111462289B (en) 2020-04-24 2020-04-24 Image rendering method, device and system

Country Status (1)

Country Link
CN (1) CN111462289B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116893816B (en) * 2023-09-08 2024-01-23 北京趋动智能科技有限公司 Remote rendering method, device and storage medium
CN117472371A (en) * 2023-10-09 2024-01-30 北京趋动智能科技有限公司 Remote rendering method, device and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105262961A (en) * 2015-10-21 2016-01-20 北京中科大洋科技发展股份有限公司 Multi-lens editing method based on cluster rendering
CN106557002A (en) * 2015-09-30 2017-04-05 日本冲信息株式会社 Image forming apparatus and image forming method
CN108765534A (en) * 2018-05-24 2018-11-06 武汉斗鱼网络科技有限公司 A kind of image rendering method, device, equipment and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103701807B (en) * 2013-12-26 2016-08-24 华为技术有限公司 Data transmission method for uplink under a kind of VDI environment and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106557002A (en) * 2015-09-30 2017-04-05 日本冲信息株式会社 Image forming apparatus and image forming method
CN105262961A (en) * 2015-10-21 2016-01-20 北京中科大洋科技发展股份有限公司 Multi-lens editing method based on cluster rendering
CN108765534A (en) * 2018-05-24 2018-11-06 武汉斗鱼网络科技有限公司 A kind of image rendering method, device, equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
金平 ; 张海东 ; 齐越 ; 沈旭昆 ; .基于远程渲染的三维模型发布系统.北京航空航天大学学报.2006,(03),全文. *

Also Published As

Publication number Publication date
CN111462289A (en) 2020-07-28

Similar Documents

Publication Publication Date Title
US10354430B2 (en) Image update method, system, and apparatus
CN108563517B (en) Calling method and device of system interface
US20170323418A1 (en) Virtualized gpu in a virtual machine environment
CN111488196B (en) Rendering method and device, storage medium and processor
CN114968478A (en) Data processing method, device, server and system
US11395027B2 (en) Methods and systems for request-based graphics rendering at a multi-access server
CN111462289B (en) Image rendering method, device and system
US8654134B2 (en) Command remoting
CN110213265B (en) Image acquisition method, image acquisition device, server and storage medium
US20240096007A1 (en) Rendering Method, Device, and System
CN111984114A (en) Multi-person interaction system based on virtual space and multi-person interaction method thereof
CN108762934A (en) Remote graphics Transmission system, method and Cloud Server
CN112307403A (en) Page rendering method, device, storage medium and terminal
CN107729049A (en) Instruct conversion method, equipment and computer-readable recording medium
CN113240571A (en) Image processing system, method and program
CN114268779B (en) Image data processing method, device, equipment and computer readable storage medium
KR101580605B1 (en) Graphic model architecture with output method for fast output mobile application based HTML5 WebGL
CN114077489A (en) Model loading method and related device
CN114327790A (en) Rendering method of Android container based on Linux system
US10062140B2 (en) Graphics processing systems
CN112416470B (en) Command execution method and device, storage medium and electronic device
CN113051032A (en) Application picture processing method, device and system
CN113835890A (en) Rendering data processing method, device, equipment and storage medium
CN112416489A (en) Engineering drawing display method and related device
CN112070655A (en) Application rendering method, system, device, storage medium and processor

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
GR01 Patent grant
GR01 Patent grant