A Windows three-dimensional cloud rendering system, method and device
By judging the similarity between historical rendering models and the current model in the Windows system, dynamically allocating rendering tasks and building a cloud rendering node cluster, the problems of resource waste and task backlog in the Windows system are solved, and efficient 3D cloud rendering is achieved.
Patent Information
- Application Number
- CN202511318039.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-16
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2045-09-16
AI Technical Summary
In cloud rendering scenarios based on Windows systems, there are problems such as resource waste or task backlog, resulting in excessively long rendering times.
The model data acquisition unit determines the similarity between the historical rendering model and the current model, the load balancing unit dynamically allocates rendering tasks, a cloud rendering node cluster is built, and local resources of the Windows system are called for rendering.
It improves resource utilization, reduces redundant rendering work, ensures accurate execution and rapid completion of rendering tasks, and enhances the overall performance and stability of the system.
Smart Images

Figure CN120821548B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of cloud computing technology, and more specifically, to a Windows 3D cloud rendering system, method, and device. Background Technology
[0002] With the continuous development of cloud computing technology, 3D rendering has been widely used in many fields. Currently, traditional 3D cloud rendering solutions are mostly built on the Linux operating system, and typically use virtualization or container technology to deploy rendering nodes, and utilize GPU acceleration clusters for distributed rendering, thereby enabling complex rendering tasks to be completed through cloud servers.
[0003] In related technologies, since a large number of users still use Windows systems, there is a need for 3D cloud rendering based on Windows. In Windows-based application scenarios, static weight allocation or polling mechanisms are often used to assign tasks to nodes, which can easily lead to resource waste or task backlog. This results in some rendering nodes being overloaded while others are underloaded, causing longer cloud rendering times on Windows systems and affecting the overall cloud rendering effect. Summary of the Invention
[0004] The problem addressed by this invention is how to improve the efficiency of Windows-based cloud rendering.
[0005] To address the above problems, this invention provides a Windows 3D cloud rendering system, method, and device.
[0006] In a first aspect, the present invention provides a Windows 3D cloud rendering system, wherein the system is applied to a cloud server, the cloud server comprising multiple service nodes, and the Windows 3D cloud rendering system comprises:
[0007] The model data acquisition unit is used to determine whether a corresponding historical rendering model is stored in the cloud server when the current model and rendering task uploaded by the Windows system are received. The historical model corresponding to the historical rendering model is at least partially the same as the current model, and the historical rendering task corresponding to the historical rendering model is the same as the rendering task. Based on the determination result, the unit acquires the 3D model data to be rendered and the rendering parameters corresponding to the 3D model data.
[0008] A load balancing unit is used to dynamically allocate the rendering task to multiple service nodes based on the node status of the service nodes, and to use the service nodes as rendering nodes.
[0009] The task scheduling unit is used to construct a cloud-based rendering node cluster of the Windows system based on all the rendering nodes; deploy rendering tools in the Windows system based on the cloud-based rendering node cluster; and call local resources of the Windows system.
[0010] The rendering unit is used to render the three-dimensional model data according to the rendering parameters using the rendering tool and the local resources, thereby obtaining the rendering result of the three-dimensional model data.
[0011] Optionally, the model data acquisition unit is specifically used for:
[0012] When the current model and the rendering task uploaded by the Windows system are received, it is determined whether there is a historical model in the cloud server that is at least partially the same as the current model, and a historical rendering task that is the same as the rendering task of the current model;
[0013] If yes, it is determined that the corresponding historical rendering model is stored in the cloud server; otherwise, it is determined that the corresponding historical rendering model is not stored in the cloud server.
[0014] When the cloud server stores the corresponding historical rendering model, the current model is mapped to the corresponding historical model to obtain the hash value corresponding to the current model and the historical model;
[0015] By comparing the MD5 hash values of the current model and the historical model, the differences between the current model and the historical model are determined.
[0016] The model data of the difference portion is used as the 3D model data to be rendered in the rendering task;
[0017] When the cloud server stores the corresponding historical rendering model, the data of the current model is used as the 3D model data.
[0018] Optionally, the model data acquisition unit is specifically used for:
[0019] Obtain the 3D model data uploaded by the Windows system, as well as the model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environmental parameters of the 3D model data;
[0020] The integrity of the model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environmental parameters is checked to determine whether the model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environmental parameters are abnormal.
[0021] If any of the model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environment parameters is abnormal, the abnormal information of the parameter is reported to the Windows system.
[0022] If there are no abnormalities in the model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environment parameters, then the model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environment parameters are used as the rendering parameters.
[0023] Optionally, the load balancing unit is specifically used for:
[0024] Obtain the node status of each of the service nodes, wherein the node status includes the GPU utilization, memory usage, and network bandwidth of the service node;
[0025] By using a preset load assessment algorithm, the current load level of each service node is determined based on its GPU utilization, memory usage, and network bandwidth.
[0026] Based on the projected resource requirements of the rendering task and the current load level of each service node, a dynamic allocation algorithm is used to determine the amount of rendering tasks that each service node can handle.
[0027] Based on the rendering task volume and rendering parameters of each service node, the rendering task is allocated to each service node, and each service node is used as the rendering node.
[0028] Optionally, the load balancing unit is further configured to:
[0029] Based on the rendering parameters, the rendering task is divided into multiple subtasks;
[0030] Specifically, based on the model attribute parameters, the lighting parameters, the camera parameters, the rendering quality parameters, and the environment parameters, the rendering task is divided into sub-tasks corresponding to the model attribute parameters, the lighting parameters, the camera parameters, the rendering quality parameters, and the environment parameters, respectively.
[0031] Based on the rendering task volume of each service node, each subtask is assigned to the service node, and the service node is used as the rendering node.
[0032] Optionally, the task scheduling unit is specifically used for:
[0033] The communication protocol and data transmission format between the rendering nodes are set, and the rendering nodes are grouped and managed according to the preset cluster topology to obtain the cloud rendering node cluster.
[0034] The Windows Server operating subsystem of the Windows system runs through the cloud rendering node cluster;
[0035] The rendering tool is determined based on the rendering parameters, and the rendering tool includes a rendering engine and preset graphics software;
[0036] The rendering engine and / or preset graphics software are installed through the Windows Server operating subsystem;
[0037] The Windows Server operating subsystem mobilizes the GPU of the Windows system as a local resource.
[0038] Optionally, the rendering unit is specifically used for:
[0039] Through each of the rendering nodes, the 3D model data is loaded into the rendering engine and / or the preset graphics software to obtain the loaded model;
[0040] The loaded model is rendered according to the rendering parameters, and the rendering is accelerated by the GPU;
[0041] When all the subtasks are completed, the rendered loaded model is used as the rendering result of the 3D model data.
[0042] Optionally, the rendering unit is specifically used for:
[0043] The rendering process is executed according to the subtask of the rendering node to obtain the rendering result of the three-dimensional model data;
[0044] Specifically, the loading of the three-dimensional model data is performed to obtain the loaded model of the three-dimensional model data;
[0045] Based on the sub-tasks corresponding to the model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environment parameters, the loaded model is rendered using model attribute rendering, lighting rendering, viewpoint rendering, quality rendering, and environment rendering, respectively, to obtain the rendering result of the 3D model data.
[0046] Secondly, the Windows 3D cloud rendering method of the present invention is applied to a cloud server, the cloud server including multiple service nodes, and the Windows 3D cloud rendering method includes:
[0047] When the current model and rendering task uploaded by the Windows system are received, it is determined whether the cloud server stores a corresponding historical rendering model. The historical model corresponding to the historical rendering model is at least partially the same as the current model, and the historical rendering task corresponding to the historical rendering model is the same as the rendering task. Based on the determination result, the 3D model data to be rendered and the rendering parameters corresponding to the 3D model data are obtained.
[0048] The rendering task is dynamically allocated to multiple service nodes based on the node status of the service nodes, and the service nodes are used as rendering nodes.
[0049] Based on all the rendering nodes, construct a cloud-based rendering node cluster for the Windows system; deploy rendering tools on the Windows system based on the cloud-based rendering node cluster, and call upon the local resources of the Windows system;
[0050] The rendering tool and the local resources are used to render the data according to the rendering parameters, resulting in the rendering result of the 3D model data.
[0051] Thirdly, an electronic device according to the present invention includes: a processor and a memory, the memory being used to store a computer program;
[0052] When the computer program is loaded by the processor, it causes the processor to execute the Windows 3D cloud rendering method as described above.
[0053] The Windows 3D cloud rendering system, method, and device of the present invention, when receiving a rendering task, allows the model data acquisition unit to determine whether the current model and rendering task uploaded by the Windows system are duplicates. Specifically, when the model data acquisition unit receives the current model and rendering task uploaded by the Windows system, it determines whether a corresponding historical rendering model is stored in the cloud server. The historical model corresponding to the historical rendering model is at least partially identical to the current model, and the historical rendering task corresponding to the historical rendering model is the same as the current rendering task. Based on the determination result, the system acquires the 3D model data to be rendered and the rendering parameters corresponding to the 3D model data. Utilizing the information of the historical rendering model and task, the system can further optimize the model data acquisition and processing flow. By reducing the processing and transmission of duplicate data, the system can utilize resources more efficiently. This not only improves the speed of model data acquisition and processing but also reduces the system load, making the entire rendering process more efficient. Acquiring the corresponding 3D model data and rendering parameters based on the determination result not only reduces the need for identical rendering work on duplicate models but also avoids unnecessary data transmission. This improves the system's resource utilization and data management efficiency while ensuring the accurate execution of subsequent rendering tasks. The load balancing unit dynamically allocates rendering tasks based on the node status of service nodes, rationally distributing them across multiple service nodes as rendering nodes. Taking into account the real-time load of each service node, the load balancing unit ensures even distribution of rendering tasks across different nodes, preventing some nodes from being overloaded while others remain idle. This load balancing strategy not only improves the overall performance and stability of the system but also ensures that rendering tasks can be completed quickly and efficiently in high-concurrency scenarios, significantly enhancing the system's response speed and processing capacity. The task scheduling unit constructs a cloud-based rendering node cluster for the Windows system based on all rendering nodes. By integrating all available rendering nodes, a rendering resource pool is formed, enabling flexible handling of rendering tasks of varying scales and complexities. This not only improves resource utilization but also enhances the system's scalability and flexibility, allowing it to adapt to constantly changing business needs, while simultaneously improving system fault tolerance and ensuring the continuity and integrity of rendering tasks. By precisely deploying rendering tools within a cloud-based rendering node cluster on the Windows system, each rendering node is equipped with a suitable rendering engine and can fully utilize the local resources provided by the Windows system. This leverages the performance advantages of Windows, allowing the rendering tools to run efficiently in a familiar environment. Simultaneously, by utilizing high-performance local hardware resources, rendering speed and quality are significantly improved. By calling local resources, the system can achieve more complex rendering effects. As the execution core of the entire system, the rendering node, through the rendering tools and local resources, renders according to rendering parameters, ultimately obtaining the rendered result of the 3D model data.This invention transforms 3D model data into high-quality images or animations required by users through efficient rendering operations. By organically combining various units, it achieves efficient task acquisition, load balancing, resource scheduling, and rendering execution, providing users with a superior 3D cloud rendering solution. This enhances system reliability and scalability, effectively improving the efficiency of Windows-based cloud rendering. Attached Figure Description
[0054] Figure 1 This is a schematic diagram of the structure of a Windows 3D cloud rendering system in one embodiment of the present invention;
[0055] Figure 2 This is a flowchart illustrating a Windows 3D cloud rendering method in another embodiment of the present invention. Detailed Implementation
[0056] To make the above-mentioned objects, features, and advantages of the present invention more apparent and understandable, specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Although some embodiments of the present invention are shown in the drawings, it should be understood that the present invention can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present invention. It should be understood that the accompanying drawings and embodiments of the present invention are for illustrative purposes only and are not intended to limit the scope of protection of the present invention.
[0057] It should be understood that the various steps described in the method embodiments of the present invention may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present invention is not limited in this respect.
[0058] The term "comprising" and its variations as used herein are open-ended, meaning "including but not limited to"; the term "based on" means "at least partially based on"; the term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments"; and the term "optionally" means "optional embodiments". Definitions of other terms will be given in the following description. It should be noted that the concepts of "first," "second," etc., mentioned in this invention are used only to distinguish different devices, modules, or units, and are not intended to limit the order of functions performed by these devices, modules, or units or their interdependencies.
[0059] It should be noted that the terms "a" and "a plurality of" used in this invention are illustrative rather than restrictive. Those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0060] The names of the messages or information exchanged between the multiple devices in the embodiments of the present invention are for illustrative purposes only and are not intended to limit the scope of these messages or information.
[0061] To address the problems existing in the aforementioned related technologies, this embodiment provides a Windows 3D cloud rendering system, method, and device.
[0062] Combination Figure 1 As shown in the embodiment of the present invention, the Windows 3D cloud rendering system is applied to a cloud server, and the cloud server includes multiple service nodes.
[0063] Specifically, multiple virtual machine instances are created on a cloud server using virtualization technology, and each virtual machine instance can run as a service node.
[0064] The Windows 3D cloud rendering system includes:
[0065] The model data acquisition unit is used to determine whether a corresponding historical rendering model is stored in the cloud server when the current model and rendering task uploaded by the Windows system are received. The historical model corresponding to the historical rendering model is at least partially the same as the current model, and the historical rendering task corresponding to the historical rendering model is the same as the rendering task. Based on the determination result, the unit acquires the 3D model data to be rendered and the rendering parameters corresponding to the 3D model data.
[0066] Specifically, when the current model and rendering task uploaded from the Windows system are received, the model data acquisition unit first determines whether a corresponding historical rendering model exists in the cloud server. This determination is achieved by comparing the identifiers, key feature information, and rendering task parameters of the current model and historical models. Specifically, the model data acquisition unit extracts the identifier of the current model and queries the cloud server's database to determine if a historical rendering model with the same identifier exists. Simultaneously, it compares the parameters of the current rendering task (such as rendering resolution and lighting parameters) with those of historical rendering tasks to determine if there are completely identical tasks. If such a historical rendering model exists, and its corresponding historical rendering task is exactly the same as the current rendering task, the model data acquisition unit will utilize this historical information to optimize the model data acquisition process. It will directly retrieve the historical model data that is the same as or similar to the current model from the cloud server, without needing to retrieve the complete model data from the Windows system again. This significantly reduces data transmission volume, lowers system bandwidth pressure, and speeds up model data acquisition.
[0067] The load balancing unit is used to dynamically allocate the rendering task to multiple service nodes based on the node status of the service nodes, and to use the service nodes as rendering nodes.
[0068] Specifically, the load balancing unit dynamically allocates rendering tasks based on the node status of service nodes, rationally distributing them across multiple service nodes and using them as rendering nodes. Specifically, the load balancing unit continuously monitors the real-time load of each service node, including but not limited to key indicators such as CPU utilization, memory usage, network bandwidth, and GPU utilization. Through a pre-defined load assessment algorithm, the load balancing unit can accurately assess the current load level of each service node. When allocating rendering tasks, it comprehensively considers the expected resource requirements of the tasks and the load status of the nodes, using a dynamic allocation algorithm to calculate the amount of rendering tasks each service node can handle. Then, according to the calculation results, the rendering tasks are evenly distributed across multiple service nodes, ensuring that the load on each node is balanced. This dynamic allocation mechanism effectively avoids situations where some service nodes are overloaded while others are idle, thereby improving the overall system efficiency and performance. For example, in a cloud rendering cluster with multiple service nodes, the load balancing unit can ensure that newly submitted rendering tasks are allocated to nodes with lighter loads, making full use of the resources of each node and thus improving the overall throughput of the system.
[0069] In a preferred embodiment of the present invention, the load balancing unit achieves a reasonable allocation of rendering tasks among multiple service nodes through a weight-based dynamic allocation algorithm. Specifically, the load balancing unit first continuously monitors key indicators of each service node, including CPU utilization, memory usage, network bandwidth, and GPU utilization, and collects this data periodically. To assess the current load level of each service node, a weight is assigned to each indicator, representing its importance in assessing the load level of the service node. For example, the weight of CPU utilization is 0.25, the weight of memory usage is 0.25, the weight of network bandwidth is 0.2, and the weight of GPU utilization is 0.3. Next, the collected indicator data is standardized, mapping it to the same numerical range, such as between 0 and 1, to eliminate the influence of different indicator units and orders of magnitude. Using a preset load assessment algorithm, combined with the standardized indicator data and the corresponding weights, the current load level of each service node is calculated. Based on the load level of each service node and the expected resource requirements of the rendering tasks, the task allocation amount is determined using a dynamic allocation algorithm. Resource requirements can be estimated based on historical data or task characteristics. For example, the required CPU, memory, network, and GPU resources can be estimated based on task complexity and model size. Finally, the load balancing unit distributes rendering tasks evenly across multiple service nodes according to the calculation results, ensuring a balanced load on each node. This dynamic allocation mechanism effectively avoids situations where some service nodes are overloaded while others are idle, thereby improving the overall system efficiency and performance. For example, in a cloud rendering cluster with multiple service nodes, the load balancing unit can ensure that newly submitted rendering tasks are assigned to nodes with lighter loads, making full use of the resources of each node and thus improving the overall throughput of the system. In this way, the load balancing unit not only optimizes resource utilization but also enhances system stability and reliability, ensuring that rendering tasks can be completed efficiently and quickly.
[0070] The task scheduling unit is used to construct a cloud-based rendering node cluster of the Windows system based on all the rendering nodes; deploy rendering tools in the Windows system based on the cloud-based rendering node cluster; and call local resources of the Windows system.
[0071] Specifically, the task scheduling unit constructs a cloud-based rendering node cluster for the Windows system based on all rendering nodes. Specifically, the task scheduling unit collects and integrates information on all available rendering nodes, including their hardware configurations (such as GPU model, memory capacity, CPU performance, etc.) and software environments (such as rendering engine version, system update status, etc.). Based on this information, the task scheduling unit organizes these rendering nodes into a collaborative cloud-based rendering node cluster. During cluster construction, the task scheduling unit also performs health checks on each node to ensure that it is in good operating condition and can respond normally to rendering tasks. Simultaneously, the task scheduling unit precisely deploys rendering tools on the Windows system according to the cluster's size and resource configuration. This involves installing and configuring a suitable rendering engine on each rendering node and ensuring that these engines can effectively integrate and utilize local Windows system resources (such as GPU drivers, DirectX interfaces, etc.). Furthermore, the task scheduling unit establishes an internal communication mechanism within the cluster, configuring appropriate network parameters and security policies to enable efficient and reliable data transmission and task collaboration between the various rendering nodes. In this way, the task scheduling unit not only improves resource utilization but also enhances the system's scalability and flexibility, enabling it to adapt to rendering task requirements of different scales and complexities. At the same time, it improves the system's fault tolerance and ensures the continuity and integrity of rendering tasks.
[0072] The rendering unit is used to render the three-dimensional model data according to the rendering parameters using the rendering tool and the local resources, thereby obtaining the rendering result of the three-dimensional model data.
[0073] Specifically, the rendering unit uses rendering tools and local resources to render according to rendering parameters, obtaining the rendered result of the 3D model data. Specifically, the rendering unit first obtains the rendering task and related rendering parameters from the task scheduling unit. These rendering parameters include model attribute parameters (such as position, rotation, scaling, etc.), lighting parameters (such as light source type, intensity, color, etc.), camera parameters (such as position, viewpoint, focal length, etc.), rendering quality parameters (such as resolution, sampling rate, anti-aliasing level, etc.), and environmental parameters (such as ambient light intensity, background settings, etc.). The rendering unit applies these parameters to the 3D model data and performs the actual rendering calculations using rendering tools. During the rendering process, the rendering unit fully utilizes the local resources of the Windows system, such as high-performance GPUs, sufficient memory, and optimized rendering interfaces (such as DirectX or WDDM interfaces), to accelerate the rendering process and improve rendering quality. For example, when rendering a complex architectural design scene, the rendering unit can utilize the parallel computing power of the GPU to quickly calculate the shadow effects and material representation of the model under different lighting conditions, thereby generating a high-quality rendered image. The efficient operation of the rendering unit ensures the final output quality of the entire Windows 3D cloud rendering system. It integrates the work results of the previous units and transforms 3D model data into high-quality images or animations required by users through precise parameter control and resource access, meeting the needs of different industries and fields for 3D rendering.
[0074] The Windows 3D cloud rendering system of the present invention, when receiving a rendering task, allows the model data acquisition unit to determine whether the current model and rendering task uploaded by the Windows system are duplicates. Specifically, upon receiving the current model and rendering task uploaded by the Windows system, the model data acquisition unit determines whether a corresponding historical rendering model is stored in the cloud server. The historical model corresponds to at least partially the current model, and the historical rendering task corresponding to the historical rendering model is the same as the current rendering task. Based on the determination result, the system acquires the 3D model data to be rendered and the rendering parameters corresponding to the 3D model data. Utilizing the information from the historical rendering model and the task, the system can further optimize the model data acquisition and processing flow. By reducing the processing and transmission of duplicate data, the system can utilize resources more efficiently. This not only improves the speed of model data acquisition and processing but also reduces the system load, making the entire rendering process more efficient. Acquiring the corresponding 3D model data and rendering parameters based on the determination result not only reduces the need for identical rendering work on duplicate models but also avoids unnecessary data transmission. This improves the system's resource utilization and data management efficiency while ensuring the accurate execution of subsequent rendering tasks. The load balancing unit dynamically allocates rendering tasks based on the node status of service nodes, rationally distributing them across multiple service nodes as rendering nodes. Taking into account the real-time load of each service node, the load balancing unit ensures even distribution of rendering tasks across different nodes, preventing some nodes from being overloaded while others remain idle. This load balancing strategy not only improves the overall performance and stability of the system but also ensures that rendering tasks can be completed quickly and efficiently in high-concurrency scenarios, significantly enhancing the system's response speed and processing capacity. The task scheduling unit constructs a cloud-based rendering node cluster for the Windows system based on all rendering nodes. By integrating all available rendering nodes, a rendering resource pool is formed, enabling flexible handling of rendering tasks of varying scales and complexities. This not only improves resource utilization but also enhances the system's scalability and flexibility, allowing it to adapt to constantly changing business needs, while simultaneously improving system fault tolerance and ensuring the continuity and integrity of rendering tasks. By precisely deploying rendering tools within a cloud-based rendering node cluster on the Windows system, each rendering node is equipped with a suitable rendering engine and can fully utilize the local resources provided by the Windows system. This leverages the performance advantages of Windows, allowing the rendering tools to run efficiently in a familiar environment. Simultaneously, by utilizing high-performance local hardware resources, rendering speed and quality are significantly improved. By calling local resources, the system can achieve more complex rendering effects. As the execution core of the entire system, the rendering node, through the rendering tools and local resources, renders according to rendering parameters, ultimately obtaining the rendered result of the 3D model data.This invention transforms 3D model data into high-quality images or animations required by users through efficient rendering operations. By organically combining various units, it achieves efficient task acquisition, load balancing, resource scheduling, and rendering execution, providing users with a superior 3D cloud rendering solution. This enhances system reliability and scalability, effectively improving the efficiency of Windows-based cloud rendering.
[0075] Optionally, the model data acquisition unit is specifically used for:
[0076] When the current model and the rendering task uploaded by the Windows system are received, it is determined whether there is a historical model in the cloud server that is at least partially the same as the current model, and a historical rendering task that is the same as the rendering task of the current model;
[0077] If yes, it is determined that the corresponding historical rendering model is stored in the cloud server; otherwise, it is determined that the corresponding historical rendering model is not stored in the cloud server.
[0078] When the cloud server stores the corresponding historical rendering model, the current model is mapped to the corresponding historical model to obtain the hash value corresponding to the current model and the historical model;
[0079] By comparing the MD5 hash values of the current model and the historical model, the differences between the current model and the historical model are determined.
[0080] The model data of the difference portion is used as the 3D model data to be rendered in the rendering task;
[0081] When the cloud server stores the corresponding historical rendering model, the data of the current model is used as the 3D model data.
[0082] Specifically, when the model data acquisition unit receives the current model and rendering task uploaded from the Windows system, it first determines whether a historical model, at least partially identical to the current model, and a historical rendering task identical to the current model exist in the cloud server. To achieve this determination, the model data acquisition unit extracts key feature information of the current model, such as its geometry, vertex information, and facet information, and compares it with the historical model information stored in the cloud server. Simultaneously, it compares the parameters of the current rendering task (such as rendering resolution, lighting parameters, and camera parameters) with the parameters of historical rendering tasks to determine if a completely identical task exists. During this determination process, the model data acquisition unit calls the database query interface of the cloud server, inputting the feature information of the current model and the rendering task parameters to search for matching historical records. Matching conditions include partial similarity of model features and complete consistency of rendering task parameters. If such a historical record exists, it is determined that the corresponding historical rendering model is stored in the cloud server; otherwise, it is determined that it does not exist. When it is determined that the corresponding historical rendering model is stored in the cloud server, the model data acquisition unit maps the current model to the corresponding historical model, obtaining the hash values corresponding to the current model and the historical model. The hash value is calculated using the MD5 algorithm, which generates a fixed-length hash value string by hashing the model data. This hash value uniquely identifies the model's content; even if the model identifiers are the same, slight differences in content will result in different hash values. Through MD5 hash comparison, the model data acquisition unit determines the differences between the current and historical models based on their corresponding hash values. Specifically, the hash value of the current model is compared bit by bit with the hash value of the historical model to identify the model data corresponding to the different bits; this is the difference. The model data acquisition unit only uses the model data of the difference portion as the 3D model data to be rendered in the rendering task, thereby reducing data transfer volume and storage requirements. When the corresponding historical rendering model is not stored in the cloud server, the model data acquisition unit uses the current model's data as the 3D model data and obtains the corresponding complete rendering parameters to ensure that subsequent rendering tasks can be executed based on the complete model data and parameters. When processing new results obtained from rendering the difference portion, the model data acquisition unit will merge or update these new results with the historical rendering model. The fusion method involves directly replacing the corresponding areas in the historical model with the rendered results of the differences, or seamlessly stitching the old and new results together using image compositing techniques to form a complete rendering output. The update mechanism saves the new rendering results in the cloud server as a historical reference for future rendering tasks, continuously optimizing the system's rendering efficiency and quality.
[0083] In a preferred embodiment of the invention, after determining the differences between the current model and the historical model, the model data acquisition unit needs to fuse the newly rendered differences with the historical rendered model to form the final complete rendering output. The fusion methods are mainly divided into two types: direct replacement and image compositing. Direct replacement is suitable for parts of the model whose structure changes significantly. For example, if a part of the model's geometry changes, the model data acquisition unit will directly replace the corresponding area in the historical model with the newly rendered differences. This requires the system to accurately locate and replace specific parts of the model while ensuring the overall visual consistency and integrity of the replaced model. Image compositing is suitable for handling changes in lighting, materials, etc. This technique uses image processing software or algorithms to seamlessly stitch together the new and old rendering results. For example, when the texture or lighting effects of the model change, the new and old results can be stitched together through edge blending and color correction to generate a complete rendering output. The update mechanism saves the new rendering results in a cloud server as a historical reference for future rendering tasks. For example, in a rendering task for an architectural design, the architect makes partial modifications to the building's exterior, such as changing the shape of windows or adding new decorative elements. The model data acquisition unit identifies these differences through hash comparison and merges their rendering results with the historical rendering model. The merged complete rendering result is stored in the cloud server, becoming the new historical rendering model. In this way, when similar tasks arise in the future, the system can directly call this new model without re-rendering the entire model, thereby improving rendering efficiency and reducing resource consumption.
[0084] In this embodiment of the invention, the model data acquisition unit introduces identifier comparison and hash value calculation, enabling the system to accurately identify duplicate models and duplicate rendering tasks. This avoids repetitive processing of identical content and significantly reduces the consumption of computing resources. Simultaneously, the extraction and transmission mechanism for the differing parts not only reduces network bandwidth usage but also lowers storage space requirements, improving the overall efficiency of the system. Furthermore, this mechanism enhances the system's data management capabilities, making model data tracking and version control more convenient. For the complete processing flow of non-duplicate models, the accuracy and integrity of rendering tasks are ensured, providing users with practical and efficient 3D cloud rendering services.
[0085] Optionally, the model data acquisition unit is specifically used for:
[0086] Obtain the 3D model data uploaded by the Windows system, as well as the model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environmental parameters of the 3D model data;
[0087] The integrity of the model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environmental parameters is checked to determine whether the model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environmental parameters are abnormal.
[0088] If any of the model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environment parameters is abnormal, the abnormal information of the parameter is reported to the Windows system.
[0089] If there are no abnormalities in the model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environment parameters, then the model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environment parameters are used as the rendering parameters.
[0090] Specifically, during operation, the model data acquisition unit first acquires the 3D model data uploaded from the Windows system, along with associated model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environmental parameters. Model attribute parameters determine the model's spatial location, orientation, and size; lighting parameters define lighting conditions, including light source type, intensity, and color; camera parameters cover the camera's position, orientation, and projection method in the virtual scene; rendering quality parameters relate to the output image quality, such as resolution and sampling rate; and environmental parameters describe the scene's environmental characteristics, such as ambient light and background settings. After acquiring these parameters, the model data acquisition unit performs a comprehensive integrity check. This process carefully examines each parameter according to preset rules and standards, ensuring its correct format and reasonable values. For example, it checks whether the rendering resolution parameter conforms to common size standards and whether the light source intensity parameter is within a physically reasonable range. If all parameters are normal, they will be used as rendering parameters to guide subsequent rendering work.
[0091] In this embodiment of the invention, comprehensive parameter verification can promptly detect and report parameter anomalies, preventing erroneous rendering parameters from negatively impacting the results. This not only improves rendering quality but also saves time and resources, avoiding repeated rendering due to parameter errors.
[0092] Optionally, the load balancing unit is specifically used for:
[0093] Obtain the node status of each of the service nodes, wherein the node status includes the GPU utilization, memory usage, and network bandwidth of the service node;
[0094] By using a preset load assessment algorithm, the current load level of each service node is determined based on its GPU utilization, memory usage, and network bandwidth.
[0095] Based on the projected resource requirements of the rendering task and the current load level of each service node, a dynamic allocation algorithm is used to determine the amount of rendering tasks that each service node can handle.
[0096] Based on the rendering task volume and rendering parameters of each service node, the rendering task is allocated to each service node, and each service node is used as the rendering node.
[0097] Specifically, firstly, this unit is responsible for acquiring the node status of each service node, including key performance indicators such as GPU utilization, memory usage, and network bandwidth. These indicators reflect the current load and resource usage of the service nodes in real time. Using a pre-defined load assessment algorithm, the load balancing unit comprehensively analyzes the node status of each service node to determine its current load level. This algorithm may consider multiple factors, such as the node's resource consumption rate, historical load, and remaining available resources, to accurately assess the load capacity of each node. After determining the load level of each service node, the load balancing unit uses a dynamic allocation algorithm to calculate the amount of rendering tasks each service node can handle, based on the projected resource requirements of the current rendering task and the current load level of each service node. This process needs to consider the complexity of the task, the type and quantity of required resources, and the current status of the node to ensure the rationality and efficiency of task allocation. Finally, the load balancing unit precisely allocates rendering tasks to each service node based on the amount of rendering tasks allocated to each service node and the specific rendering parameters, enabling them to act as rendering nodes and execute the corresponding tasks. Throughout the process, the load balancing unit needs to continuously monitor and adjust the task allocation strategy to adapt to changes in system load and fluctuations in task requirements.
[0098] In this embodiment of the invention, by accurately acquiring the node status of service nodes and employing a preset load assessment algorithm and a dynamic allocation algorithm, the system can ensure the reasonable distribution of rendering tasks among multiple service nodes. This not only improves the overall performance and resource utilization of the system but also enhances its stability and reliability, avoiding system bottlenecks or node overload problems caused by uneven task allocation.
[0099] Optionally, the load balancing unit is further configured to:
[0100] Based on the rendering parameters, the rendering task is divided into multiple subtasks;
[0101] Specifically, based on the model attribute parameters, the lighting parameters, the camera parameters, the rendering quality parameters, and the environment parameters, the rendering task is divided into sub-tasks corresponding to the model attribute parameters, the lighting parameters, the camera parameters, the rendering quality parameters, and the environment parameters, respectively.
[0102] Based on the rendering task volume of each service node, each subtask is assigned to the service node, and the service node is used as the rendering node.
[0103] Specifically, when performing task allocation, the load balancing unit meticulously divides the rendering tasks based on rendering parameters. First, it decomposes the entire rendering task into multiple sub-tasks according to differences in model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environmental parameters. For example, sub-tasks related to model attribute parameters might involve processing attributes such as model position, rotation, and scaling; lighting parameter sub-tasks focus on calculating lighting effects, including the impact of light source type, intensity, and color on the scene; camera parameter sub-tasks handle rendering related to camera viewpoint, position, and projection method; rendering quality parameter sub-tasks concern the quality of the final image, such as resolution, sampling rate, and anti-aliasing; and environmental parameter sub-tasks mainly involve creating the scene atmosphere through ambient light and background settings. After task decomposition, the load balancing unit uses a dynamic allocation algorithm to distribute these sub-tasks to each service node based on the current rendering workload of each node. This process requires comprehensive consideration of the current load level of the service nodes, available resources, and the expected resource requirements of the sub-tasks. For example, computationally intensive lighting calculation sub-tasks may be preferentially allocated to service nodes with higher GPU utilization and sufficient memory. Meanwhile, the load balancing unit continuously monitors the status of service nodes to ensure the rationality of task allocation and the timeliness of dynamic adjustments. Throughout the process, the load balancing unit needs to accurately match the characteristics of subtasks with the capabilities of service nodes to ensure that each subtask can be executed efficiently on the most suitable node.
[0104] In this embodiment of the invention, by decomposing the rendering task into multiple subtasks and precisely allocating them according to the load and resource characteristics of the service nodes, it is ensured that each service node can operate in its optimal state, fully leveraging its hardware advantages. This not only improves the overall throughput of the system but also enhances its flexibility and scalability, enabling it to quickly adapt to rendering tasks of different types and complexities, helping to reduce task execution time and improve system responsiveness.
[0105] Optionally, the task scheduling unit is specifically used for:
[0106] The communication protocol and data transmission format between the rendering nodes are set, and the rendering nodes are grouped and managed according to the preset cluster topology to obtain the cloud rendering node cluster.
[0107] The Windows Server operating subsystem of the Windows system runs through the cloud rendering node cluster;
[0108] The rendering tool is determined based on the rendering parameters, and the rendering tool includes a rendering engine and preset graphics software;
[0109] The rendering engine and / or preset graphics software are installed through the Windows Server operating subsystem;
[0110] The Windows Server operating subsystem mobilizes the GPU of the Windows system as a local resource.
[0111] Specifically, the task scheduling unit is responsible for setting the communication protocol and data transmission format between rendering nodes, which is fundamental to ensuring efficient collaboration among nodes within the cluster. The communication protocol defines how nodes exchange information, including task allocation, status updates, and data synchronization, while the data transmission format standardizes the structure and encoding of the transmitted content, ensuring data integrity and consistency. Next, the task scheduling unit manages the rendering nodes in groups according to a pre-defined cluster topology, forming an ordered cloud-based rendering node cluster. This grouping management method improves the cluster's organization and manageability, making task scheduling more efficient. Furthermore, the task scheduling unit runs the Windows Server operating system subsystem through the cloud-based rendering node cluster. The Windows Server operating system subsystem provides a stable and reliable operating environment for the cluster, supporting multi-user access, resource management, and network services, ensuring that each rendering node collaborates in a unified operating system environment, facilitating unified management and monitoring. Regarding rendering tools, the task scheduling unit selects appropriate tools based on rendering parameters. These tools include the rendering engine and pre-defined graphics software. The rendering engine is the core component that performs the actual rendering calculations, responsible for converting 3D model data into the final image or animation. The pre-installed graphics software provides rich graphics processing functions and effects, enhancing the expressiveness of the rendering results. The task scheduling unit installs the necessary rendering engine and / or pre-installed graphics software through the Windows Server operating system, ensuring that each rendering node has all the software resources required to execute rendering tasks. Finally, the task scheduling unit utilizes the Windows system's GPU as a local resource through the Windows Server operating system. The GPU plays a crucial role in the rendering process; its powerful parallel computing capabilities can significantly accelerate graphics computation and rendering tasks. The task scheduling unit needs to ensure that each rendering node can fully utilize its local GPU resources to improve rendering efficiency and quality.
[0112] In this embodiment of the invention, by rationally setting communication protocols and data transmission formats, and managing groups according to a preset cluster topology, the system can efficiently organize and schedule multiple rendering nodes, forming a powerful rendering capability. Utilizing the Windows Server operating subsystem as a unified operating environment ensures system stability and compatibility, and simplifies management and maintenance. The system automatically determines rendering tools based on rendering parameters and installs and configures them through the operating subsystem, enabling it to flexibly adapt to different rendering needs and improving its versatility and adaptability.
[0113] Optionally, the rendering unit is specifically used for:
[0114] Through each of the rendering nodes, the 3D model data is loaded into the rendering engine and / or the preset graphics software to obtain the loaded model;
[0115] The loaded model is rendered according to the rendering parameters, and the rendering is accelerated by the GPU;
[0116] When all the subtasks are completed, the rendered loaded model is used as the rendering result of the 3D model data.
[0117] Specifically, the rendering unit loads 3D model data into the rendering engine and / or pre-defined graphics software through each rendering node to obtain the loaded model, ensuring that the model data can be correctly presented in the rendering environment. The rendering engine and pre-defined graphics software, as the main tools for processing 3D models, are responsible for converting the model data into a renderable format and applying corresponding material, texture, and other attributes, preparing for subsequent rendering operations. Next, the rendering unit renders the loaded model according to rendering parameters, a process involving the application of multiple parameters. For example, model attribute parameters determine the model's basic attributes such as position, rotation, and scaling in the scene; lighting parameters affect the scene's lighting effects, including the position, intensity, and color of light sources; camera parameters determine the scene's viewpoint and projection method, affecting the final image composition; rendering quality parameters relate to the image's detail, such as resolution and sampling rate; and environmental parameters provide information such as background and ambient light for the scene. These parameters work together to load the model, guiding the rendering engine in specific rendering calculations. During the rendering process, the GPU's accelerated rendering capabilities play a crucial role. GPUs, with their powerful parallel computing capabilities, can efficiently handle a large number of graphics calculations in rendering tasks, such as lighting calculations, texture mapping, and shadow generation. The rendering unit, by calling upon the GPU resources of the Windows system and utilizing technologies such as DirectX or WDDM interfaces, allocates rendering tasks to the GPU for execution, greatly accelerating rendering speed and improving rendering efficiency. Simultaneously, GPU-accelerated rendering can also achieve some complex graphics effects, such as real-time global illumination and physically based materials, thereby improving the quality of the rendering results. When all subtasks are completed, the rendering unit loads the model as the rendering result of the 3D model data. This means that the results of the subtasks processed by each rendering node need to be integrated. The rendering unit is responsible for collecting and integrating the rendering results of each subtask, ensuring that the final rendering result completely and accurately reflects the requirements of the original 3D model data and rendering parameters. This process may involve operations such as image stitching and data fusion to generate the final high-quality image or animation sequence.
[0118] In this embodiment of the invention, by loading the 3D model data into the rendering engine and preset graphics software, the correct presentation and efficient processing of the model data are ensured. Rendering is performed according to the rendering parameters, and GPU acceleration is utilized, which not only improves the rendering speed but also enhances the quality of the rendering results, enabling the system to quickly generate high-quality images and animations. When all subtasks are completed, the loaded model is used as the final rendering result, ensuring the integrity and accuracy of the rendering task.
[0119] Optionally, the rendering unit is specifically used for:
[0120] The rendering process is executed according to the subtask of the rendering node to obtain the rendering result of the three-dimensional model data;
[0121] Specifically, the loading of the three-dimensional model data is performed to obtain the loaded model of the three-dimensional model data;
[0122] Based on the sub-tasks corresponding to the model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environment parameters, the loaded model is rendered using model attribute rendering, lighting rendering, viewpoint rendering, quality rendering, and environment rendering, respectively, to obtain the rendering result of the 3D model data.
[0123] Specifically, when executing rendering tasks, the rendering unit relies heavily on the cloud-based rendering node cluster and task allocation mechanism built by the task scheduling unit. First, the rendering unit obtains subtasks assigned to each rendering node; these subtasks are divided according to the characteristics and rendering parameters of the rendering task. Based on the specific requirements of these subtasks, the rendering unit begins processing the 3D model data stored on the cloud server. The loading process of the 3D model data involves reading the model's geometric information, material properties, and other relevant data into a format that the rendering engine and / or preset graphics software can process, generating what is known as the loaded model. The loaded model is the foundation for all subsequent rendering operations, ensuring that the model can be accurately rendered in the rendering environment. The rendering unit performs different rendering processes on the loaded model based on model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environmental parameters. Model attribute parameters determine the model's basic properties in the scene, such as position, rotation, and scaling; these properties directly affect how the model is rendered in the final image. Lighting parameters control the lighting conditions in the scene, including the position, intensity, and color of light sources. The rendering unit uses these parameters to calculate the interaction between light and the model surface, generating realistic shadows and highlights. Camera parameters define the scene's viewpoint and viewing direction. The rendering unit uses these parameters to set up the virtual camera and determine the final image's composition and field of view. Rendering quality parameters, such as resolution and sampling rate, affect the image's detail and sharpness. The rendering unit adjusts the computational precision and output image quality accordingly. Environmental parameters provide background and ambient light information for the scene, which the rendering unit uses to create the desired scene atmosphere. In the actual rendering process, the rendering unit utilizes the Windows system's GPU resources for accelerated rendering by calling the rendering engine and pre-defined graphics software interfaces. The GPU's parallel computing capabilities enable complex lighting calculations and texture mapping to be completed quickly. The rendering unit allocates GPU resources rationally according to the characteristics and requirements of each subtask, ensuring efficient execution of each rendering step. For example, when processing the lighting rendering subtask, the rendering unit may call the GPU's shader program to calculate ray tracing effects, thereby improving the rendering's realism and speed. When all subtasks are completed, the rendering unit integrates the rendering results of each subtask to generate the final 3D model data rendering result. This involves image compositing and data fusion of different rendering outputs (such as model attribute rendering results, lighting rendering results, etc.) to ensure the integrity and consistency of the final result. The integration process may require operations such as color correction, image stitching, and post-processing to generate high-quality images or animation sequences that meet the user's expectations.
[0124] In this embodiment of the invention, by performing targeted rendering operations based on subtasks and fully utilizing GPU-accelerated rendering, rendering speed and efficiency are significantly improved, and user waiting time is shortened. Simultaneously, the application of parameters in various aspects ensures the accuracy and quality of the rendering results, enabling the system to generate high-quality images and animations to meet the needs of different fields and users.
[0125] Combination Figure 2 As shown in the figure, an embodiment of the present invention provides a Windows 3D cloud rendering method, which is applied to a cloud server, the cloud server including multiple service nodes, and the Windows 3D cloud rendering method includes:
[0126] When the current model and rendering task uploaded by the Windows system are received, it is determined whether the cloud server stores a corresponding historical rendering model. The historical model corresponding to the historical rendering model is at least partially the same as the current model, and the historical rendering task corresponding to the historical rendering model is the same as the rendering task. Based on the determination result, the 3D model data to be rendered and the rendering parameters corresponding to the 3D model data are obtained.
[0127] The rendering task is dynamically allocated to multiple service nodes based on the node status of the service nodes, and the service nodes are used as rendering nodes.
[0128] Based on all the rendering nodes, construct a cloud-based rendering node cluster for the Windows system; deploy rendering tools on the Windows system based on the cloud-based rendering node cluster, and call upon the local resources of the Windows system;
[0129] The rendering tool and the local resources are used to render the data according to the rendering parameters, resulting in the rendering result of the 3D model data.
[0130] The Windows 3D cloud rendering method of the present invention has the same advantages over the prior art as the aforementioned Windows 3D cloud rendering system over the prior art, and will not be repeated here.
[0131] An electronic device provided by an embodiment of the present invention includes: a processor and a memory, wherein the memory is used to store computer programs;
[0132] When the computer program is loaded by the processor, it causes the processor to execute the Windows 3D cloud rendering method as described above.
[0133] Alternatively, when the computer program is loaded by the processor, it causes the processor to perform the following operations:
[0134] When the current model and rendering task uploaded by the Windows system are received, it is determined whether the cloud server stores a corresponding historical rendering model. The historical model corresponding to the historical rendering model is at least partially the same as the current model, and the historical rendering task corresponding to the historical rendering model is the same as the rendering task. Based on the determination result, the 3D model data to be rendered and the rendering parameters corresponding to the 3D model data are obtained.
[0135] The rendering task is dynamically allocated to multiple service nodes based on the node status of the service nodes, and the service nodes are used as rendering nodes.
[0136] Based on all the rendering nodes, construct a cloud-based rendering node cluster for the Windows system; deploy rendering tools on the Windows system based on the cloud-based rendering node cluster, and call upon the local resources of the Windows system;
[0137] The rendering tool and the local resources are used to render the data according to the rendering parameters, resulting in the rendering result of the 3D model data.
[0138] The electronic device of the present invention has the same advantages over the prior art as the Windows 3D cloud rendering system described above, and will not be repeated here.
[0139] While the present invention has been disclosed above, its scope of protection is not limited thereto. Those skilled in the art can make various changes and modifications without departing from the spirit and scope of the present invention, and all such changes and modifications will fall within the scope of protection of the present invention.
Claims
1. A Windows 3D cloud rendering system, characterized in that, The system is applied to a cloud server, which includes multiple service nodes. The Windows 3D cloud rendering system includes: The model data acquisition unit is used to, when receiving the current model and rendering task uploaded by the Windows system, determine whether a corresponding historical rendering model is stored in the cloud server, wherein the historical model corresponding to the historical rendering model is at least partially the same as the current model, and the historical rendering task corresponding to the historical rendering model is the same as the rendering task; and acquire the 3D model data to be rendered and the rendering parameters corresponding to the 3D model data based on the determination result; specifically including: When the current model and rendering task uploaded by the Windows system are received, it is determined whether a historical model that is at least partially identical to the current model and a historical rendering task that is identical to the rendering task of the current model exist in the cloud server. If yes, it is determined that the corresponding historical rendering model is stored in the cloud server; otherwise, it is determined that the corresponding historical rendering model is not stored in the cloud server. When the corresponding historical rendering model is stored in the cloud server, the current model and the corresponding historical model are mapped to obtain the hash values corresponding to the current model and the historical model. Through MD5 hash comparison, the difference between the current model and the historical model is determined based on the hash values corresponding to the current model and the historical model. The model data of the difference part is used as the 3D model data to be rendered in the rendering task. When the corresponding historical rendering model is stored in the cloud server, the data of the current model is used as the 3D model data. The system acquires the 3D model data uploaded by the Windows system, along with the model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environmental parameters of the 3D model data. It performs an integrity check on the model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environmental parameters to determine if any of these parameters are abnormal. If any one of these parameters is abnormal, the system sends an error message to the Windows system. If none of these parameters are abnormal, they are used as the rendering parameters. A load balancing unit is used to dynamically allocate the rendering task to multiple service nodes based on the node status of the service nodes, and to use the service nodes as rendering nodes. The task scheduling unit is used to construct a cloud-based rendering node cluster of the Windows system based on all the rendering nodes; deploy rendering tools in the Windows system based on the cloud-based rendering node cluster; and call local resources of the Windows system. The rendering unit is used to render the three-dimensional model data according to the rendering parameters using the rendering tool and the local resources, thereby obtaining the rendering result of the three-dimensional model data.
2. The Windows 3D cloud rendering system according to claim 1, characterized in that, The load balancing unit is specifically used for: Obtain the node status of each of the service nodes, wherein the node status includes the GPU utilization, memory usage, and network bandwidth of the service node; By using a preset load assessment algorithm, the current load level of each service node is determined based on its GPU utilization, memory usage, and network bandwidth. Based on the projected resource requirements of the rendering task and the current load level of each service node, a dynamic allocation algorithm is used to determine the amount of rendering tasks that each service node can handle. Based on the rendering task volume and rendering parameters of each service node, the rendering task is allocated to each service node, and each service node is used as the rendering node.
3. The Windows 3D cloud rendering system according to claim 2, characterized in that, The load balancing unit is further configured to: Based on the rendering parameters, the rendering task is divided into multiple subtasks; Specifically, based on the model attribute parameters, the lighting parameters, the camera parameters, the rendering quality parameters, and the environment parameters, the rendering task is divided into sub-tasks corresponding to the model attribute parameters, the lighting parameters, the camera parameters, the rendering quality parameters, and the environment parameters, respectively. Based on the rendering task volume of each service node, each subtask is assigned to the service node, and the service node is used as the rendering node.
4. The Windows 3D cloud rendering system according to claim 3, characterized in that, The task scheduling unit is specifically used for: The communication protocol and data transmission format between the rendering nodes are set, and the rendering nodes are grouped and managed according to the preset cluster topology to obtain the cloud rendering node cluster. The Windows Server operating subsystem of the Windows system runs through the cloud rendering node cluster; The rendering tool is determined based on the rendering parameters, and the rendering tool includes a rendering engine and preset graphics software; The rendering engine and / or preset graphics software are installed through the Windows Server operating subsystem; The Windows Server operating subsystem mobilizes the GPU of the Windows system as a local resource.
5. The Windows 3D cloud rendering system according to claim 4, characterized in that, The rendering unit is specifically used for: Through each of the rendering nodes, the 3D model data is loaded into the rendering engine and / or the preset graphics software to obtain the loaded model; The loaded model is rendered according to the rendering parameters, and the rendering is accelerated by the GPU; When all the subtasks are completed, the rendered loaded model is used as the rendering result of the 3D model data.
6. The Windows 3D cloud rendering system according to claim 3, characterized in that, The rendering unit is specifically used for: The rendering process is executed according to the subtask of the rendering node to obtain the rendering result of the three-dimensional model data; Specifically, the loading of the three-dimensional model data is performed to obtain the loaded model of the three-dimensional model data; Based on the sub-tasks corresponding to the model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environment parameters, the loaded model is rendered using model attribute rendering, lighting rendering, viewpoint rendering, quality rendering, and environment rendering, respectively, to obtain the rendering result of the 3D model data.
7. A Windows 3D cloud rendering method, characterized in that, The method is applied to a cloud server, which includes multiple service nodes. The Windows 3D cloud rendering method includes: When the current model and rendering task uploaded from the Windows system are received, it is determined whether a corresponding historical rendering model is stored in the cloud server. The historical model corresponding to the historical rendering model is at least partially identical to the current model, and the historical rendering task corresponding to the historical rendering model is identical to the current rendering task. Based on the determination result, the 3D model data to be rendered and the rendering parameters corresponding to the 3D model data are obtained. Specifically, this includes: When the current model and rendering task uploaded by the Windows system are received, it is determined whether a historical model that is at least partially identical to the current model and a historical rendering task that is identical to the rendering task of the current model exist in the cloud server. If yes, it is determined that the corresponding historical rendering model is stored in the cloud server; otherwise, it is determined that the corresponding historical rendering model is not stored in the cloud server. When the corresponding historical rendering model is stored in the cloud server, the current model and the corresponding historical model are mapped to obtain the hash values corresponding to the current model and the historical model. Through MD5 hash comparison, the difference between the current model and the historical model is determined based on the hash values corresponding to the current model and the historical model. The model data of the difference part is used as the 3D model data to be rendered in the rendering task. When the corresponding historical rendering model is stored in the cloud server, the data of the current model is used as the 3D model data. The system acquires the 3D model data uploaded by the Windows system, along with the model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environmental parameters of the 3D model data. It performs an integrity check on the model attribute parameters, lighting parameters, camera parameters, rendering quality parameters, and environmental parameters to determine if any of these parameters are abnormal. If any one of these parameters is abnormal, the system sends an error message to the Windows system. If none of these parameters are abnormal, they are used as the rendering parameters. The rendering task is dynamically allocated to multiple service nodes based on the node status of the service nodes, and the service nodes are used as rendering nodes. Based on all the rendering nodes, construct a cloud-based rendering node cluster for the Windows system; deploy rendering tools on the Windows system based on the cloud-based rendering node cluster, and call upon the local resources of the Windows system; The rendering tool and the local resources are used to render the data according to the rendering parameters, resulting in the rendering result of the 3D model data.
8. An electronic device, characterized in that, include: Processor and memory, the memory being used to store computer programs; When the computer program is loaded by the processor, it causes the processor to execute the Windows 3D cloud rendering method as described in claim 7.
Citation Information
Patent Citations
Method for real-time cloud rendering cluster deployment
CN115964163A
Parallel rendering cluster application method of heterogeneous hybrid three-dimensional real-time cloud rendering platform
CN116797438A
Cited By
Three-dimensional rendering task scheduling and resource allocation method and platform based on cloud collaboration
CN122111624A
Three-dimensional rendering task scheduling and resource allocation method and platform based on cloud collaboration
CN122111624B