CN116893816B - Remote rendering method, device and storage medium - Google Patents

Remote rendering method, device and storage medium Download PDF

Info

Publication number
CN116893816B
CN116893816B CN202311161027.4A CN202311161027A CN116893816B CN 116893816 B CN116893816 B CN 116893816B CN 202311161027 A CN202311161027 A CN 202311161027A CN 116893816 B CN116893816 B CN 116893816B
Authority
CN
China
Prior art keywords
rendering
vertex
array
interface
coordinate
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
CN202311161027.4A
Other languages
Chinese (zh)
Other versions
CN116893816A (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.)
Vita Technology Beijing Co ltd
Original Assignee
Vita Technology Beijing 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 Vita Technology Beijing Co ltd filed Critical Vita Technology Beijing Co ltd
Priority to CN202311161027.4A priority Critical patent/CN116893816B/en
Publication of CN116893816A publication Critical patent/CN116893816A/en
Application granted granted Critical
Publication of CN116893816B publication Critical patent/CN116893816B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Image Generation (AREA)

Abstract

The disclosure relates to a remote rendering method, a device and a storage medium, belonging to the field of image rendering, wherein the method comprises the following steps: the method comprises the steps of obtaining a graphic library interface sequence, wherein the graphic library interface sequence comprises a first graphic library interface which cannot determine a first rendering resource according to self parameters, a second graphic library interface which can determine a second rendering resource according to self parameters and a drawing interface; determining second rendering resources according to parameters of a second graphic library interface in sequence based on the graphic library interface sequence, and sequentially sending the second rendering resources to a server; determining a first rendering resource according to a first parameter of the first graphic library interface and a second parameter of the drawing interface; transmitting the first rendering resource and the drawing interface to a server; receiving a rendering result returned by the server, wherein the rendering result is obtained after the server draws rendering resources to be drawn. The problem of error of synchronous rendering resources caused by incapability of sending the first rendering resources to the server can be avoided.

Description

Remote rendering method, device and storage medium
Technical Field
The disclosure relates to the technical field of image rendering, and in particular relates to a remote rendering method, a device and a storage medium.
Background
Currently, remote rendering needs to intercept a forwarding instruction and create a target rendering environment on a server, so that rendering resources of a terminal device need to be synchronized to the server. In the related art, the rendering resources of the terminal device may be synchronized to the server in real time in a manner consistent with the instruction forwarding sequence, however, in the process of the real-time synchronization, the rendering resources may not be directly determined according to the parameters of the instruction, so that the resource synchronization is wrong.
Disclosure of Invention
To overcome the problems in the related art, the present disclosure provides a remote rendering method, apparatus, and storage medium.
According to a first aspect of embodiments of the present disclosure, there is provided a remote rendering method, the method comprising:
the method comprises the steps of obtaining a graphic library interface sequence, wherein the graphic library interface sequence comprises a first graphic library interface incapable of determining a first rendering resource according to self parameters, a second graphic library interface capable of determining a second rendering resource according to self parameters and a drawing interface, and the drawing interface is used for indicating the rendering resource to be drawn;
determining the second rendering resources according to parameters of the second graphic library interface in sequence based on the graphic library interface sequence, and transmitting the second rendering resources to a server in sequence;
determining the first rendering resource according to the first parameter of the first graphic library interface and the second parameter of the drawing interface;
transmitting the first rendering resource and the drawing interface to the server;
receiving a rendering result returned by the server, wherein the rendering result is obtained after the server draws the rendering resource to be drawn, and the rendering resource to be drawn is obtained according to the first rendering resource and the second rendering resource.
In some embodiments, the first parameter includes a number of coordinates of each vertex in a specified vertex array, a data type of each coordinate in the vertex array, an offset between two adjacent vertices in the vertex array, and a vertex coordinate array including coordinate values of a plurality of vertex coordinates, and the second parameter includes an index of a first vertex to be drawn and a number of vertices to be drawn;
the determining the first rendering resource according to the first parameter of the first graphic library interface and the second parameter of the drawing interface includes:
determining the array length of the vertex coordinate array according to the coordinate number, the index and the vertex number;
and determining the first rendering resource according to the array length, the coordinate number, the data type, the offset and the vertex coordinate array.
In some embodiments, the determining the array length of the vertex coordinate array according to the number of coordinates, the index, and the number of vertices includes:
summing according to the index and the vertex number to determine an intermediate value;
and carrying out product operation according to the intermediate value and the coordinate number, and determining the array length.
In some embodiments, the determining the first rendering resource according to the array length, the number of coordinates, the data type, the offset, and the array of vertex coordinates comprises:
determining a target vertex coordinate array from the vertex coordinate arrays according to the array length;
and determining the first rendering resource according to the coordinate number, the data type, the offset and the target vertex coordinate array.
In some embodiments, the sending the first rendering resource and the rendering interface to the server includes:
sending the first rendering resource to the server;
and sending the drawing interface to the server.
In some embodiments, the obtaining a sequence of graphics library interfaces includes:
the sequence of graphics library interfaces is obtained in response to launching an application.
According to a second aspect of embodiments of the present disclosure, there is provided a remote rendering apparatus, comprising:
the system comprises an acquisition module, a drawing module and a drawing module, wherein the acquisition module is configured to acquire a graphic library interface sequence, the graphic library interface sequence comprises a first graphic library interface which cannot determine a first rendering resource according to own parameters, a second graphic library interface which can determine a second rendering resource according to own parameters and the drawing interface is used for indicating the rendering resource to be drawn;
the first sending module is configured to determine the second rendering resources according to parameters of the second graphic library interface in sequence based on the graphic library interface sequence, and send the second rendering resources to a server in sequence;
a determining module configured to determine the first rendering resource according to a first parameter of the first graphics library interface and a second parameter of the drawing interface;
a second sending module configured to send the first rendering resource and the drawing interface to the server;
the receiving module is configured to receive a rendering result returned by the server, wherein the rendering result is obtained after the server draws the rendering resource to be drawn, and the rendering resource to be drawn is obtained according to the first rendering resource and the second rendering resource.
In some embodiments, the first parameter includes a number of coordinates of each vertex in a specified vertex array, a data type of each coordinate in the vertex array, an offset between two adjacent vertices in the vertex array, and a vertex coordinate array including coordinate values of a plurality of vertex coordinates, and the second parameter includes an index of a first vertex to be drawn and a number of vertices to be drawn; the determination module is further configured to:
determining the array length of the vertex coordinate array according to the coordinate number, the index and the vertex number;
and determining the first rendering resource according to the array length, the coordinate number, the data type, the offset and the vertex coordinate array.
In some embodiments, the determination module is further configured to:
summing according to the index and the vertex number to determine an intermediate value;
and carrying out product operation according to the intermediate value and the coordinate number, and determining the array length.
In some embodiments, the determination module is further configured to:
determining a target vertex coordinate array from the vertex coordinate arrays according to the array length;
and determining the first rendering resource according to the coordinate number, the data type, the offset and the target vertex coordinate array.
In some embodiments, the second transmitting module is further configured to:
sending the first rendering resource to the server;
and sending the drawing interface to the server.
In some embodiments, the acquisition module is further configured to:
the sequence of graphics library interfaces is obtained in response to launching an application.
According to a third aspect of embodiments of the present disclosure, there is provided a remote rendering apparatus, comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to:
the method comprises the steps of obtaining a graphic library interface sequence, wherein the graphic library interface sequence comprises a first graphic library interface incapable of determining a first rendering resource according to self parameters, a second graphic library interface capable of determining a second rendering resource according to self parameters and a drawing interface, and the drawing interface is used for indicating the rendering resource to be drawn;
determining the second rendering resources according to parameters of the second graphic library interface in sequence based on the graphic library interface sequence, and transmitting the second rendering resources to a server in sequence;
determining the first rendering resource according to the first parameter of the first graphic library interface and the second parameter of the drawing interface;
transmitting the first rendering resource and the drawing interface to the server;
receiving a rendering result returned by the server, wherein the rendering result is obtained after the server draws the rendering resource to be drawn, and the rendering resource to be drawn is obtained according to the first rendering resource and the second rendering resource.
According to a fourth aspect of embodiments of the present disclosure, there is provided a computer readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement the steps of the remote rendering method provided by the first aspect of the present disclosure.
The technical scheme provided by the embodiment of the disclosure can comprise the following beneficial effects: before the drawing interface is sent, the first rendering resource is determined through the first parameter and the second parameter, so that the problem of error of synchronous rendering resources caused by incapability of sending the first rendering resource to a server can be avoided, the remote rendering method can be used for more rendering software, invalid data is prevented from being sent, the performance of remote rendering is improved, and the problem of memory leakage is avoided.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the disclosure and together with the description, serve to explain the principles of the disclosure.
FIG. 1 is a schematic diagram illustrating a process of remote rendering of real-time graphics library API synchronization in the related art, according to an example embodiment.
FIG. 2 is a flow chart illustrating a remote rendering method according to an exemplary embodiment.
FIG. 3 is an exemplary flow chart illustrating a remote rendering method according to an exemplary embodiment.
Fig. 4 is a block diagram illustrating a remote rendering apparatus according to an exemplary embodiment.
Fig. 5 is a block diagram illustrating a remote rendering apparatus according to an exemplary embodiment.
Detailed Description
Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, the same numbers in different drawings refer to the same or similar elements, unless otherwise indicated. The implementations described in the following exemplary examples are not representative of all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with some aspects of the present disclosure as detailed in the accompanying claims.
As described in the background art, in the related art, the rendering resources of the terminal device may be synchronized to the server in real time in a manner consistent with the instruction forwarding sequence, however, in the process of the real-time synchronization, the rendering resources may not be directly determined according to the parameters of the instruction, so that the resource synchronization is wrong.
In some embodiments, the instructions may be a graphics library API (Application Programming Interface ), and it should be noted that the graphics library interface described below is an abbreviation of the graphics library API. Illustratively, taking fig. 1 as an example, fig. 1 is a schematic diagram illustrating a process of remote rendering of real-time graphics library API synchronization in the related art according to an exemplary embodiment. As shown in fig. 1, the terminal device may call the graphics library API1-APIn sequentially, copy the rendering resources of the graphics library API1-APIn from the memory sequentially, send the rendering resources to the server, and after the server performs rendering, return a rendering result to the terminal device. The rendering resource of each graphics library API can be obtained according to the parameters of the graphics library API and the length of the parameters.
However, for some graphics library APIs, the terminal device cannot obtain the length of some parameters when it calls it, so that the rendering resources of the graphics library API cannot be obtained, and further, the rendering resources of the graphics library API cannot be sent to the server for rendering. And an application program written by the graphic library API cannot support a remote rendering process synchronized by adopting the real-time graphic library API.
Further, if a long segment of data is sent to the server in real time for the accuracy of the application program rendering, the server obtains the rendering resources not obtained before, which can result in the generation of redundant data, and the data sending amount is large, which can cause the performance of the application program to be reduced, and the risk of memory leakage can also cause the program crash.
In view of this, the disclosure proposes a remote rendering method, apparatus and storage medium.
Fig. 2 is a flowchart illustrating a remote rendering method according to an exemplary embodiment, which is applied to a terminal device as shown in fig. 2, and may include the following steps.
Step 210, obtaining a graphic library interface sequence, wherein the graphic library interface sequence comprises a first graphic library interface incapable of determining a first rendering resource according to self parameters, a second graphic library interface capable of determining a second rendering resource according to self parameters and a drawing interface, and the drawing interface is used for indicating the rendering resource to be drawn.
In some embodiments, obtaining a sequence of graphics library interfaces may include: in response to launching the application, a graphics library interface sequence is obtained. The graphic library interfaces in the graphic library interface sequence are arranged according to the interface calling sequence or the interface sending sequence.
In some embodiments, the sequence of graphics library interfaces may be obtained from OpenGL (Open Graphics Library ). By way of example, a sequence of graphics library interfaces according to OpenGL may include the following graphics library interfaces: glVertexPointer, glMultMatrixd, glMatrixMode, glDrawArrays, the meaning of the graphic library interface representation may be referred to in the related art, and will not be described herein.
In some embodiments, the first graphics library interface may be used to describe an array of vertices, e.g., the first graphics library interface may be glvertex pointer. The first parameters of the first graphics library interface may include: the method comprises the steps of specifying the number of coordinates of each vertex in a vertex array, the data type of each coordinate in the vertex array, the offset between two adjacent vertices in the vertex array and a vertex coordinate array, wherein the vertex coordinate array comprises coordinate values of a plurality of vertex coordinates.
In some embodiments, the number of coordinates may be 2, 3, or 4. Illustratively, taking the example that the number of coordinates is 2, the vertex coordinate array includes coordinate values of n vertex coordinates, the vertex coordinate array may be (X1, Y1, X2, Y2, X3, Y3, … …, xn, yn), where X1 and Y1 respectively represent the abscissa and ordinate of the 1 st vertex, X2 and Y2 respectively represent the abscissa and ordinate of the 2 nd vertex, X3 and Y3 respectively represent the abscissa and ordinate of the 3 rd vertex, and so on, xn and Yn respectively represent the abscissa and ordinate of the n-th vertex.
In some embodiments, the rendering interface may be a gldraw array, and the second parameter of the rendering interface may include an index of the first vertex to be rendered, the number of vertices to be rendered, and a rendering mode between vertices to be rendered. The drawing mode may include: drawing only points, drawing line segments between vertexes or drawing planes formed by vertexes, and the like.
In some embodiments, the second graphics library interface may include glMultMatrixd and glmatrixode in a sequence of graphics library interfaces.
Step 220, based on the graphic library interface sequence, determining the second rendering resources according to the parameters of the second graphic library interface in turn, and sending the second rendering resources to the server in turn.
The second rendering resource of the second graphics library interface may be determined directly from parameters of the second graphics library interface, e.g., parameters of the second graphics library interface may be used as the second rendering resource. The second rendering resource of the second graphics library interface may also be determined from the parameters and the parameter length, which in a possible implementation may be known in the second graphics library interface.
Step 230, determining a first rendering resource according to the first parameter of the first graphics library interface and the second parameter of the drawing interface.
As described above, the first parameter includes the number of coordinates of each vertex in the specified vertex array, the data type of each coordinate in the vertex array, the offset between two adjacent vertices in the vertex array, and the vertex coordinate array, which includes the coordinate values of the plurality of vertex coordinates, and the second parameter includes the index of the first vertex to be drawn and the number of vertices to be drawn. Correspondingly, determining the first rendering resource according to the first parameter of the first graphics library interface and the second parameter of the drawing interface may include: determining the array length of the vertex coordinate array according to the number of coordinates, the index and the number of vertexes; and determining a first rendering resource according to the array length, the coordinate number, the data type, the offset and the vertex coordinate array.
The rendering resources to be drawn may include an array of vertices to be drawn, such that the drawing interface may be used to indicate the array of vertices to be drawn, which may be determined from the specified array of vertices, e.g., may be all or part of the specified array of vertices. When the drawing interface is used, image data can be drawn according to the coordinate data in the vertex array to be drawn and the specified mode. For more functions of the drawing interface, reference may be made to the related art, and will not be described here. Illustratively, the parameters included with the drawing interface "gldragwrarrays" are: (GL_TRIANGLE, 0, 3) for example, wherein the parameter may indicate that the drawing mode is GL_TRIANGLE, the index of the first vertex to be drawn is 0, the number of vertices to be drawn is 3, and GL_TRIANGLE indicates that the drawing mode draws TRIANGLEs between every three vertices, and no connection is made between the vertices.
Since the terminal device does not know the information of the vertex array to be drawn at this time when the first graphics library interface is transmitted in the process of sequentially transmitting the graphics library interfaces in the sequence of the graphics library interfaces, the vertex coordinates included in the vertex coordinate array may be greater than the vertex coordinates of the vertex array to be drawn. Therefore, the array length of the vertex coordinate array cannot be determined according to the first parameter of the first graphics library interface, and thus, the vertex coordinate array of the first graphics library interface cannot be determined.
Because the rendering interface can indicate the rendering resources to be rendered, the method and the device can determine the first rendering resources through the first parameters and the second parameters before sending the rendering interface, can avoid the problem of error of synchronous rendering resources caused by incapability of sending the first rendering resources to a server, enable the remote rendering method of the present disclosure to be compatible with graphics library APIs of different versions, be used for more rendering software, avoid sending invalid data, improve the performance of remote rendering, avoid the problem of memory leakage, and provide smoother use scene for remote rendering.
In some embodiments, determining the array length of the vertex coordinate array from the number of coordinates, the index, and the number of vertices includes: summing operation is carried out according to the index and the number of the vertexes, and an intermediate value is determined; and carrying out product operation according to the intermediate value and the coordinate number to determine the array length.
Illustratively, parameters included with the first graphics library interface "glveritexpointer" are (2, gl_flow, 0, points), and parameters included with the drawing interface "gldragwrarrays" are: (gl_trigger, 0, 3) for example, wherein the parameters included in the first graphics library interface may represent: the number of coordinates is 2, the data type is gl_flow, the offset is 0, the vertex coordinate array is points, and the meaning of each parameter in the drawing interface can be referred to the related description, which is not repeated here. Then, the array length can be obtained as 6 by (0+3) ·2=6.
In some embodiments, determining the first rendering resource from the array length, the number of coordinates, the data type, the offset, and the array of vertex coordinates comprises: determining a target vertex coordinate array from the vertex coordinate arrays according to the array length; and determining a first rendering resource according to the coordinate number, the data type, the offset and the target vertex coordinate array.
For example, still taking the aforementioned array length of 6 and vertex coordinate array of (X1, Y1, X2, Y2, X3, Y3, … …, xn, yn) as an example, the target vertex coordinate array may be (X1, Y1, X2, Y2, X3, Y3), and the first rendering resource may be (2, gl_flow, 0, X1, Y1, X2, Y2, X3, Y3).
Step 240, the first rendering resource and the rendering interface are sent to the server.
In some embodiments, sending the first rendering resource and the rendering interface to the server comprises: transmitting the first rendering resource to a server; and sending the drawing interface to a server.
Step 250, receiving a rendering result returned by the server, wherein the rendering result is obtained after the server draws the rendering resource to be drawn, and the rendering resource to be drawn is obtained according to the first rendering resource and the second rendering resource.
In some embodiments, the rendering resources to be drawn may be all or part of the first rendering resources and the second rendering resources. The present disclosure does not impose any limitation on this.
In order to more clearly illustrate the process of remote rendering of the present disclosure, an exemplary description of the process will be provided below in connection with fig. 3. As shown in fig. 3, the graphics library interface sequence may include API1-APIn arranged in sequence, where API1 is a first graphics library interface, API2-APIn-1 is a second graphics library interface, and APIn is a drawing interface, and then the terminal device 301 may sequentially send API2, API3, and up to APIn-1, then calculate rendering resources of API1, send the rendering resources of API1 to the server 302, and then send APIn to the server 302, where the server 302 returns a rendering result to the terminal device 301. The process of sequentially sending the API2, the API3, and up to the APIn-1, then sending the rendering resource of the API1, and finally sending the APIn may be referred to as a delay synchronization process. In some embodiments, the server may be a remote node.
Fig. 4 is a block diagram illustrating a remote rendering apparatus 400 according to an exemplary embodiment, and the remote rendering apparatus 400 may be applied to a terminal device. Referring to fig. 4, the remote rendering apparatus 400 may include:
an obtaining module 410, configured to obtain a graphics library interface sequence, where the graphics library interface sequence includes a first graphics library interface that cannot determine a first rendering resource according to its own parameters, a second graphics library interface that can determine a second rendering resource according to its own parameters, and a drawing interface, where the drawing interface is used to indicate a rendering resource to be drawn;
a first sending module 420, configured to determine, based on the sequence of graphics library interfaces, the second rendering resources sequentially according to parameters of the second graphics library interface, and send, in turn, the second rendering resources to a server;
a determining module 430 configured to determine the first rendering resource according to a first parameter of the first graphics library interface and a second parameter of the drawing interface;
a second sending module 440 configured to send the first rendering resource and the drawing interface to the server;
the receiving module 450 is configured to receive a rendering result returned by the server, where the rendering result is obtained after the server draws the rendering resource to be drawn, and the rendering resource to be drawn is obtained according to the first rendering resource and the second rendering resource.
In some embodiments, the first parameter includes a number of coordinates of each vertex in a specified vertex array, a data type of each coordinate in the vertex array, an offset between two adjacent vertices in the vertex array, and a vertex coordinate array including coordinate values of a plurality of vertex coordinates, and the second parameter includes an index of a first vertex to be drawn and a number of vertices to be drawn; the determination module 430 is further configured to:
determining the array length of the vertex coordinate array according to the coordinate number, the index and the vertex number;
and determining the first rendering resource according to the array length, the coordinate number, the data type, the offset and the vertex coordinate array.
In some embodiments, the determination module 430 is further configured to:
summing according to the index and the vertex number to determine an intermediate value;
and carrying out product operation according to the intermediate value and the coordinate number, and determining the array length.
In some embodiments, the determination module 430 is further configured to:
determining a target vertex coordinate array from the vertex coordinate arrays according to the array length;
and determining the first rendering resource according to the coordinate number, the data type, the offset and the target vertex coordinate array.
In some embodiments, the second transmitting module 440 is further configured to:
sending the first rendering resource to the server;
and sending the drawing interface to the server.
In some embodiments, the acquisition module 410 is further configured to:
the sequence of graphics library interfaces is obtained in response to launching an application.
With respect to the remote rendering apparatus in the above-described embodiments, a specific manner in which each module performs an operation has been described in detail in the embodiments of the related remote rendering method, and will not be described in detail herein.
The present disclosure also provides a computer readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement the steps of the remote rendering method provided by the present disclosure.
Fig. 5 is a block diagram illustrating a remote rendering device 500 according to an example embodiment. For example, the apparatus 500 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, an exercise device, a personal digital assistant, or the like.
Referring to fig. 5, an apparatus 500 may include one or more of the following components: a processing component 502, a memory 504, a power supply component 506, a multimedia component 508, an audio component 510, an input/output interface 512, a sensor component 514, and a communication component 516.
The processing component 502 generally controls overall operation of the apparatus 500, such as operations associated with display, telephone calls, data communications, camera operations, and recording operations. The processing component 502 may include one or more processors 520 to execute instructions to perform all or part of the steps of the remote rendering method described above. Further, the processing component 502 can include one or more modules that facilitate interactions between the processing component 502 and other components. For example, the processing component 502 can include a multimedia module to facilitate interaction between the multimedia component 508 and the processing component 502.
The memory 504 is configured to store various types of data to support operations at the apparatus 500. Examples of such data include instructions for any application or method operating on the apparatus 500, contact data, phonebook data, messages, pictures, videos, and the like. The memory 504 may be implemented by any type or combination of volatile or nonvolatile memory devices such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disk.
The power supply component 506 provides power to the various components of the device 500. The power components 506 may include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power for the device 500.
The multimedia component 508 includes a screen between the device 500 and the user that provides an output interface. In some embodiments, the screen may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from a user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensor may sense not only the boundary of a touch or slide action, but also the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 508 includes a front-facing camera and/or a rear-facing camera. The front-facing camera and/or the rear-facing camera may receive external multimedia data when the apparatus 500 is in an operational mode, such as a photographing mode or a video mode. Each front camera and rear camera may be a fixed optical lens system or have focal length and optical zoom capabilities.
The audio component 510 is configured to output and/or input audio signals. For example, the audio component 510 includes a Microphone (MIC) configured to receive external audio signals when the device 500 is in an operational mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signals may be further stored in the memory 504 or transmitted via the communication component 516. In some embodiments, the audio component 510 further comprises a speaker for outputting audio signals.
The input/output interface 512 provides an interface between the processing component 502 and peripheral interface modules, which may be keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to: homepage button, volume button, start button, and lock button.
The sensor assembly 514 includes one or more sensors for providing status assessment of various aspects of the apparatus 500. For example, the sensor assembly 514 may detect the on/off state of the device 500, the relative positioning of the components, such as the display and keypad of the device 500, the sensor assembly 514 may also detect a change in position of the device 500 or one of the components in the device 500, the presence or absence of user contact with the device 500, the orientation of the device 500, or a change in temperature of the acceleration/deceleration device 500. The sensor assembly 514 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor assembly 514 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 514 may also include an acceleration sensor, a gyroscopic sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
The communication component 516 is configured to facilitate communication between the apparatus 500 and other devices in a wired or wireless manner. The apparatus 500 may access a wireless network based on a communication standard, such as WiFi,2G or 3G, or a combination thereof. In one exemplary embodiment, the communication component 516 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 516 further includes a Near Field Communication (NFC) module to facilitate short range communications. For example, the NFC module may be implemented based on Radio Frequency Identification (RFID) technology, infrared data association (IrDA) technology, ultra Wideband (UWB) technology, bluetooth (BT) technology, and other technologies.
In an exemplary embodiment, the apparatus 500 may be implemented by one or more Application Specific Integrated Circuits (ASICs), digital Signal Processors (DSPs), digital Signal Processing Devices (DSPDs), programmable Logic Devices (PLDs), field Programmable Gate Arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic elements for performing the above-described remote rendering method.
In an exemplary embodiment, a non-transitory computer readable storage medium is also provided, such as memory 504, including instructions executable by processor 520 of apparatus 500 to perform the remote rendering method described above. For example, the non-transitory computer readable storage medium may be ROM, random Access Memory (RAM), CD-ROM, magnetic tape, floppy disk, optical data storage device, etc.
In another exemplary embodiment, a computer program product is also provided, comprising a computer program executable by a programmable apparatus, the computer program having code portions for performing the above-described remote rendering method when executed by the programmable apparatus.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure. This disclosure is intended to cover any adaptations, uses, or adaptations of the disclosure following the general principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It is to be understood that the present disclosure is not limited to the precise arrangements and instrumentalities shown in the drawings, and that various modifications and changes may be effected without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (8)

1. A remote rendering method, characterized by being applied to a terminal device, the method comprising:
the method comprises the steps of obtaining a graphic library interface sequence, wherein the graphic library interface sequence comprises a first graphic library interface incapable of determining a first rendering resource according to self parameters, a second graphic library interface capable of determining a second rendering resource according to self parameters and a drawing interface, and the drawing interface is used for indicating the rendering resource to be drawn;
determining the second rendering resources according to parameters of the second graphic library interface in sequence based on the graphic library interface sequence, and transmitting the second rendering resources to a server in sequence;
determining the first rendering resource according to the first parameter of the first graphic library interface and the second parameter of the drawing interface;
transmitting the first rendering resource and the drawing interface to the server;
receiving a rendering result returned by the server, wherein the rendering result is obtained after the server draws the rendering resource to be drawn, and the rendering resource to be drawn is obtained according to the first rendering resource and the second rendering resource;
the first parameter comprises the coordinate number of each vertex in a specified vertex array, the data type of each coordinate in the vertex array, the offset between two adjacent vertices in the vertex array and the vertex coordinate array, the vertex coordinate array comprises coordinate values of a plurality of vertex coordinates, and the second parameter comprises the index of a first vertex to be drawn and the number of the vertices to be drawn;
the determining the first rendering resource according to the first parameter of the first graphic library interface and the second parameter of the drawing interface includes:
determining the array length of the vertex coordinate array according to the coordinate number, the index and the vertex number;
and determining the first rendering resource according to the array length, the coordinate number, the data type, the offset and the vertex coordinate array.
2. The remote rendering method according to claim 1, wherein the determining an array length of the vertex coordinate array according to the coordinate number, the index, and the vertex number comprises:
summing according to the index and the vertex number to determine an intermediate value;
and carrying out product operation according to the intermediate value and the coordinate number, and determining the array length.
3. The remote rendering method of claim 1, wherein the determining the first rendering resource according to the array length, the number of coordinates, the data type, the offset, and the array of vertex coordinates comprises:
determining a target vertex coordinate array from the vertex coordinate arrays according to the array length;
and determining the first rendering resource according to the coordinate number, the data type, the offset and the target vertex coordinate array.
4. The remote rendering method of claim 1, wherein the sending the first rendering resource and the rendering interface to the server comprises:
sending the first rendering resource to the server;
and sending the drawing interface to the server.
5. The remote rendering method of claim 1, wherein the obtaining a sequence of graphics library interfaces comprises:
the sequence of graphics library interfaces is obtained in response to launching an application.
6. A remote rendering apparatus, characterized by being applied to a terminal device, comprising:
the system comprises an acquisition module, a drawing module and a drawing module, wherein the acquisition module is configured to acquire a graphic library interface sequence, the graphic library interface sequence comprises a first graphic library interface which cannot determine a first rendering resource according to own parameters, a second graphic library interface which can determine a second rendering resource according to own parameters and the drawing interface is used for indicating the rendering resource to be drawn;
the first sending module is configured to determine the second rendering resources according to parameters of the second graphic library interface in sequence based on the graphic library interface sequence, and send the second rendering resources to a server in sequence;
a determining module configured to determine the first rendering resource according to a first parameter of the first graphics library interface and a second parameter of the drawing interface;
a second sending module configured to send the first rendering resource and the drawing interface to the server;
the receiving module is configured to receive a rendering result returned by the server, wherein the rendering result is obtained after the server draws the rendering resource to be drawn, and the rendering resource to be drawn is obtained according to the first rendering resource and the second rendering resource;
the first parameter comprises the coordinate number of each vertex in a specified vertex array, the data type of each coordinate in the vertex array, the offset between two adjacent vertices in the vertex array and the vertex coordinate array, the vertex coordinate array comprises coordinate values of a plurality of vertex coordinates, and the second parameter comprises the index of a first vertex to be drawn and the number of the vertices to be drawn;
the determination module is further configured to:
determining the array length of the vertex coordinate array according to the coordinate number, the index and the vertex number;
and determining the first rendering resource according to the array length, the coordinate number, the data type, the offset and the vertex coordinate array.
7. A remote rendering apparatus, comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to:
the method comprises the steps of obtaining a graphic library interface sequence, wherein the graphic library interface sequence comprises a first graphic library interface incapable of determining a first rendering resource according to self parameters, a second graphic library interface capable of determining a second rendering resource according to self parameters and a drawing interface, and the drawing interface is used for indicating the rendering resource to be drawn;
determining the second rendering resources according to parameters of the second graphic library interface in sequence based on the graphic library interface sequence, and transmitting the second rendering resources to a server in sequence;
determining the first rendering resource according to the first parameter of the first graphic library interface and the second parameter of the drawing interface;
transmitting the first rendering resource and the drawing interface to the server;
receiving a rendering result returned by the server, wherein the rendering result is obtained after the server draws the rendering resource to be drawn, and the rendering resource to be drawn is obtained according to the first rendering resource and the second rendering resource;
the first parameter comprises the coordinate number of each vertex in a specified vertex array, the data type of each coordinate in the vertex array, the offset between two adjacent vertices in the vertex array and the vertex coordinate array, the vertex coordinate array comprises coordinate values of a plurality of vertex coordinates, and the second parameter comprises the index of a first vertex to be drawn and the number of the vertices to be drawn;
the determining the first rendering resource according to the first parameter of the first graphic library interface and the second parameter of the drawing interface includes:
determining the array length of the vertex coordinate array according to the coordinate number, the index and the vertex number;
and determining the first rendering resource according to the array length, the coordinate number, the data type, the offset and the vertex coordinate array.
8. A computer readable storage medium having stored thereon computer program instructions, which when executed by a processor, implement the steps of the remote rendering method of any of claims 1 to 5.
CN202311161027.4A 2023-09-08 2023-09-08 Remote rendering method, device and storage medium Active CN116893816B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311161027.4A CN116893816B (en) 2023-09-08 2023-09-08 Remote rendering method, device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311161027.4A CN116893816B (en) 2023-09-08 2023-09-08 Remote rendering method, device and storage medium

Publications (2)

Publication Number Publication Date
CN116893816A CN116893816A (en) 2023-10-17
CN116893816B true CN116893816B (en) 2024-01-23

Family

ID=88315191

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311161027.4A Active CN116893816B (en) 2023-09-08 2023-09-08 Remote rendering method, device and storage medium

Country Status (1)

Country Link
CN (1) CN116893816B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593184A (en) * 2013-10-31 2014-02-19 福州瑞芯微电子有限公司 Image displaying system and image displaying method
CN108765534A (en) * 2018-05-24 2018-11-06 武汉斗鱼网络科技有限公司 A kind of image rendering method, device, equipment and storage medium
CN111163345A (en) * 2018-11-07 2020-05-15 杭州海康威视系统技术有限公司 Image rendering method and device
CN111462289A (en) * 2020-04-24 2020-07-28 西安万像电子科技有限公司 Image rendering method, device and system
CN116527748A (en) * 2023-06-26 2023-08-01 亚信科技(中国)有限公司 Cloud rendering interaction method and device, electronic equipment and storage medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5891426B2 (en) * 2011-03-31 2016-03-23 パナソニックIpマネジメント株式会社 An image drawing apparatus, an image drawing method, and an image drawing program for drawing an all-around stereoscopic image
JP6066755B2 (en) * 2013-02-07 2017-01-25 株式会社ソニー・インタラクティブエンタテインメント Drawing processing apparatus and drawing processing method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593184A (en) * 2013-10-31 2014-02-19 福州瑞芯微电子有限公司 Image displaying system and image displaying method
CN108765534A (en) * 2018-05-24 2018-11-06 武汉斗鱼网络科技有限公司 A kind of image rendering method, device, equipment and storage medium
CN111163345A (en) * 2018-11-07 2020-05-15 杭州海康威视系统技术有限公司 Image rendering method and device
CN111462289A (en) * 2020-04-24 2020-07-28 西安万像电子科技有限公司 Image rendering method, device and system
CN116527748A (en) * 2023-06-26 2023-08-01 亚信科技(中国)有限公司 Cloud rendering interaction method and device, electronic equipment and storage medium

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Mobile Augmented Reality for Low-End Devices Based on Planar Surface Recognition and Optimized Vertex Data Rendering;Styliani Verykokoua等;《applied sciences》;第1-29 *
OPENGL ES中几个重要函数详细说明;IT_Learner123;《ChinaUnix》;第1-12页 *
OpenGL顶点数组;陌陌;《博客园》;第1-8页 *

Also Published As

Publication number Publication date
CN116893816A (en) 2023-10-17

Similar Documents

Publication Publication Date Title
CN106778773B (en) Method and device for positioning target object in picture
EP3147802A1 (en) Method and apparatus for processing information
CN109117144B (en) Page processing method, device, terminal and storage medium
CN105763552B (en) Transmission method, device and system in remote control
CN110989901A (en) Interactive display method and device for image positioning, electronic equipment and storage medium
US20200249967A1 (en) Information reminding method and device, terminal and storage medium
US11600300B2 (en) Method and device for generating dynamic image
CN112331158B (en) Terminal display adjusting method, device, equipment and storage medium
CN109587188B (en) Method and device for determining relative position relationship between terminal devices and electronic device
EP3667453A1 (en) Drone control method and device, drone and core network device
CN110221813B (en) Application data connection establishment method and device, storage medium and electronic equipment
CN112035691A (en) Method, device, equipment and medium for displaying cell labeling data of slice image
CN111354444A (en) Pathological section image display method and device, electronic equipment and storage medium
CN107885464B (en) Data storage method, device and computer readable storage medium
CN116893816B (en) Remote rendering method, device and storage medium
CN113778687B (en) Memory allocation information processing method and device, electronic equipment and storage medium
CN112954596B (en) Data sharing method, device, equipment and storage medium
CN111538543B (en) Lost article searching method, lost article searching device and storage medium
CN117472371A (en) Remote rendering method, device and storage medium
CN109754452B (en) Image rendering processing method and device, electronic equipment and storage medium
CN112102009A (en) Advertisement display method, device, equipment and storage medium
CN111724398A (en) Image display method and device
CN111078346A (en) Target object display method and device, electronic equipment and storage medium
CN114443161B (en) Application docking method, device, equipment and storage medium
CN111241097B (en) Method for processing object, device for processing object and storage medium

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