Method, device, equipment, medium and product for constructing custom rendering node

By constructing a configuration file for a custom rendering node and rendering elements based on the node, the problems of low rendering efficiency and error susceptibility in existing technologies are solved, thereby expanding the rendering functionality and improving efficiency.

CN115993959BActive Publication Date: 2026-03-03BOOMING TECH (HANGZHOU) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-01-13
Publication Date
2026-03-03

Smart Images

  • Figure CN115993959B_ABST
    Figure CN115993959B_ABST
Patent Text Reader

Abstract

The application discloses a method and device for constructing a custom rendering node, equipment, media and products, belonging to the technical field of computers. The method comprises: obtaining node rendering elements corresponding to at least one rendering node in a rendering pipeline; in response to the construction operation of the custom rendering node, using the node rendering elements as a template to construct a configuration file for realizing a second rendering function; and based on the configuration file, obtaining the custom rendering node for realizing the second rendering function, wherein the configuration file refers to a custom file for realizing the second rendering function constructed outside the rendering pipeline. The above method constructs a configuration file for realizing a second rendering function, and the second rendering function is realized by calling the configuration file, which greatly expands the rendering function in the rendering pipeline and improves the rendering efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a method, apparatus, device, medium and product for constructing a custom rendering node. Background Technology

[0002] The rendering pipeline, also known as the rendering pipeline and pixel pipeline, is a type of pipeline in a game engine. It can contain many types of rendering nodes, each representing a different rendering function.

[0003] To meet users' rendering needs, related technologies allow users to complete a full rendering task by selecting different rendering nodes. For example, by selecting geometry cache nodes, deferred shading nodes, and post-processing nodes, a scene can be rendered. To adapt to the rendering requirements of different tasks, related technologies implement target rendering functionality by modifying the code of rendering nodes.

[0004] However, obtaining the rendering node that implements the target rendering function by modifying the code is not only inefficient, but may also cause the entire rendering task to fail due to individual code errors. Summary of the Invention

[0005] This application provides a method, apparatus, device, medium, and product for constructing custom rendering nodes, the technical solution of which is as follows:

[0006] According to one aspect of this application, a method for constructing a custom rendering node is provided, the method comprising:

[0007] Obtain node rendering features corresponding to at least one rendering node in the rendering pipeline; a rendering node refers to a functional node in the rendering pipeline that provides a first rendering function; the node rendering features are extracted based on the input features, output features, and rendering instruction features corresponding to the at least one rendering node; the first rendering function refers to the function of processing the input features through the rendering instruction to obtain the output features.

[0008] In response to the construction operation of the custom rendering node, a configuration file for implementing the second rendering function is constructed using the node rendering elements as templates; the configuration file refers to a custom file that implements the second rendering function and is constructed outside the rendering pipeline.

[0009] Based on the configuration file, the custom rendering node that implements the second rendering function is obtained;

[0010] The second rendering function provided by the configuration file is a rendering step in the rendering task; one configuration file corresponds to one rendering function.

[0011] According to one aspect of this application, a rendering method is provided, the method comprising:

[0012] Obtain at least one rendering node in the rendering pipeline; a rendering node refers to a functional node in the rendering pipeline that provides a first rendering function;

[0013] The rendering process of the rendering task is implemented based on the at least one rendering node and the custom rendering node; the custom rendering node is obtained based on the configuration file; the configuration file refers to a custom file built outside the rendering pipeline to implement the second rendering function.

[0014] According to one aspect of this application, a construction apparatus for a custom rendering node is provided, the apparatus comprising:

[0015] The acquisition module is used to acquire node rendering elements corresponding to at least one rendering node in the rendering pipeline; the rendering node refers to a functional node in the rendering pipeline that provides a first rendering function; the node rendering elements are extracted based on the input features, output features, and rendering instruction features corresponding to the at least one rendering node; the first rendering function refers to the function of processing the input features through the rendering instruction to obtain the output features.

[0016] A construction module is used to respond to the construction operation of the custom rendering node and construct a configuration file that implements the second rendering function using the node rendering elements as templates; the configuration file refers to a custom file that implements the second rendering function and is constructed outside the rendering pipeline.

[0017] The determination module is used to obtain the custom rendering node that implements the second rendering function based on the configuration file;

[0018] The second rendering function provided by the configuration file is a rendering step in the rendering task; one configuration file corresponds to one rendering function.

[0019] According to one aspect of this application, a rendering apparatus is provided, the apparatus comprising:

[0020] The acquisition module is used to acquire at least one rendering node in the rendering pipeline; a rendering node refers to a functional node in the rendering pipeline that provides a first rendering function.

[0021] The rendering module is used to implement the rendering process of the rendering task based on the at least one rendering node and a custom rendering node; the custom rendering node is obtained based on a configuration file; the configuration file refers to a custom file built outside the rendering pipeline to implement the second rendering function.

[0022] According to another aspect of this application, a computer device is provided, comprising: a processor and a memory, wherein the memory stores at least one computer program, the at least one computer program being loaded and executed by the processor to implement the method for constructing or rendering custom rendering nodes as described above.

[0023] According to another aspect of this application, a computer storage medium is provided, wherein at least one computer program is stored in the computer-readable storage medium, and the at least one computer program is loaded and executed by a processor to implement the method for constructing or rendering custom rendering nodes as described above.

[0024] According to another aspect of this application, a computer program product is provided, comprising a computer program stored in a computer-readable storage medium; the computer program is read from and executed by a processor of a computer device from the computer-readable storage medium, causing the computer device to perform the method for constructing or rendering custom rendering nodes as described above.

[0025] The beneficial effects of the technical solution provided in this application include at least the following:

[0026] This application obtains node rendering elements corresponding to at least one rendering node in the rendering pipeline; in response to the construction operation of the custom rendering node, a configuration file implementing the second rendering function is constructed using the node rendering elements as a template; and based on the configuration file, a custom rendering node implementing the second rendering function is obtained. This application constructs a configuration file implementing the second rendering function based on the node rendering elements of the rendering nodes in the rendering pipeline, and implements the second rendering function by calling the configuration file. Based on this method, the rendering functionality in the rendering pipeline is greatly expanded, and rendering efficiency is improved. Attached Figure Description

[0027] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0028] Figure 1 This is a schematic diagram of a method for constructing a custom rendering node provided in an exemplary embodiment of this application;

[0029] Figure 2 This is a schematic diagram of the architecture of a computer system provided in an exemplary embodiment of this application;

[0030] Figure 3This is a flowchart of a method for constructing a custom rendering node provided in an exemplary embodiment of this application;

[0031] Figure 4 This is a flowchart of a method for constructing a custom rendering node provided in an exemplary embodiment of this application;

[0032] Figure 5 This is a schematic diagram of a method for constructing a custom rendering node provided in an exemplary embodiment of this application;

[0033] Figure 6 This is a schematic diagram of a rendering method provided in an exemplary embodiment of this application;

[0034] Figure 7 This is a block diagram of a custom rendering node construction apparatus provided in an exemplary embodiment of this application;

[0035] Figure 8 This is a block diagram of a rendering apparatus provided in an exemplary embodiment of this application;

[0036] Figure 9 This is a schematic diagram of the structure of a computer device provided in an exemplary embodiment of this application. Detailed Implementation

[0037] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be further described in detail below with reference to the accompanying drawings. Exemplary embodiments will be described in detail here, examples of which are illustrated in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0038] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The singular forms “a,” “the,” and “the” as used in this disclosure and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.

[0039] It should be understood that although the terms first, second, third, etc., may be used in this disclosure to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another.

[0040] First, a brief introduction to the relevant technologies involved in the embodiments of this application will be given:

[0041] The rendering pipeline, also known as the rendering pipeline, pixel pipeline, or pixel pipeline, is a type of rendering pipeline in a game engine. It can contain many types of rendering nodes, each of which represents a rendering function.

[0042] Users can perform a complete rendering operation by selecting different rendering nodes. To meet more rendering needs, related technologies allow users to modify the rendering pipeline code in the game engine, enabling the rendering pipeline to implement secondary rendering functions.

[0043] However, obtaining a second rendering function by modifying the rendering pipeline code in the game engine is not only a complex process, but also, if an error occurs in the code, it will cause the entire rendering pipeline to malfunction, which in turn will cause the rendering functions of other rendering nodes in the rendering pipeline to malfunction.

[0044] The implementation scheme of this application involves: obtaining the node rendering elements corresponding to at least one rendering node in the rendering pipeline; using the node rendering elements corresponding to at least one rendering node as a template to construct a configuration file that implements a second rendering function; obtaining a custom rendering node that implements the second rendering function based on the configuration file; and implementing the second rendering function by calling the configuration file during rendering. This application's scheme constructs a smaller, more flexible, and more stylistically diverse configuration file based on the node rendering elements of the rendering nodes in the rendering pipeline. By calling the configuration file, the development process of custom rendering nodes is simplified, and development efficiency is improved. Simultaneously, this approach significantly expands the rendering functionality in the rendering pipeline, thereby enhancing rendering efficiency.

[0045] This application provides a schematic diagram of a method for constructing a custom rendering node, as shown in the embodiment. Figure 1 As shown, this method is executed by a computer device, which can be a terminal or a server.

[0046] The computer device acquires node rendering features corresponding to at least one rendering node in the rendering pipeline 11; in response to the construction operation of the custom rendering node, the computer device constructs a configuration file that implements the second rendering function using the node rendering features corresponding to at least one rendering node as a template; the computer device obtains the custom rendering node that implements the second rendering function based on the configuration file.

[0047] The rendering pipeline 11 refers to the architecture that provides rendering capabilities. The rendering pipeline 11 includes at least one rendering node.

[0048] A rendering node is a functional node that provides the primary rendering function; each rendering node represents a specific rendering function.

[0049] Alternatively, a rendering node refers to a functional node in the rendering pipeline that provides the primary rendering functionality.

[0050] It is important to understand that a rendering node is a functional node in the rendering pipeline that implements a certain rendering task, providing a rendering function. In the entire rendering task, each rendering stage is a rendering node in the rendering pipeline. During the rendering process of the rendering pipeline, the input of each stage will take the output of the previous stage as the input of the current stage.

[0051] The configuration file contains all the information needed to implement the second rendering function.

[0052] The node rendering elements are extracted based on the input features, output features, and rendering instruction features corresponding to at least one rendering node; the first rendering function refers to the function of processing the input features through rendering instructions to obtain the output features.

[0053] Node rendering elements refer to the elements required by at least one rendering node during the rendering process. For example, node rendering elements include input parameters, rendering instructions, and output parameters.

[0054] For example, the computer device decomposes and analyzes the rendering process corresponding to at least one rendering node in the rendering pipeline to obtain the node rendering elements required to implement the rendering process.

[0055] Optionally, the computer device decomposes and analyzes the rendering process corresponding to a rendering node in the rendering pipeline to obtain the node rendering elements required to implement the rendering process.

[0056] Optionally, the computer device decomposes and analyzes the rendering process corresponding to the two rendering nodes in the rendering pipeline to obtain the node rendering elements required to implement the rendering process.

[0057] Optionally, the computer device decomposes and analyzes the rendering process corresponding to all rendering nodes in the rendering pipeline to obtain the node rendering elements required by the rendering pipeline to implement the rendering process.

[0058] For example, in response to the construction operation of a custom rendering node, the computer device constructs a configuration file that implements the second rendering function, using input parameters, rendering instructions, and output parameters as templates.

[0059] For example, the computer device uses the input parameters corresponding to at least one rendering node as a first reference template to write target input parameters corresponding to the second rendering function.

[0060] Optionally, the computer device extracts a first fixed part and a first variable part of the input parameters corresponding to at least one rendering node; based on the first fixed part of the input parameters, the computer device modifies the first variable part of the input parameters based on the second rendering function to obtain the target input parameters.

[0061] Optionally, the input parameters include at least one of the following: mesh vertex coordinates, vertex index information, rendering depth state information, rendering blending state information, shader information, and input rendering resources.

[0062] Among them, the grid vertex coordinates refer to the coordinates of the vertices of the triangles that form a model or object during the rendering process.

[0063] Vertex index information refers to the number of the vertices of a triangle that forms a model or object during the rendering process.

[0064] Rendering depth state information refers to the depth information of colors during the rendering process.

[0065] Rendering blending information refers to the color blending information during the rendering process.

[0066] Shader information refers to the information about the shaders used in this rendering.

[0067] The input rendering resources include, but are not limited to, input texture resource information and resource cache information.

[0068] For example, the computer device uses the rendering instructions corresponding to at least one rendering node as a second reference template to write target rendering instructions corresponding to the second rendering function.

[0069] Optionally, the computer device extracts a second fixed part and a second variable part of the rendering instruction corresponding to at least one rendering node; alternatively, the computer device modifies the second variable part of the rendering instruction based on the second fixed part of the rendering instruction and a second rendering function to obtain the target rendering instruction.

[0070] Optionally, the rendering instructions include at least one of the following: Draw Index, Draw Instance, MultiDrawIndirect, and Dispatch.

[0071] For example, the computer device uses the output parameters corresponding to at least one rendering node as a third reference template to write target output parameters corresponding to the second rendering function.

[0072] Optionally, the computer device extracts a third fixed part and a third variable part of the output parameters corresponding to at least one rendering node; based on the third fixed part of the output parameters, the computer device modifies the third variable part of the output parameters according to the second rendering function to obtain the target output parameters.

[0073] Optionally, the output parameters include at least one of the following: the rendering target and the output resource.

[0074] For example, the computer device sequentially concatenates the target input parameters, target rendering instructions, and target output parameters to obtain a configuration file that implements the second rendering function.

[0075] For example, the computer device calls the configuration file and reads the target input parameters, target rendering instructions, and target output parameters in the configuration file; the computer device executes the rendering operation statements corresponding to the target input parameters, target rendering instructions, and target output parameters to realize the second rendering function corresponding to the custom rendering node.

[0076] For example, the computer device performs a complete rendering process by selecting rendering nodes in the rendering pipeline 11. For instance, at the start of rendering 10, the computer device selects the geometry cache node 12, the deferred shading node 13, and the post-processing node 14 in the rendering pipeline 11. The computer device then renders sequentially based on the geometry cache node 12, the deferred shading node 13, and the post-processing node 14, thereby completing the rendering 15.

[0077] If a light source clipping function is to be added to the existing rendering, the computer device constructs a light source clipping profile 16 based on the node rendering elements corresponding to at least one rendering node in the rendering pipeline 11 to implement the light source clipping function. At the start of rendering 10, the computer device completes the first step of rendering through the geometry cache node 12 in the rendering pipeline 11. Then, the computer device calls the light source clipping profile 16 and implements the light source clipping function through the light source clipping profile 16. Then, it renders sequentially through the deferred shading node 13 and the post-processing node 14 to complete the rendering 15.

[0078] In summary, the method provided in this embodiment obtains node rendering elements corresponding to at least one rendering node in the rendering pipeline; in response to the construction operation of a custom rendering node, it constructs a configuration file that implements a second rendering function using the node rendering elements as templates; and based on the configuration file, it obtains a custom rendering node that implements the second rendering function. This application constructs a configuration file that implements a second rendering function based on the node rendering elements of the rendering nodes in the rendering pipeline, and implements the second rendering function by calling the configuration file. Based on the above method, the rendering functions in the rendering pipeline are greatly expanded, and rendering efficiency is improved.

[0079] Figure 2 A schematic diagram of the architecture of a computer system provided in one embodiment of this application is shown. The computer system may include: a terminal 100 and a server 200.

[0080] Terminal 100 can be an electronic device such as a mobile phone, tablet computer, vehicle terminal (vehicle system), wearable device, personal computer (PC), handheld image interaction device, handheld image recognition home appliance, vehicle terminal, aircraft, unmanned vending terminal, etc. A client for the target application can be installed and run on terminal 100; this application does not limit this. Furthermore, this application does not limit the form of the target application, including but not limited to applications (Apps), mini-programs, etc., installed on terminal 100, and it can also be in web page form.

[0081] Server 200 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services such as cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), and basic cloud computing services such as big data and artificial intelligence image recognition platforms. Server 200 can be a backend server for the aforementioned target application, used to provide backend services to the clients of the target application.

[0082] Cloud technology refers to a hosting technology that unifies hardware, software, and network resources within wide area networks (WANs) and local area networks (LANs) to achieve data computation, storage, processing, and sharing. Based on the cloud computing business model, cloud technology encompasses network technology, information technology, integration technology, management platform technology, and application technology. It can form resource pools, providing flexible and convenient on-demand access. Cloud computing technology will become a crucial support. Backend services of technical network systems require substantial computing and storage resources, such as video websites, image websites, and many portal websites. With the rapid development and application of the internet industry, every item may have its own identification mark in the future, requiring transmission to backend systems for logical processing. Data at different levels will be processed separately, and various industry data will require robust system support, which can only be achieved through cloud computing.

[0083] In some embodiments, the server described above can also be implemented as a node in a blockchain system. Blockchain is a novel application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanisms, and cryptographic algorithms. Essentially, a blockchain is a decentralized database, a chain of data blocks linked together using cryptographic methods. Each data block contains information about a batch of network transactions, used to verify the validity of the information (anti-counterfeiting) and generate the next block. A blockchain can include a blockchain underlying platform, a platform product service layer, and an application service layer.

[0084] Terminal 100 and server 200 can communicate via a network, such as a wired or wireless network.

[0085] The method for constructing custom rendering nodes provided in this application embodiment can be executed by a computer device, which refers to an electronic device with data computing, processing, and storage capabilities. Figure 2 Taking the implementation environment of the scheme shown as an example, the construction method of the custom rendering node can be executed by the terminal 100 (such as the client of the target application installed and running in the terminal 100 executing the construction method of the custom rendering node), or the construction method of the custom rendering node can be executed by the server 200, or the terminal 100 and the server 200 can interact and cooperate to execute it. This application does not limit this.

[0086] Figure 3 This is a flowchart illustrating a method for constructing a custom rendering node according to an exemplary embodiment of this application. The method can be executed by a computer device, which may be... Figure 2 The method includes: terminal 100 and server 200.

[0087] Step 302: Obtain the node rendering element corresponding to at least one rendering node in the rendering pipeline.

[0088] For example, a rendering pipeline refers to an architecture that provides rendering capabilities. A rendering pipeline includes at least one rendering node.

[0089] A rendering node is a functional node that provides the primary rendering function; each rendering node represents a specific rendering function.

[0090] Node rendering elements are extracted based on the input features, output features, and rendering instruction features corresponding to at least one rendering node.

[0091] The first rendering function refers to the function of processing input features through rendering instructions to obtain output features.

[0092] For example, the rendering pipeline's process of converting a 3D object into a 2D image is as follows: The rendering pipeline selects the rendering nodes to perform the current rendering task, and sequentially inputs the data to be rendered corresponding to the task into the selected rendering nodes for rendering. For example, the selected rendering nodes for this task might be: Vertex Shader, Subdivision Shader, Geometry Shader, Primitive Assembly, Clipping Censor, Rasterization, and Fragment Shader. After selecting the rendering nodes, the vertex data is sequentially input into the Vertex Shader, Subdivision Shader, Geometry Shader, Primitive Assembly, Clipping Censor, Rasterization, and Fragment Shader to perform the rendering work, ultimately completing the rendering task.

[0093] Each stage serves as a rendering node in the rendering pipeline. During the rendering process, each stage takes the output of the previous stage as its input. For example, the fragment shader takes the rasterized fragment (and its data blocks) as input for lighting calculations.

[0094] Vertex data refers to the data parameters provided by a 3D object, including: vertex coordinates, texture coordinates, vertex normals, and vertex colors, etc.

[0095] The primary function of a vertex shader is to perform coordinate transformations. It transforms the input local coordinates to world coordinates, view coordinates, and clipping coordinates.

[0096] Surface subdivision uses tessellation techniques to subdivide triangular faces, thereby increasing the number of triangular faces on the surface of an object.

[0097] Geometry shaders are used to expand input points or lines into polygons.

[0098] Primitive assembly is used to assemble input vertices into a specified graph.

[0099] Trimming and culling are used to optimize the graph that assembles primitives.

[0100] Rasterization is used to transform a continuous three-dimensional object into discrete screen pixels.

[0101] Fragment shaders are used for lighting calculations and shadow processing, ultimately determining the final color of pixels on the screen.

[0102] Step 304: In response to the construction operation of the custom rendering node, construct a configuration file to implement the second rendering function using the node rendering elements as templates.

[0103] The configuration file contains all the information needed to implement the second rendering function. That is, each sentence or paragraph in the configuration file represents a specific rendering requirement.

[0104] A configuration file is a custom file built outside the rendering pipeline that implements secondary rendering functionality.

[0105] The configuration file is a file obtained by custom editing, modifying, or creating node rendering elements based on the requirements of the second rendering function.

[0106] Node rendering elements refer to the elements required by any rendering node during the rendering process.

[0107] Optionally, node rendering elements include input parameters, rendering instructions, and output parameters.

[0108] For example, a computer device constructs a configuration file that implements a second rendering function based on node rendering elements corresponding to at least one rendering node.

[0109] For example, a custom rendering node refers to a newly generated node that is independent of the rendering pipeline.

[0110] The secondary rendering function corresponding to the custom rendering node can be customized according to the user's needs.

[0111] The second rendering function refers to the rendering effect that the user needs or wants to achieve during the rendering process.

[0112] Optionally, the second rendering function refers to a second rendering function obtained by improving the rendering function of the original rendering node in the rendering pipeline, or a new rendering function obtained through custom editing.

[0113] Step 306: Based on the configuration file, obtain the custom rendering node that implements the second rendering function.

[0114] For example, the computer device obtains a custom rendering node that implements the second rendering function based on the configuration file.

[0115] For example, the computer device calls the configuration file and implements the second rendering function corresponding to the custom rendering node based on the configuration file.

[0116] The secondary rendering function provided by the configuration file is a rendering step in the rendering task; one configuration file corresponds to one rendering function.

[0117] In summary, the method provided in this embodiment obtains node rendering elements corresponding to at least one rendering node in the rendering pipeline; in response to the construction operation of a custom rendering node, it constructs a configuration file that implements a second rendering function using the node rendering elements as templates; and based on the configuration file, it obtains a custom rendering node that implements the second rendering function. This application constructs a configuration file that implements a second rendering function based on the node rendering elements of the rendering nodes in the rendering pipeline, and implements the second rendering function by calling the configuration file. Based on the above method, the rendering functions in the rendering pipeline are greatly expanded, and rendering efficiency is improved.

[0118] Figure 4 This is a flowchart illustrating a method for constructing a custom rendering node according to an exemplary embodiment of this application. The method can be executed by a computer device, which may be... Figure 2 The method includes: terminal 100 and server 200.

[0119] Step 402: Obtain the node rendering element corresponding to at least one rendering node in the rendering pipeline.

[0120] For example, a rendering pipeline refers to an architecture that provides rendering capabilities. A rendering pipeline includes at least one rendering node.

[0121] A rendering node is a functional node in the rendering pipeline that provides the primary rendering capability; each rendering node represents a specific rendering function.

[0122] Step 404: In response to the construction operation of the custom rendering node, construct a configuration file to implement the second rendering function using the input parameters, rendering instructions and output parameters as templates.

[0123] The configuration file contains all the information needed to implement the second rendering function. That is, each sentence or paragraph in the configuration file represents a specific rendering requirement.

[0124] Node rendering elements refer to the elements required by any rendering node during the rendering process. For example, node rendering elements include input parameters, rendering instructions, and output parameters required during the rendering process.

[0125] For example, the computer device decomposes and analyzes the rendering process corresponding to at least one rendering node in the rendering pipeline to obtain the node rendering elements required to implement the rendering process.

[0126] For example, the computer device uses the input parameters corresponding to at least one rendering node as a first reference template, and writes the target input parameters corresponding to the second rendering function according to the construction operation.

[0127] Optionally, the computer device extracts a first fixed part and a first variable part of the input parameters corresponding to at least one rendering node; based on the first fixed part of the input parameters, the computer device modifies the first variable part of the input parameters based on the second rendering function to obtain the target input parameters.

[0128] Optionally, the input parameters include at least one of the following: mesh vertex coordinates, vertex index information, rendering depth state information, rendering blending state information, shader information, and input rendering resources.

[0129] Among them, the grid vertex coordinates refer to the coordinates of the vertices of the triangles that form a model or object during the rendering process.

[0130] Vertex index information refers to the number of the vertices of a triangle that forms a model or object during the rendering process.

[0131] For example, mesh vertex coordinates include vertex attributes such as vertex coordinates, texture coordinates, vertex normals, and vertex colors.

[0132] Rendering depth state information refers to the depth information of colors during the rendering process.

[0133] Rendering blending information refers to the color blending information during the rendering process.

[0134] Shader information refers to the information about the shaders used in this rendering.

[0135] For example, shaders include vertex shaders and geometry shaders. The main function of a vertex shader is to perform coordinate transformations, converting the input mesh vertex coordinates to world coordinates, view coordinates, and clipping coordinates. The input of a vertex shader is a single vertex (and its attributes), and the output is the transformed vertex. Unlike vertex shaders, geometry shaders take complete primitives (e.g., points) as input, and the output can be one or more other primitives (e.g., triangles), or no primitives at all. Geometry shaders can expand input points or lines into polygons.

[0136] The input rendering resources include, but are not limited to, input texture resource information and resource cache information.

[0137] For example, the computer device uses the rendering instructions corresponding to at least one rendering node as a second reference template, and writes target rendering instructions corresponding to the second rendering function according to the construction operation.

[0138] Optionally, the computer device extracts a second fixed part and a second variable part of the rendering instruction corresponding to at least one rendering node; alternatively, the computer device modifies the second variable part of the rendering instruction based on the second fixed part of the rendering instruction and a second rendering function to obtain the target rendering instruction.

[0139] Optionally, the rendering instructions include at least one of the following: Draw Index, Draw Instance, Multi Draw Indirect, and Dispatch.

[0140] For example, the computer device uses the output parameters corresponding to at least one rendering node as a third reference template to write target output parameters corresponding to the second rendering function according to the construction operation.

[0141] Optionally, the computer device extracts a third fixed part and a third variable part of the output parameters corresponding to at least one rendering node; based on the third fixed part of the output parameters, the computer device modifies the third variable part of the output parameters according to the second rendering function to obtain the target output parameters.

[0142] Optionally, the output parameters include at least one of the following: the rendering target and the output resource.

[0143] For example, given the target input parameters, target rendering instructions, and target output parameters, the computer device sequentially concatenates the target input parameters, target rendering instructions, and target output parameters to obtain a configuration file that implements the second rendering function.

[0144] For example, the primary function of a vertex shader is to perform coordinate transformations, converting the input mesh vertex coordinates to world coordinates, view coordinates, and clipping coordinates. For rendering requirements, lighting calculation functionality needs to be added to the vertex shader. Therefore, using the input parameters, rendering instructions, and output parameters corresponding to at least one rendering node in the rendering pipeline as templates, target input parameters, target rendering instructions, and target output parameters capable of implementing lighting calculation are constructed. These target input parameters, target rendering instructions, and target output parameters are then concatenated sequentially to obtain the configuration file for the vertex shader that implements lighting calculation functionality.

[0145] It is important to note that configuration files are smaller than plugins, and they are easier to call. They can be called directly without matching, unlike code-based plugins, which require the rendering pipeline code to be compatible with the external plugin code and call the external code through internal code.

[0146] For example, based on rendering requirements, a custom rendering node is constructed to implement the second rendering function. The computer device obtains the node rendering elements corresponding to at least one rendering node in the rendering pipeline. In response to the construction operation, the computer device constructs a configuration file to implement the second rendering function using the node rendering elements as templates. For example, the statements corresponding to the target input parameters of the configuration file include: the geometry buffer number "buffer":["0000001","0000002"], the input image "image":[], the light number "light":["lighte0","light1"], the data layer, view layer, and publishing layer parameters "mvp":{"name":"mvp";"type":"matrix";"value":value}, the width and height of the input image "width":{"name":"width","type":"float","value":value}, "height":{"name":"height","type":"float","value":value}, and the shader "shader":{"xxx.shader"}.

[0147] For example, the target rendering directives corresponding to the configuration file include the drawing instance to be invoked. The statement corresponding to the target rendering directives in the configuration file can be represented as: "draw":{"type":"draw Instance'}.

[0148] For example, the target output parameters corresponding to the configuration file include at least one of the output rendered image and the name of the output image. The statement corresponding to the target output parameters of the configuration file can be represented as: "output":{"image":["image00001"]}.

[0149] For example, based on rendering requirements, a custom shader is built to implement shading rendering. Then, using the input parameters, rendering instructions, and output parameters corresponding to at least one rendering node in the rendering pipeline as templates, the target input parameters of the shader's configuration file are written. The target input parameters include: the vertex coordinates of the model, the vertex index information, and the rendering depth state information. The target rendering instructions of the shader's configuration file are written. The target rendering instructions include: the rendering trigger instructions and the information of the callable rendering instance. The target output parameters of the shader's configuration file are written. The target output parameters include: the name of the output rendering target.

[0150] The computer device sequentially concatenates the vertex coordinates, vertex index information, rendering depth state information, rendering trigger commands, callable rendering instance information, and the name of the output rendering target to obtain the configuration file corresponding to the custom-built shader.

[0151] In one possible implementation, the computer device uses the input parameters, rendering instructions, and output parameters corresponding to at least one rendering node as a reference template, and writes target input parameters corresponding to the second rendering function according to the construction operation; based on the target input parameters, the computer device adaptively modifies the target rendering instructions and target output parameters corresponding to the second rendering function; based on the target input parameters, target rendering instructions, and target output parameters, the computer device obtains a configuration file that implements the second rendering function.

[0152] For example, based on the target input parameters, the computer device proportionally modifies the target rendering instructions and target output parameters corresponding to the second rendering function. That is, by modifying the target input parameters, the target rendering instructions and target output parameters will also change along with the target input parameters.

[0153] It should be noted that the embodiments of this application describe the adaptive modification of the target input parameters, target rendering instructions and target output parameters as an example, but are not limited thereto. The embodiments of this application do not specifically limit the number or type of parameters that are adaptively modified.

[0154] For example, a custom rendering node refers to a newly generated node that is independent of the rendering pipeline. The secondary rendering function corresponding to the custom rendering node can be customized according to the user's needs.

[0155] The second rendering function refers to the rendering effect that the user needs or wants to achieve during the rendering process.

[0156] Optionally, the second rendering function refers to a rendering function obtained by improving the rendering function of the original rendering node in the rendering pipeline, or a new rendering function obtained through custom editing.

[0157] Step 406: Based on the configuration file, obtain the custom rendering node that implements the second rendering function.

[0158] For example, the computer device obtains a custom rendering node that implements the second rendering function based on the configuration file.

[0159] For example, the computer device calls the configuration file and implements the second rendering function corresponding to the custom rendering node based on the configuration file.

[0160] The secondary rendering function provided by the configuration file is a rendering step in the rendering task; one configuration file corresponds to one rendering function.

[0161] For example, when a computer device completes a rendering task and needs to implement a second rendering function, it calls the configuration file based on the location of the configuration file and executes the second rendering function by reading the rendering operation statements in the configuration file.

[0162] Optionally, the configuration file corresponding to the second rendering function can be called multiple times.

[0163] In summary, the method provided in this embodiment obtains at least one rendering node in the rendering pipeline; constructs a configuration file to implement a second rendering function based on the input parameters, rendering instructions, and output parameters corresponding to the at least one rendering node; and obtains a custom rendering node to implement the second rendering function based on the configuration file. This application constructs a configuration file to implement a second rendering function based on the input parameters, rendering instructions, and output parameters of the rendering nodes in the rendering pipeline, using these parameters as reference templates. By calling the configuration file, the second rendering function is implemented. This approach significantly expands the rendering capabilities of the rendering pipeline and improves rendering efficiency.

[0164] Figure 5 This is a schematic diagram illustrating a method for constructing a custom rendering node according to an exemplary embodiment of this application. The method can be executed by a computer device, which may be... Figure 2The method includes: terminal 100 and server 200.

[0165] The computer device acquires node rendering features corresponding to at least one rendering node in the rendering pipeline 502; in response to the construction operation of the custom rendering node, the computer device constructs a configuration file 503 that implements the second rendering function using the node rendering features as a template; the computer device obtains the custom rendering node that implements the second rendering function based on the configuration file 503.

[0166] The rendering pipeline 502 refers to the architecture that provides rendering capabilities. The rendering pipeline 502 includes at least one rendering node.

[0167] A rendering node is a functional node that provides the primary rendering function; each rendering node represents a specific rendering function.

[0168] Configuration file 503 contains all the information needed to implement the second rendering function.

[0169] For example, the computer device performs a complete rendering process by selecting a rendering node in the rendering pipeline 502. For instance, after rendering begins 501, the computer device selects at least one rendering node in the rendering pipeline 502 to perform rendering, thereby completing rendering 504.

[0170] If a second rendering function is to be added on the basis of the original rendering, the computer device constructs a configuration file 503 to implement the second rendering function based on the node rendering elements corresponding to at least one rendering node in the rendering pipeline 502. When rendering starts at 501, the computer device performs rendering through at least one rendering node in the rendering pipeline 502 and calls the configuration file 503, thereby completing the rendering at 504.

[0171] Figure 6 This is a flowchart illustrating a rendering method provided in an exemplary embodiment of this application. The method can be executed by a computer device, which may be... Figure 2 The method includes: terminal 100 and server 200.

[0172] Step 602: Obtain at least one rendering node in the rendering pipeline.

[0173] For example, a rendering pipeline refers to an architecture that provides rendering capabilities. A rendering pipeline includes at least one rendering node.

[0174] A rendering node is a functional node that provides the primary rendering function; each rendering node represents a specific rendering function.

[0175] For example, the rendering pipeline's process of converting a 3D object into a 2D image is as follows: The rendering pipeline selects the rendering nodes to perform the current rendering task, and sequentially inputs the data to be rendered corresponding to the task into the selected rendering nodes for rendering. For example, the selected rendering nodes for this task might be: Vertex Shader, Subdivision Shader, Geometry Shader, Primitive Assembly, Clipping Censor, Rasterization, and Fragment Shader. After selecting the rendering nodes, the vertex data is sequentially input into the Vertex Shader, Subdivision Shader, Geometry Shader, Primitive Assembly, Clipping Censor, Rasterization, and Fragment Shader to perform the rendering work, ultimately completing the rendering task.

[0176] Each stage serves as a rendering node in the rendering pipeline. During the rendering process, each stage takes the output of the previous stage as its input. For example, the fragment shader takes the rasterized fragment (and its data blocks) as input for lighting calculations.

[0177] Vertex data refers to the data parameters provided by a 3D object, including: vertex coordinates, texture coordinates, vertex normals, and vertex colors, etc.

[0178] The primary function of a vertex shader is to perform coordinate transformations. It transforms the input local coordinates to world coordinates, view coordinates, and clipping coordinates.

[0179] Tessellation uses a tessellation technique to subdivide triangles, thereby increasing the number of triangles on an object's surface. It consists of a hull shader, a tessellator, and a domain shader. The hull and domain shaders are programmable, while the tessellator is hardware-managed. We can use tessellation to achieve level-of-detail rendering, allowing objects closer to the camera to have richer details, while objects farther away have less detail.

[0180] Geometry shaders are used to expand input points or lines into polygons. The input to a geometry shader is a complete primitive (such as a point), and the output can be one or more other primitives (such as a triangle), or no primitives at all.

[0181] Primitive assembly is used to assemble the input vertices into a specified graph. The primitive assembly stage includes optimizations such as clipping and backface culling to reduce the number of primitives entering the rasterization process and accelerate rendering.

[0182] Trimming and culling are used to optimize the graph that assembles primitives.

[0183] Rasterization is used to convert continuous 3D objects into discrete screen pixels. Rasterization is a discretization process that transforms continuous 3D objects into discrete screen pixels. It includes two stages: triangle assembly and triangle traversal. Rasterization determines the fragments covered by primitives, uses vertex attribute interpolation to obtain the fragment's attribute information, and then sends it to the fragment shader for color calculation to obtain the final displayed pixels.

[0184] Fragment shaders are used for lighting calculations and shadow processing, ultimately determining the final color of pixels on the screen.

[0185] Step 604: Implement the rendering process of the rendering task based on at least one rendering node and a custom rendering node.

[0186] Custom rendering nodes are obtained based on configuration files.

[0187] A configuration file is a custom file built outside the rendering pipeline that implements secondary rendering functionality.

[0188] For example, the computer device determines the rendering order of at least one rendering node and a custom rendering node to obtain a rendering sequence corresponding to the at least one rendering node and the custom rendering node; based on the rendering sequence, the computer device inputs the data to be rendered into the at least one rendering node and the custom rendering node in sequence for rendering, thereby realizing the rendering process of the rendering task.

[0189] The rendering sequence refers to the order in which at least one rendering node and a custom rendering node are rendered during the rendering process.

[0190] For example, at least one rendering node is obtained as: rendering node 1, rendering node 3, rendering node 5, and rendering node 7. The computer device determines the rendering sequence composed of the rendering nodes and custom rendering nodes based on the rendering process of the rendering task. For example, the rendering sequence is: rendering node 1 -- custom rendering node -- rendering node 7 -- custom rendering node -- rendering node 3 -- rendering node 5 -- rendering node 7.

[0191] When executing a rendering task, the computer device inputs the data to be rendered corresponding to the rendering task into rendering node 1 -- custom rendering node -- rendering node 7 -- custom rendering node -- rendering node 3 -- rendering node 5 -- rendering node 7 in sequence. That is, the rendering result of rendering node 1 is used as the input data of the custom rendering node, the rendering result of the custom rendering node is used as the input data of rendering node 7, and so on, until all rendering tasks are completed.

[0192] For example, a custom rendering node includes target input parameters, target rendering instructions, and target output parameters.

[0193] The computer device, based on the rendering sequence, inputs the data to be rendered into at least one rendering node for rendering, thus realizing the first rendering process in the rendering task; the computer device calls a custom rendering node and reads the target input parameters, target rendering instructions, and target output parameters from the custom rendering node; the computer device uses the rendering operation statements corresponding to the target input parameters, target rendering instructions, and target output parameters to realize the second rendering process in the rendering task.

[0194] The first rendering process refers to the rendering process completed based on at least one rendering node in the rendering pipeline.

[0195] The second rendering process refers to the rendering process completed based on custom rendering nodes.

[0196] Target input parameters refer to the input parameters that are customized based on the rendering task in a custom rendering node.

[0197] Target rendering instructions refer to custom rendering instructions in a custom rendering node that are based on the rendering task.

[0198] The target output parameters refer to the custom output parameters defined in the custom rendering node based on the rendering task.

[0199] For example, the rendering process of converting a three-dimensional object into a two-dimensional image based on the rendering method in the embodiments of this application is as follows: the rendering nodes that will perform the current rendering task are selected in the rendering pipeline. For example, the rendering nodes that will perform the current rendering task are: surface subdivision, geometry shader, primitive assembly, clipping culling, rasterization, and fragment shader.

[0200] For rendering purposes, it is necessary to add lighting calculation functionality to the vertex shader. Therefore, using the input parameters, rendering instructions, and output parameters of the vertex shader in the rendering pipeline as templates, target input parameters, target rendering instructions, and target output parameters that can realize lighting calculation functionality are constructed. The target input parameters, target rendering instructions, and target output parameters are then concatenated in sequence to obtain the vertex shader that realizes lighting calculation functionality.

[0201] Based on the selected rendering node and the custom rendering node, the rendering sequence for this rendering task is: Vertex Shader -- Subdivision Shader -- Geometry Shader -- Primitive Assembly -- Clipping and Culling -- Rasterization -- Fragment Shader.

[0202] The computer device, based on the rendering sequence, sequentially inputs the vertex data of a 3D object into the vertex shader. The vertex shader performs coordinate transformation on the vertex data and calculates lighting for each vertex, obtaining the first-stage rendering result. The computer device then uses this first-stage rendering result as input data for the surface tessellation unit. The surface tessellation unit uses tessellation to subdivide triangles, increasing the number of triangles on the object's surface. This results in richer details in areas closer to the camera and less detail in areas farther from the camera, yielding the second-stage rendering result. The computer device then uses this second-stage rendering result as input data for the geometry shader, which expands the input points or lines into polygons, obtaining the third-stage rendering result. Finally, the computer device uses this third-stage rendering result as input data for the primitive assembly node, which then processes the input vertex data into polygons. The primitives are assembled into a specified graph, resulting in the fourth-stage rendering result. The computer uses this fourth-stage rendering result as input data for the clipping and culling nodes, which perform clipping and backface culling to optimize the assembled graph, resulting in the fifth-stage rendering result. The computer uses this fifth-stage rendering result as input data for the rasterization nodes, which convert the continuous 3D objects in the fifth-stage rendering result into discrete screen pixels. The rasterization nodes determine the fragments covered by the primitives, use vertex attribute interpolation to obtain the attribute information of the fragments, and then send it to the fragment shader for color calculation to obtain the final displayed pixels, resulting in the sixth-stage rendering result. The computer uses this sixth-stage rendering result as input data for the fragment shader, which performs lighting calculations and shadow processing on the sixth-stage rendering result to obtain the final color of the pixels on the screen, thus completing the rendering task.

[0203] In summary, the method provided in this embodiment obtains at least one rendering node in the rendering pipeline; and implements the rendering process of the rendering task based on the at least one rendering node selected in the rendering pipeline and a custom rendering node that implements the second rendering function. This application, based on the rendering nodes in the rendering pipeline and the constructed custom rendering nodes, can more flexibly implement rendering functions by calling the custom rendering nodes. Based on the above method, the rendering functions in the rendering pipeline are greatly expanded, rendering flexibility is improved, and rendering efficiency is increased.

[0204] Figure 7 This illustration shows a schematic diagram of a custom rendering node construction apparatus provided in an exemplary embodiment of this application. The apparatus can be implemented as all or part of a computer device through software, hardware, or a combination of both. The apparatus includes:

[0205] The acquisition module 701 is used to acquire node rendering elements corresponding to at least one rendering node in the rendering pipeline; the rendering node refers to a functional node in the rendering pipeline that provides a first rendering function; the node rendering elements are extracted based on the input features, output features, and rendering instruction features corresponding to the at least one rendering node; the first rendering function refers to the function of processing the input features through the rendering instruction to obtain the output features.

[0206] The construction module 702 is used to respond to the construction operation of the custom rendering node and construct a configuration file to implement the second rendering function using the node rendering elements corresponding to the at least one rendering node as a template; the configuration file refers to a custom file that implements the second rendering function and is constructed outside the rendering pipeline.

[0207] The determination module 703 is used to obtain the custom rendering node that implements the second rendering function based on the configuration file.

[0208] The second rendering function provided by the configuration file is a rendering step in the rendering task; one configuration file corresponds to one rendering function.

[0209] In one possible implementation, the node rendering elements include input parameters, rendering instructions, and output parameters; the construction module 702 is used to construct the configuration file that implements the second rendering function in response to the construction operation of the custom rendering node, using the input parameters, the rendering instructions, and the output parameters as templates.

[0210] In one possible implementation, the construction module 702 is used to write target input parameters corresponding to the second rendering function according to the construction operation, using the input parameters corresponding to the at least one rendering node as a first reference template.

[0211] In one possible implementation, the construction module 702 is used to write a target rendering instruction corresponding to the second rendering function based on the construction operation, using the rendering instruction corresponding to the at least one rendering node as a second reference template.

[0212] In one possible implementation, the construction module 702 is used to write target output parameters corresponding to the second rendering function according to the construction operation, using the output parameters corresponding to the at least one rendering node as a third reference template.

[0213] In one possible implementation, the construction module 702 is used to sequentially concatenate the target input parameters, the target rendering instructions, and the target output parameters to obtain the configuration file that implements the second rendering function.

[0214] In one possible implementation, the construction module 702 is used to extract a first fixed portion and a first variable portion of the input parameters corresponding to the at least one rendering node.

[0215] In one possible implementation, the construction module 702 is used to modify the first variable portion of the input parameters based on the second rendering function, using the first fixed portion of the input parameters as a basis, to obtain the target input parameters.

[0216] In one possible implementation, the construction module 702 is used to extract the second fixed part and the second variable part of the rendering instruction corresponding to the at least one rendering node.

[0217] In one possible implementation, the construction module 702 is used to modify the second variable portion of the rendering instruction based on the second rendering function, using the second fixed portion of the rendering instruction as a basis, to obtain the target rendering instruction.

[0218] In one possible implementation, the construction module 702 is used to extract the third fixed part and the third variable part of the output parameters corresponding to the at least one rendering node.

[0219] In one possible implementation, the construction module 702 is used to modify the third variable portion of the output parameters based on the second rendering function, using the third fixed portion of the output parameters as a basis, to obtain the target output parameters.

[0220] Figure 8 A schematic diagram of a rendering apparatus provided in an exemplary embodiment of this application is shown. This apparatus can be implemented as all or part of a computer device through software, hardware, or a combination of both. The apparatus includes:

[0221] The acquisition module 801 is used to acquire at least one rendering node in the rendering pipeline; a rendering node refers to a functional node in the rendering pipeline that provides a first rendering function.

[0222] The rendering module 802 is used to implement the rendering process of the rendering task based on the at least one rendering node and a custom rendering node; the custom rendering node is obtained based on a configuration file; the configuration file refers to a custom file built outside the rendering pipeline to implement the second rendering function.

[0223] In one possible implementation, the rendering module 802 is used to determine the rendering order of the at least one rendering node and the custom rendering node, and obtain the rendering sequence corresponding to the at least one rendering node and the custom rendering node; the rendering sequence refers to the order in which the at least one rendering node and the custom rendering node are rendered during the rendering process.

[0224] In one possible implementation, the rendering module 802 is used to sequentially input the data to be rendered into the at least one rendering node and the custom rendering node based on the rendering sequence, thereby realizing the rendering process of the rendering task.

[0225] In one possible implementation, the rendering module 802 is used to input the data to be rendered to the at least one rendering node for rendering based on the rendering sequence, thereby implementing the first rendering process in the rendering task; the first rendering process refers to the rendering process completed based on the at least one rendering node in the rendering pipeline.

[0226] In one possible implementation, the rendering module 802 is used to call the custom rendering node and read the target input parameters, the target rendering instructions and the target output parameters from the custom rendering node.

[0227] In one possible implementation, the rendering module 802 is used to execute rendering operation statements corresponding to the target input parameters, the target rendering instructions, and the target output parameters to implement the second rendering process in the rendering task; the second rendering process refers to the rendering process completed based on the custom rendering node.

[0228] Figure 9 A structural block diagram of a computer device 900 illustrated in an exemplary embodiment of this application is shown. This computer device can be implemented as a server as described above in this application. The image computer device 900 includes a Central Processing Unit (CPU) 901, a system memory 904 904 including Random Access Memory (RAM) 902 and Read-Only Memory (ROM) 903, and a system bus 705 connecting the system memory 904 and the CPU 901. The image computer device 900 also includes a mass storage device 906 for storing an operating system 909, application programs 910, and other program modules 911.

[0229] The mass storage device 906 is connected to the central processing unit 901 via a mass storage controller (not shown) connected to the system bus 905. The mass storage device 906 and its associated computer-readable media provide non-volatile storage for the image computing device 900. That is, the mass storage device 906 may include computer-readable media (not shown) such as hard disks and compact disc read-only memory (CD-ROM) drives.

[0230] Without loss of generality, the computer-readable medium may include computer storage media and communication media. Computer storage media include volatile and non-volatile, removable and non-removable media implemented using any method and technique for storing information such as computer-readable instructions, data structures, program modules, and other data. Computer storage media include RAM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory and other solid-state storage technologies, CD-ROM, digital versatile disc (DVD) and other optical storage, magnetic tape cassettes, magnetic tape, disk storage and other magnetic storage devices. Of course, those skilled in the art will recognize that the computer storage media are not limited to the above-mentioned types. The system memory 904 and mass storage device 906 described above can be collectively referred to as memory.

[0231] According to various embodiments of this disclosure, the image computing device 900 can also be connected to a remote computer on a network, such as the Internet. That is, the image computing device 900 can be connected to a network 908 via a network interface unit 907 connected to the system bus 905, or it can use the network interface unit 907 to connect to other types of networks and remote computer systems (not shown).

[0232] The memory also includes at least one computer program stored in the memory. The central processing unit 901 executes the at least one program to implement the custom rendering node construction method, or all and some steps of the rendering method shown in the above embodiments.

[0233] This application also provides a computer device, which includes a processor and a memory. The memory stores at least one program, which is loaded and executed by the processor to implement the custom rendering node construction method or rendering method provided in the above-described method embodiments.

[0234] This application also provides a computer-readable storage medium storing at least one computer program, which is loaded and executed by a processor to implement the custom rendering node construction method or rendering method provided in the above-described method embodiments.

[0235] This application also provides a computer program product, which includes a computer program stored in a computer-readable storage medium. The computer program is read from and executed by a processor of a computer device, causing the computer device to execute the method for constructing a custom rendering node or the rendering method provided in the above-described method embodiments.

[0236] It is understood that, in the specific embodiments of this application, the data involved, historical data, and user data processing related to user identity and characteristics, such as profiles, require user permission and consent when applied to specific products and technologies. Furthermore, the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions.

[0237] It should be understood that "multiple" in this article refers to two or more. "and / and" describes the relationship between related objects, indicating that there can be three relationships. For example, A and / and B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "and" relationship.

[0238] Those skilled in the art will understand that all and some of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.

[0239] The above description is merely an optional embodiment of this application and is not intended to limit this application. Any modifications, equivalent switching, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A method for constructing a custom rendering node, characterized in that, The method comprises: acquiring node rendering elements corresponding to at least one rendering node in a rendering pipeline; the rendering node refers to a functional node in the rendering pipeline providing a first rendering function; the node rendering elements are extracted based on input features, output features and rendering instruction features corresponding to the at least one rendering node; the first rendering function refers to a function of processing the input features to obtain the output features through the rendering instruction; in response to a construction operation of the custom rendering node, constructing a configuration file implementing a second rendering function by taking the node rendering elements as a template; the configuration file refers to a custom file implementing the second rendering function constructed outside the rendering pipeline; based on the configuration file, obtaining the custom rendering node implementing the second rendering function; the second rendering function provided by the configuration file is one rendering link in a rendering task; one configuration file corresponds to one rendering function; wherein the node rendering elements comprise input parameters, rendering instructions and output parameters, and the taking the node rendering elements as a template comprises: taking the input parameters corresponding to the at least one rendering node as a first reference template, and writing target input parameters corresponding to the second rendering function according to the construction operation, which comprises: extracting a first fixed part and a first variable part of the input parameters corresponding to the at least one rendering node; based on the first fixed part of the input parameters, modifying the first variable part of the input parameters based on the second rendering function to obtain the target input parameters; taking the rendering instructions corresponding to the at least one rendering node as a second reference template, and writing target rendering instructions corresponding to the second rendering function according to the construction operation, which comprises: extracting a second fixed part and a second variable part of the rendering instructions corresponding to the at least one rendering node; based on the second fixed part of the rendering instructions, modifying the second variable part of the rendering instructions based on the second rendering function to obtain the target rendering instructions; taking the output parameters corresponding to the at least one rendering node as a third reference template, and writing target output parameters corresponding to the second rendering function according to the construction operation, which comprises: extracting a third fixed part and a third variable part of the output parameters corresponding to the at least one rendering node; based on the third fixed part of the output parameters, modifying the third variable part of the output parameters based on the second rendering function to obtain the target output parameters.

2. The method of claim 1, wherein, The response to the construction operation of the custom rendering node, the construction of the configuration file implementing the second rendering function by taking the node rendering elements as a template comprises: in response to the construction operation of the custom rendering node, constructing the configuration file implementing the second rendering function by taking the input parameters, the rendering instructions and the output parameters as templates.

3. The method of claim 2, wherein, The construction of the configuration file implementing the second rendering function comprises: The target input parameter, the target rendering instruction and the target output parameter are spliced in sequence to obtain the configuration file for implementing the second rendering function.

4. An apparatus for constructing a custom rendering node, the apparatus comprising: The device comprises: An acquisition module is configured to acquire node rendering elements corresponding to at least one rendering node in a rendering pipeline; the rendering node refers to a functional node in the rendering pipeline that provides a first rendering function; the node rendering elements are extracted based on input characteristics, output characteristics and rendering instruction characteristics corresponding to the at least one rendering node; the first rendering function refers to a function of processing the input characteristics by the rendering instruction to obtain the output characteristics; A construction module is configured to, in response to a construction operation of the custom rendering node, construct a configuration file for implementing a second rendering function by using the node rendering elements as a template; the configuration file refers to a custom file for implementing the second rendering function constructed outside the rendering pipeline; A determination module is configured to obtain the custom rendering node for implementing the second rendering function based on the configuration file; the second rendering function provided by the configuration file is one rendering link in a rendering task; one configuration file corresponds to one rendering function; The node rendering elements include input parameters, rendering instructions and output parameters, and the node rendering elements as the template include: The input parameters corresponding to the at least one rendering node are used as a first reference template, and target input parameters corresponding to the second rendering function are written according to the construction operation, including: extracting a first fixed part and a first variable part of the input parameters corresponding to the at least one rendering node; based on the first fixed part of the input parameters, the first variable part of the input parameters is modified based on the second rendering function to obtain the target input parameters; The rendering instructions corresponding to the at least one rendering node are used as a second reference template, and target rendering instructions corresponding to the second rendering function are written according to the construction operation, including: extracting a second fixed part and a second variable part of the rendering instructions corresponding to the at least one rendering node; based on the second fixed part of the rendering instructions, the second variable part of the rendering instructions is modified based on the second rendering function to obtain the target rendering instructions; The output parameters corresponding to the at least one rendering node are used as a third reference template, and target output parameters corresponding to the second rendering function are written according to the construction operation, including: extracting a third fixed part and a third variable part of the output parameters corresponding to the at least one rendering node; based on the third fixed part of the output parameters, the third variable part of the output parameters is modified based on the second rendering function to obtain the target output parameters.

5. A computer device, comprising: The computer device comprises a processor and a memory, and the memory stores at least one computer program; the at least one computer program is loaded and executed by the processor to implement the construction method of the custom rendering node according to any one of claims 1 to 3.

6. A computer-readable storage medium, characterized in that, The computer readable storage medium stores at least one computer program, and the at least one computer program is loaded and executed by the processor to implement the construction method of the custom rendering node as claimed in any one of claims 1 to 3.

7. A computer program product, characterised in that, The computer program product comprises a computer program stored in a computer readable storage medium; the computer program is read and executed by the processor of the computer device from the computer readable storage medium, so that the computer device executes the construction method of the custom rendering node as claimed in any one of claims 1 to 3.

Citation Information

Patent Citations

  • Platform-agnostic systems and methods for executable content and executable content flow distribution

    AU2015101138A4

  • Rendering method and system based on cloud computing chain and storage medium

    CN111951363A