A method and apparatus for dynamically generating distributed rendering resources

By generating dynamic rendering resources through a collaborative interaction model and election mechanism, the problem of static resource dependency in distributed virtual reality systems is solved, achieving consistency and efficient management of client-side animations.

CN116668761BActive Publication Date: 2026-01-13BEIJING JUNHE CHUANGXIANG TECH DEV CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310898617.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-20
Publication Date
2026-01-13
Estimated Expiration
2043-07-20

AI Technical Summary

Technical Problem

In existing technologies, distributed virtual reality systems lack a standard method for dynamically generating rendering resources, resulting in inconsistent user experiences. Static resources rely on the server side, affecting the interactive effect.

Method used

The collaborative interaction model determines the collaborative interaction tasks, the election mechanism selects the effective dynamic rendering module version, generates and broadcasts dynamic rendering resources, controls the animation playback speed, and adopts a unified standard to ensure client consistency.

Benefits of technology

It eliminates the dependence on static resources, enhances the rendering effect during multi-interaction scenarios, ensures the consistency of animation display on the client side, and improves management and control efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116668761B_ABST
    Figure CN116668761B_ABST
Patent Text Reader

Abstract

The present disclosure provides a kind of distributed rendering resource dynamic generation method and device, wherein the method comprises: in response to the dynamic resource request sent by user, the processing step of collaborative interaction task is determined by collaborative interaction model, and the processing result of collaborative interaction task is obtained by executing processing step;By election mechanism, select the effective dynamic rendering module version, use the effective dynamic rendering module to render the processing result of collaborative interaction task, generate dynamic rendering resource, when interactive demand is generated, broadcast dynamic rendering resource to all spirit world network client, and control the play speed of the animation generated by spirit world network client dynamically.This disclosure dynamically generates dynamic rendering resource, eliminates the dependence on static resource in the interaction process, enhances the rendering effect of scene in multi-interaction, and uses uniform standard control in the generation and broadcast of dynamic rendering resource, ensures the consistency of animation display in client.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This document relates to the field of distributed virtual reality, and in particular to a method and apparatus for dynamically generating distributed rendering resources. Background Technology

[0002] Lingjing Network is an innovative virtual reality technology that integrates distributed network technology and virtual reality technology, providing users with a more open, free, and highly interactive virtual reality experience. Users connected to the same Lingjing network can see each other and can interact with each other using their respective virtual reality devices. When a user logs into the network, they download the resources uploaded by other users to their local machine for rendering, while simultaneously uploading their own prepared resources to the network for use by other users.

[0003] In related technologies, the static resources that are prepared on the server side before the network connection are synchronized and shared between clients. The server broadcasts relevant resources by triggering events to achieve state synchronization. The above technical solution has the following drawbacks: the state synchronization mode relies too much on the static resources stored on the server side, and the quantity and quality of the static resources directly determine the user experience; there is a lack of a standard way to dynamically generate rendering resources, which leads to inconsistencies in the scenes displayed on each client.

[0004] Based on the above analysis of the development status of this technical field, the existing technical solutions urgently need a distributed rendering resource method and device with a unified generation method that allows for state synchronization without being constrained by static server resources. Summary of the Invention

[0005] The purpose of this invention is to provide a method and apparatus for dynamically generating distributed rendering resources, aiming to solve the above-mentioned problems in the prior art.

[0006] According to a first aspect of the present disclosure, a method for dynamically generating distributed rendering resources is provided, comprising:

[0007] In response to a user's dynamic resource request, the processing steps of the collaborative interaction task are determined through the collaborative interaction model, and the processing steps are executed to obtain the processing result of the collaborative interaction task.

[0008] The effective dynamic rendering module version is selected through an election mechanism. The effective dynamic rendering module is used to render the processing results of collaborative interaction tasks, generate dynamic rendering resources, broadcast the dynamic rendering resources to all Lingjing Network clients when interaction needs arise, and control the playback speed of the dynamically generated animations on the Lingjing Network clients.

[0009] According to a second aspect of the present disclosure, a dynamic generation apparatus for distributed rendering resources is provided, comprising:

[0010] The collaborative interaction module is used to respond to dynamic resource requests sent by users, determine the processing steps of collaborative interaction tasks through the collaborative interaction model, execute the processing steps, and obtain the processing results of collaborative interaction tasks.

[0011] The dynamic rendering resource generation and broadcasting module is used to select the effective dynamic rendering module version through an election mechanism, use the effective dynamic rendering module to render the processing results of collaborative interaction tasks, generate dynamic rendering resources, broadcast the dynamic rendering resources to all Lingjing Network clients when interaction needs arise, and control the playback speed of the dynamically generated animations on the Lingjing Network clients.

[0012] The technical solutions provided by the embodiments of this disclosure may include the following beneficial effects: dynamically generating dynamic rendering resources eliminates the dependence on static resources during the interaction process, enhances the rendering effect of scenes with multiple interactions, and adopts unified standard control in the generation and broadcasting of dynamic rendering resources to ensure the consistency of animation display on the client.

[0013] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

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

[0015] Figure 1 This is a flowchart of a method for dynamically generating distributed rendering resources according to an embodiment of the present invention;

[0016] Figure 2 This is a schematic diagram of the collaborative interaction model structure according to an embodiment of the present invention;

[0017] Figure 3 This is a schematic diagram of the collaborative interaction model code generation process according to an embodiment of the present invention;

[0018] Figure 4 This is a schematic diagram of the interaction process of the collaborative interaction model in an embodiment of the present invention;

[0019] Figure 5 This is a schematic diagram of the election mechanism according to an embodiment of the present invention;

[0020] Figure 6 This is a schematic diagram of the dynamic rendering resource generation and distribution process according to an embodiment of the present invention;

[0021] Figure 7 This is a schematic diagram of a dynamic generation device for distributed rendering resources according to an embodiment of the present invention. Detailed Implementation

[0022] To enable those skilled in the art to better understand the technical solutions in one or more embodiments of this specification, the technical solutions in one or more embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this specification, and not all of the embodiments. Based on one or more embodiments of this specification, all other embodiments obtained by those skilled in the art without creative effort should fall within the protection scope of this document.

[0023] Method Implementation Examples

[0024] According to an embodiment of the present invention, a method for dynamically generating distributed rendering resources is provided. Figure 1 This is a flowchart of a method for dynamically generating distributed rendering resources according to an embodiment of the present invention, such as... Figure 1 As shown, the method for dynamically generating distributed rendering resources according to an embodiment of the present invention specifically includes:

[0025] In step S110, in response to the dynamic resource request sent by the user, the processing steps of the collaborative interaction task are determined through the collaborative interaction model, and the processing steps are executed to obtain the processing result of the collaborative interaction task.

[0026] The specific steps for determining the processing steps of a collaborative interaction task through the collaborative interaction model include: using a collaborative task sequence (TaskNode), an executable task set (TaskNodes), a collaborative task set (Tasks), and an interaction step table (Steps) to determine the processing steps of the collaborative interaction task. The collaborative task sequence, executable task set, and interaction step table do not change after being generated once. Figure 2 This is a schematic diagram of the collaborative interaction model structure according to an embodiment of the present invention, such as... Figure 2 The diagram illustrates the components of the collaborative interaction model, specifically including:

[0027] A collaborative task sequence is a directed graph constructed from the task numbers of each collaborative task and the set of preceding tasks, used to control the execution order of collaborative tasks.

[0028] The set of executable tasks consists of executable interactive tasks, which are some nodes in the sequence of collaborative tasks. When a collaborative task is completed, it is updated according to the sequence of collaborative tasks. Essentially, it is to traverse the nodes of the directed graph in the sequence of collaborative tasks in the order in which the collaborative tasks are completed.

[0029] The collaborative task set consists of a task number, a task type, a task flag, a set of step numbers, and a set of prerequisite tasks. The task number is a unique identifier for the collaborative task. The task type is used to identify whether the task requires multiple people to complete. The task flag is used to indicate whether all the corresponding interaction steps have been completed. The set of step numbers links the collaborative task with the interaction steps. A collaborative task contains at least one interaction step. The set of prerequisite tasks represents the set of tasks that need to be completed before this task can be executed, and is used to generate the collaborative task sequence.

[0030] The interaction steps in the interaction steps table consist of step number, step object, interaction process, and interaction behavior. The step number is the unique identifier of the interaction step. The step object refers to the item, tool, or part to be interacted with. The interaction process refers to the operation to be performed on the interaction object. The interaction behavior includes interactive actions and the use of tools, such as using gestures, mouse, keyboard, and gamepad to interact.

[0031] The collaborative interaction model centrally manages the generation, distribution, and synchronization of all dynamic rendering resources on the server, as well as the management and iteration of the dynamic resource generation code itself. The collaborative task sequence is generated based on the collaborative task set. Each node in the collaborative task sequence points to a collaborative task in the collaborative task set. The collaborative task is associated with at least one interaction step in the interaction step set through the step number set. The executable collaborative task set is updated according to the collaborative task sequence.

[0032] When a collaborative interaction task is detected to be completed, the collaborative interaction task is removed from the set of executable tasks. Each child node of the collaborative interaction task in the collaborative task sequence is checked. If all the collaborative interaction tasks pointed to by the parent node set parameter of a certain child node are completed, the child node is added to the set of executable tasks. The processing steps of the collaborative interaction task are determined according to the step number corresponding to the collaborative interaction task in the set of collaborative tasks. Figure 3 This is a schematic diagram illustrating the code generation of the collaborative interaction model according to an embodiment of the present invention, such as... Figure 3 The diagram illustrates the code generation process for the collaborative interaction model. Figure 4 This is a schematic diagram of the interaction process of the collaborative interaction model according to an embodiment of the present invention, such as... Figure 4 As shown, this illustrates the management process of the collaborative interaction model.

[0033] In step S120, an effective dynamic rendering module version is selected through an election mechanism. The effective dynamic rendering module is used to render the processing results of the collaborative interaction task, generate dynamic rendering resources, broadcast the dynamic rendering resources to all Lingjing Network clients when an interaction request is generated, and control the playback speed of the animation dynamically generated by the Lingjing Network clients.

[0034] The election mechanism involves comparing all versions of the dynamic rendering module when multiple versions of the Lingjing Network client connect online, selecting the version with the largest version number to generate the dynamic rendering resource. This largest version dynamic rendering module is then sent to the server to provide subsequent services. Figure 5 This is a schematic diagram of the election mechanism according to an embodiment of the present invention, as shown below. Figure 5 The image shows the process of selecting the dynamic rendering module to be enabled.

[0035] When a dynamic rendering request arises between Lingjing Network clients, this request is sent to the server. The dynamic rendering module on the server then generates dynamic rendering resources and sends these resources to all Lingjing Network clients. Figure 6 This is a schematic diagram illustrating the dynamic rendering resource generation and distribution according to an embodiment of the present invention, as shown below. Figure 6 As shown, this illustrates the process of generating and distributing dynamic rendering resources.

[0036] When an interactive request is generated, the server broadcasts the dynamic rendering resources to all Lingjing Network clients and then receives the dynamic rendering resource response messages from the Lingjing Network clients. Once the server receives the dynamic rendering resource response messages from all Lingjing Network clients, it starts playing the animation. If the server does not receive the dynamic rendering resource response messages after a certain period of time, it continues to play the animation on the Lingjing Network clients.

[0037] In this embodiment, when two Lingjing Network clients perform a handshake, their hand model resources and the quaternion or matrix representing the arm's current posture are sent to the server's dynamic rendering module. The server's dynamic rendering module generates a skinned animation representing the handshake based on the received information and the physical system, and sends the generated skinned animation to all Lingjing Network clients. Each client replies with a "received" message after receiving the animation. Only when the server sends the skinned animation to all clients and receives "received" messages from all clients can it be said that all clients have received the animation file. At this time, the dynamic rendering module will send a "play skinned animation" message to each client.

[0038] The dynamic rendering module has the following characteristics in development progress management: the internal code of the dynamic rendering module before generating dynamic rendering resources is separated from other code, forming an independent DLL file with an independent version number. This independent DLL file is used for independent development and release. Other programs must link the independent DLL file into their programs in order to use the dynamic rendering module.

[0039] In summary, the above technical solutions of this invention propose a method for dynamically generating distributed rendering resources. A collaborative interaction model is used to control the generation, distribution, and synchronization of dynamic rendering resources, improving management and control efficiency. The use of dynamic rendering module resources eliminates the dependence on static resources during interaction, enhancing the rendering effect of scenes with multiple interactions. A unified standard is adopted for the generation and broadcasting of dynamic rendering resources, ensuring the use of the latest version of the dynamic rendering module to generate the latest resources while guaranteeing the consistency of animation display on the client side. The extraction of dynamic rendering module code improves the efficiency of code development and management.

[0040] Device Examples

[0041] According to embodiments of the present invention, a device for dynamically generating distributed rendering resources is provided. Figure 7 This is a schematic diagram of a dynamic generation device for distributed rendering resources according to an embodiment of the present invention, such as... Figure 7 As shown, the dynamic generation device for distributed rendering resources according to an embodiment of the present invention specifically includes:

[0042] The collaborative interaction module 80 is used to respond to dynamic resource requests sent by users, determine the processing steps of collaborative interaction tasks through a collaborative interaction model, and execute the processing steps to obtain the processing result of the collaborative interaction tasks. Specifically, the collaborative interaction module 80 uses a collaborative task sequence, an executable task set, a collaborative task set, and an interaction step table to determine the processing steps of collaborative interaction tasks. That is, when a collaborative interaction task is detected to be completed, it is removed from the executable task set. Each child node of the collaborative interaction task in the collaborative task sequence is checked. If all collaborative interaction tasks pointed to by the parent node set parameter of a certain child node are completed, the child node is added to the executable task set. The processing steps of the collaborative interaction task are determined according to the step number corresponding to the collaborative interaction task in the collaborative task set.

[0043] The dynamic rendering resource generation and broadcasting module 82 is used to select the effective dynamic rendering module version through an election mechanism, use the effective dynamic rendering module to render the processing results of collaborative interaction tasks, generate dynamic rendering resources, broadcast the dynamic rendering resources to all Lingjing Network clients when an interaction request arises, and control the playback speed of the dynamically generated animations on the Lingjing Network clients. Specifically, the dynamic rendering resource generation and broadcasting module 82 is used for:

[0044] When multiple versions of the dynamic rendering module appear online in the Lingjing Network client, the dynamic rendering module with the largest version number is selected to generate dynamic rendering resources. When an interaction request occurs, the dynamic rendering resources are broadcast to all Lingjing Network clients, and then the client receives dynamic rendering resource response messages from all Lingjing Network clients. When all dynamic rendering resource response messages are received from all Lingjing Network clients, the animation is played. If no dynamic rendering resource response message is received after a certain period of time, the animation continues to play on the Lingjing Network client.

[0045] The internal code of the dynamic rendering module before generating dynamic rendering resources is separated from other code and formed into an independent .dll file with its own version number. This independent .dll file is used for independent development and distribution. Other programs must link the independent .dll file into their programs in order to use the dynamic rendering module.

[0046] In summary, the technical solutions of the embodiments of the present invention propose a dynamic generation device for distributed rendering resources. A collaborative interaction model is used to control the generation, distribution, and synchronization of dynamic rendering resources, improving management and control efficiency. The use of dynamic rendering module resources eliminates the dependence on static resources during interaction, enhancing the rendering effect of scenes with multiple interactions. A unified standard is adopted for the generation and broadcasting of dynamic rendering resources, ensuring the use of the latest version of the dynamic rendering module to generate the latest resources while guaranteeing the consistency of animation display on the client. The extraction of dynamic rendering module code improves the efficiency of code development and management.

[0047] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A method for dynamically generating distributed rendering resources, characterized in that, include: In response to a dynamic resource request sent by a user, the processing steps of the collaborative interaction task are determined through a collaborative interaction model, and the processing steps are executed to obtain the processing result of the collaborative interaction task; wherein, the specific steps of determining the processing steps of the collaborative interaction task through the collaborative interaction model include: using a collaborative task sequence, an executable task set, a collaborative task set, and an interaction step table to determine the processing steps of the collaborative interaction task. The effective dynamic rendering module version is selected through an election mechanism. The effective dynamic rendering module is then used to render the processing results of the collaborative interaction task, generating dynamic rendering resources. When an interaction request arises, the dynamic rendering resources are broadcast to all Lingjing Network clients. After broadcasting the dynamic rendering resources to all Lingjing Network clients, the server receives dynamic rendering resource response messages from the Lingjing Network clients. When the server receives the dynamic rendering resource response messages from all Lingjing Network clients, the animation is played. If the server does not receive the dynamic rendering resource response messages after a certain period, the animation continues to play on the Lingjing Network clients. Specifically, the selection of the effective dynamic rendering module version through the election mechanism includes: when multiple dynamic rendering module versions are available online for Lingjing Network clients, the dynamic rendering module with the largest version number is selected to generate the dynamic rendering resources.

2. The method of claim 1, wherein, The specific steps for determining collaborative interaction tasks through the collaborative interaction model include: When a collaborative interaction task is detected to be completed, the collaborative interaction task is removed from the set of executable tasks. Each child node of the collaborative interaction task in the collaborative task sequence is detected. If all the collaborative interaction tasks pointed to by the parent node set parameter of a certain child node are completed, the child node is added to the set of executable tasks. The processing steps of the collaborative interaction task are determined according to the step number corresponding to the collaborative interaction task in the set of collaborative tasks.

3. The method of claim 1, wherein, The step of using the activated dynamic rendering module to render the processing result of the collaborative interaction task and generate dynamic rendering resources specifically includes: The internal code of the dynamic rendering module before generating the dynamic rendering resources is separated from other code to form an independent DLL file with an independent version number, which is used for independent development and release of the independent DLL file.

4. A device for dynamic generation of distributed rendering resources, characterized in that include: The collaborative interaction module is used to respond to dynamic resource requests sent by users, determine the processing steps of the collaborative interaction task through a collaborative interaction model, and execute the processing steps to obtain the processing result of the collaborative interaction task; the collaborative interaction module is specifically used to: determine the processing steps of the collaborative interaction task using a collaborative task sequence, an executable task set, a collaborative task set, and an interaction step table. The dynamic rendering resource generation and broadcast module is used for selecting an effective dynamic rendering module version through an election mechanism, rendering the processing result of the cooperative interaction task by using the effective dynamic rendering module, generating a dynamic rendering resource, broadcasting the dynamic rendering resource to all spirit world network clients when an interaction demand is generated, receiving a dynamic rendering resource reply message of the spirit world network client after the dynamic rendering resource is broadcast to all spirit world network clients, playing an animation when the dynamic rendering resource reply message of all spirit world network clients is received, and continuing to play the animation on the spirit world network client if the dynamic rendering resource reply message is not received within a certain time.

5. The apparatus of claim 4, wherein, The cooperative interaction model is specifically used for: When it is detected that the cooperative interaction task is completed, the cooperative interaction task is removed from the executable task set, each child node of the cooperative interaction task in the cooperative task sequence is detected, if the parent node set parameters of a certain child node point to the completed cooperative interaction tasks, the child node is added to the executable task set, and the processing step of the cooperative interaction task is determined according to the step number corresponding to the cooperative interaction task in the cooperative task set.

6. The apparatus of claim 4, wherein, The dynamic rendering resource generation and broadcast module is specifically used for: The internal code of the dynamic rendering module before the dynamic rendering resource is generated is separated from other codes to form an independent dll file with an independent version number, and the independent dll file is used for independent development and release.

Citation Information

Patent Citations

  • Distribution type rendering method

    CN102685239A

  • Interaction method and device, computer equipment and computer readable storage medium

    CN113867538A