Computer graphics system and a method thereof

The computer graphics system addresses LOD transition challenges by dynamically adjusting LODs using a cluster-based DAG structure, optimizing rendering speed and quality in multi-viewer scenarios through adaptive LOD selection and memory management.

WO2026124770A1PCT designated stage Publication Date: 2026-06-18HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD +1

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
Filing Date
2024-12-12
Publication Date
2026-06-18

AI Technical Summary

Technical Problem

Conventional LOD systems face challenges in managing rapid LOD transitions, leading to performance issues and inefficient utilization of GPU resources, particularly in multi-viewer scenarios, and existing cloud rendering approaches fail to leverage GPU proximity and reduce redundant calculations.

Method used

A computer graphics system utilizing a hierarchical, cluster-based micro-polygon LOD system with a Directed Acyclic Graph (DAG) structure, dynamically adjusts LODs based on viewing distance and memory constraints, optimizing rendering speed and quality through a view-dependent cut and adaptive LOD selection process.

🎯Benefits of technology

Enhances performance and quality by minimizing VRAM usage, reducing redundant calculations, and optimizing GPU memory utilization, ensuring seamless integration and efficient rendering in multi-viewer environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024085971_18062026_PF_FP_ABST
    Figure EP2024085971_18062026_PF_FP_ABST
Patent Text Reader

Abstract

The computer graphics system 600 includes a controller 602. The controller is configured to obtain a view- dependent cut of a graph of nodes representing a hierarchical, cluster-based micro-polygon Level of Detail, LOD system. The controller is configured to compute a selection error, an aliasing error and rasterization cost metric that considers caching benefits by shared node rasterization, for each node. The controller is configured to receive a plurality of LOD selections from multiple viewers, start with an LOD selection having the finest LOD and continuing with LOD selections of coarser LODs optimizing the graph cut towards higher performance with bounded quality reduction, determine whether the node can be moved to a higher detailed node for remaining nodes, determine a current memory load, and reduce the selection of nodes to be merged or moved to fit inside a predefined memory budget.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] COMPUTER GRAPHICS SYSTEM AND A METHOD THEREOF

[0002] TECHNICAL FIELD

[0003] The disclosure relates generally to rendering, and more particularly to a computer graphics system. Moreover, the disclosure also relates to a method for computer graphics system.

[0004] BACKGROUND

[0005] In rendering, there is a constant tradeoff between performance and visual quality. Rendering mesh models with high geometric detail provides optimal visual quality, but practical limitations like rendering speed (frames per second, FPS) and memory consumption (Video Random Access Memory, VRAM) may affect visual quality of the models while rendering a scene or an image.

[0006] A conventional LOD system provides multiple versions of mesh model geometry, such as coarse geometry, intermediate geometry, and fine geometry, where the views are optimized for different viewing distances. The coarse geometry is suitable for distant views, the intermediate geometry is suitable for moderate distance views, and the fine geometry for closer perspectives. This conventional LOD system enables a Tenderer or a user to choose an appropriate LOD based on current performance needs and desired visual quality for the scene or image displayed to the viewer. For example, as the mesh model moves from the viewer, a lower-detail geometry can be used since it occupies fewer pixels on a screen.

[0007] FIG. 1 illustrates exemplary images 102A-C of a mesh model that is rendered at discrete Level of Detail, LOD using the conventional LOD system according to prior art. The conventional LOD system can lead to popping artifacts where sudden changes in the appearance of the mesh model occurs when transitioning between different LODs. Mesh simplification or decimation can be used to create the coarse geometry, which is difficult to implement and not fully automated, and frequently requires artist interventions to create each LOD. In some cases, the geometry is entirely generated by the artists, significantly increasing production costs.

[0008] Continuous LOD systems, which automatically generate LODs, are another approach for managing model detail. However, the continuous LOD systems face challenges in efficiently handling rapid LOD transitions, which can lead to performance issues, particularly in applications requiring rapid changes in detail. The continuous LOD systems fail to utilize modem Graphics Processing Unit, GPU resources effectively when rendering complex geometry, limiting performance in real-time rendering applications and game engines, where discrete LODs are generally preferred.

[0009] In traditional cloud rendering, each user requires a dedicated Graphics Processing Unit, GPU instance, which is particularly resource-intensive for complex applications like cloud gaming. This approach improves over local GPUs by achieving higher hardware occupancy due to reduced idle time. However, this approach fails to leverage the proximity of the GPUs in the cloud. In scenarios, where multiple users view the same part of the scene, calculations such as occlusion, lighting, and cluster selection in existing systems, are redundantly repeated across each GPU. This inefficiency suggests that identifying overlapping parts of the view and performing these calculations may improve performance. Optimizing for multi-view may significantly boost performance in contexts like virtual concerts where many viewers focus on the same stage, online multiplayer games where players are in close proximity within the same game world, or professional applications such as collaborative editing of large CAD models.

[0010] FIG. 2 illustrates visualization of a model in different views by multiple viewers 202A-C depicting effects in a hierarchical structure 204 according to prior art. Rendering scenes from multiple viewers 202A-C, with each view capturing a unique perspective of the model, aims to optimize rendering by allowing different viewers 202A-C to view specific parts of a scene, potentially reducing redundant calculations. However, this approach handles each viewpoint separately, with each viewer’s cut processed independently through the hierarchical structure 204.

[0011] Nanite, a virtualized geometry system addresses many limitations of conventional LOD systems by combining continuous and discrete LOD methods.

[0012] FIG. 3 illustrates an exemplary view of building clusters with Nanite according to prior art. Rather than generating LODs for entire meshes, Nanite creates LODs for clusters of triangles within a mesh, enabling fine-grained LOD selection with minimal performance impact. LOD simplification occurs in a pre-processing step, and where clusters are optimized and stored for efficient streaming from disk during rendering, reducing runtime processing overhead. Clusters of differing levels can be used next to each other with a maximum LOD difference of one between neighbouring clusters. Nanite leverages the geometric error introduced by the simplification process to dynamically select LODs at runtime, to render one triangle per pixel for reducing popping artifacts while maintaining high image quality. This approach avoids rendering finer geometry, as additional triangles are discarded for not covering any pixel centres, that impacts performance.

[0013] Using a tree structure for the LOD may create group boundaries within the triangle mesh that penetrate through all levels. Nanite addresses this by building a Directed Acyclic Graph, DAG instead of the tree structure, allowing boundaries between groups to be adjusted when changing the LOD.

[0014] FIG. 4 illustrates an exemplary view of a Directed Acyclic Graph, DAG including Level of Detail, LOD runtime according to prior art. The exemplary view represents different LOD levels i.e. LODO, LODI, LOD2, LOD3. Level LODO represents a highest detail with smallest clusters of triangles, and the levels LODI, LOD2 and LOD3 represents simplified versions with fewer, larger clusters. During the runtime, a view-dependent cut of the DAG is generated by traversing the graph from the root node until a quality metric based on camera parameters and the geometric error of clusters, is reached. Depending on the projected size of the clusters, either hardware rasterization or software rasterization can be selected.

[0015] Using a Nanite-like system in a multi-viewer scenario requires substantial GPU memory, as nodes need to be stored separately for each view due to lack of native multi-view support. However, storing shared nodes across views may greatly improve performance by enabling GPU cache behaviour, allowing efficient rendering of shared nodes between views. FIG. 5 illustrates an exemplary multi-view of a graph for requesting node according to prior art. The exemplary multi-view includes one or more viewers 502A-C. In the exemplary multi-view, different clusters need to be loaded for the one or more viewers 502A-C. Clusters 1, 2, 7, 8, 9, 10, 11, and 14 are required in memory to render all nodes at their appropriate LOD. Selecting the finest LOD clusters among all the viewers saves memory, as only clusters 1, 2, 7, 8, 10, and 11 are required, but incurs increased rasterization time. In another scenario, choosing the coarsest LOD clusters may result in selecting clusters 9, 10, and 14, which lead to rendering artifacts due to coarser-than-ideal LOD.

[0016] Therefore, there arises a need to address the aforementioned technical problems / drawbacks in rendering in a computer graphics system.

[0017] SUMMARY

[0018] It is an object of the disclosure to provide a computer graphics system. Moreover, the disclosure also relates to a method for computer graphics system.

[0019] This object is achieved by the features of the independent claims. Further, implementation forms are apparent from the dependent claims, the description, and the figures.

[0020] According to a first aspect, there is provided a computer graphics system. The computer graphics system includes a controller. The controller is configured to obtain a view- dependent cut of a graph of nodes representing a hierarchical, cluster-based micro-polygon Level of Detail, LOD system. The controller is configured to compute a selection error, an aliasing error and rasterization cost metric that considers caching benefits by shared node rasterization, for each node. The selection error indicates an error introduced when selecting an LOD coarser than the optimal level, and the aliasing error indicates an error when selecting an LOD finer than the optimal level. The controller is configured to receive a plurality of LOD selections from multiple viewers, start with an LOD selection having the finest LOD and continuing with LOD selections of coarser LODs optimizing the graph cut towards higher performance with bounded quality reduction, determine whether the node can be moved to a higher detailed node for remaining nodes, determine a current memory load, and reduce the selection of nodes to be merged or moved to fit inside a predefined memory budget.

[0021] The computer graphics system provides seamless integration through a view-dependent cut and an adaptive Level of Detail, LOD selection process. The computer graphics system dynamically adjusts visual quality based on the selection error and the aliasing error. The computer graphics system ensures that rendering visual quality can be dynamically adjusted in real-time to align with current memory constraints and frame rate requirements. The computer graphics system enables efficient scaling, balancing image quality and performance according to available resources and viewer demands.

[0022] The computer graphics system processes the LOD requirements to optimize rendering speed, minimize Video Random Access Memory, VRAM usage, and reduce the need to load clusters separately for each view based on preprocessed error metrics. The computer graphics system facilitates the utilization of the GPU memory, thereby enhancing overall performance. The computer graphics system optimizes a single LOD selection for multiple views, managing LOD selection and rendering on a per-viewer basis to enhance performance and quality considerations, and to balance memory usage and visual quality.

[0023] The computer graphics system enables geometry required by multiple viewers to be loaded once and rasterized for all views without additional memory access, resulting in faster rasterization and improved utilization of processing power. By incorporating the LOD system, the computer graphics system achieves a synergistic optimization of memory requirements, rendering performance, and visual quality, providing a sophisticated solution for multi-viewer environments while maintaining quality reduction.

[0024] The computer graphics system optimizes multi-view rendering by selecting LOD nodes, considering specific needs of each viewer to balance tradeoff memory requirements, rendering performance, and output quality. By optimizing LOD nodes, the computer graphics system reduces memory usage, increases rendering speed, and limit the impact on the quality, and also enhancing efficiency in both software and hardware rasterization steps. Geometry can be rasterized to multiple views after being loaded once from main memory, significantly improving rasterizer efficiency.

[0025] Preferably, the controller is configured to optimize the graph cut towards higher performance and lower memory utilization with bounded quality reduction. Optionally, the controller is configured to optimize the view dependent cut of a graph towards higher performance with bounded quality reduction by determining if a node can be moved to a coarser LOD and merged / moved closer to a node from another LOD while staying within an error threshold, and if so merging the node.

[0026] Preferably, the controller is configured to batch all clusters using same LOD together. Preferably, the controller is configured to determine the rasterization cost metric by determining a rasterizer performance to determine a cost per individually rasterized node.

[0027] Preferably, the controller is configured to compute the simplification errors, and the aliasing errors during precomputation.

[0028] Preferably, the selection error is distance and / or resolution-based, and captures the error introduced from rendering with coarse detail.

[0029] Preferably, the aliasing error is distance and / or resolution-based, and captures the error introduced from rendering with fine detail.

[0030] Preferably, the controller is configured to utilize a single shadow cache for the multiple viewers.

[0031] According to a second aspect, there is provided a method for computer graphics system including a controller. The method includes the controller obtaining a graph cut of nodes representing a hierarchical, cluster-based micropolygon Level of Detail, LOD system. The method includes the controller computing a selection error, an aliasing error and rasterization cost metric that considers shared nodes for caching benefits, for each node. The selection error indicates an error introduced when selecting an LOD coarser than the optimal level, the aliasing error indicates an error introduced when selecting an LOD finer than the optimal level. The method includes the controller receiving a plurality of LOD selections from multiple viewers, starting with an LOD selection having the finest LOD and continuing with LOD selections of coarser LODs optimizing the graph cut towards higher performance with bounded quality reduction, determining whether the node can be moved to a higher detailed node for remaining nodes, determining a current memory load, and reducing the selection of nodes to be merged or moved to fit inside a predefined memory budget.

[0032] This method provides seamless integration through a view-dependent cut and an adaptive Level of Detail, LOD selection process. This method dynamically adjusts visual quality based on the selection error and the aliasing error. This method ensures that rendering visual quality can be dynamically adjusted in real-time to align with current memory constraints and frame rate requirements. This method enables efficient scaling, balancing image quality and performance according to available resources and viewer demands.

[0033] This method processes the LOD requirements to optimize rendering speed, minimize Video Random Access Memory, VRAM usage, and reduce the need to load clusters separately for each view based on preprocessed error metrics. This method facilitates the utilization of the GPU memory, thereby enhancing overall performance. This method optimizes a single LOD selection for multiple views, managing LOD selection and rendering on a per- viewer basis to enhance performance and quality considerations, and to balance memory usage and visual quality.

[0034] This method enables geometry required by multiple viewers to be loaded once and rasterized for all views without additional memory access, resulting in faster rasterization and improved utilization of processing power. By incorporating the LOD system, this method achieves a synergistic optimization of memory requirements, rendering performance, and visual quality, providing a sophisticated solution for multi-viewer environments while maintaining quality reduction.

[0035] This method optimizes multi-view rendering by selecting LOD nodes, considering specific needs of each viewer to balance tradeoff memory requirements, rendering performance, and output quality. By optimizing LOD nodes, this method reduces memory usage, increases rendering speed, and limit the impact on the quality, and also enhancing efficiency in both software and hardware rasterization steps. Geometry can be rasterized to multiple views after being loaded once from main memory, significantly improving rasterizer efficiency.

[0036] According to a third aspect, there is provided a computer program product comprising instructions for performing the method according to the method, when executed by one or more processors in a computer graphics system.

[0037] Therefore, in contradistinction to the existing solutions, the computer graphics system and the method for computer graphics system enables seamless integration into existing applications and allows balanced rendering by dynamically adjusting LODs based on viewing distance, thereby enhancing performance and quality considerations, and to balance memory usage and visual quality.

[0038] These and other aspects of the disclosure will be apparent from the implementation(s) described below. BRIEF DESCRIPTION OF DRAWINGS

[0039] Implementations of the disclosure will now be described, by way of example only, with reference to the accompanying drawings, in which:

[0040] FIG. 1 illustrates exemplary images of a mesh model that is rendered at discrete Level of Detail, LOD using the conventional LOD system according to prior art;

[0041] FIG. 2 illustrates visualization of a model in different views by multiple viewers depicting effects in a hierarchical structure according to prior art;

[0042] FIG. 3 illustrates an exemplary view of building clusters with Nanite according to prior art;

[0043] FIG. 4 illustrates an exemplary view of a Directed Acyclic Graph, DAG including Level of Detail, LOD runtime according to prior art;

[0044] FIG. 5 illustrates an exemplary multi-view of a graph for requesting node in accordance with a prior art;

[0045] FIG. 6 illustrates a computer graphics system in accordance with an implementation of the disclosure;

[0046] FIG. 7 illustrates a block diagram of a multi-viewer Level of Detail, LOD selection and rendering approach in a computer graphics system in accordance with an implementation of the disclosure;

[0047] FIG. 8 illustrates an exemplary image depicting a graph for different LOD selections of multiple viewers with memory, performance and quality considerations in accordance with an implementation of the disclosure;

[0048] FIG. 9A illustrate Level of Detail, LOD requests from viewers in a hierarchical, cluster-based micro-polygon LOD system in accordance with an implementation of the disclosure;

[0049] FIG. 9B illustrates a resulting view of required nodes by applying linear heuristics on the initial LOD requests of FIG. 9A in a computer graphics system in accordance with an implementation of the disclosure;

[0050] FIG. 10 is a flow diagram that illustrates a method of computer graphics system in accordance with an implementation of the disclosure; and

[0051] FIG. 11 is an illustration of a computer system in which the various architectures and functionalities of the various previous implementations may be implemented.

[0052] DETAILED DESCRIPTION OF THE DRAWINGS

[0053] Implementations of the disclosure to provide a computer graphics system. Moreover, the disclosure also relates to a method for computer graphics system. To make solutions of the disclosure more comprehensible for a person skilled in the art, the following implementations of the disclosure are described with reference to the accompanying drawings.

[0054] Terms such as "a first", "a second", "a third", and "a fourth" (if any) in the summary, claims, and foregoing accompanying drawings of the disclosure are used to distinguish between similar objects and are not necessarily used to describe a specific sequence or order. It should be understood that the terms so used are interchangeable under appropriate circumstances, so that the implementations of the disclosure described herein are, for example, capable of being implemented in sequences other than the sequences illustrated or described herein. Furthermore, the terms "include" and "have" and any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, a method, a system, a product, or a device that includes a series of steps or units, is not necessarily limited to expressly listed steps or units but may include other steps or units that are not expressly listed or that are inherent to such process, method, product, or device.

[0055] FIG. 6 illustrates a computer graphics system 600 in accordance with an implementation of the disclosure. The computer graphics system 600 includes a controller 602. The controller 602 is configured to obtain a viewdependent cut of a graph of nodes representing a hierarchical, cluster-based micro-polygon Level of Detail, LOD system. The controller 602 is configured to compute a selection error, an aliasing error and rasterization cost metric that considers caching benefits by shared node rasterization, for each node. The selection error indicates an error introduced when selecting an LOD coarser than the optimal level, and the aliasing error indicates an error introduced when selecting an LOD finer than the optimal level. The controller 602 is configured to receive a plurality of LOD selections from multiple viewers, start with an LOD selection having the finest LOD and continuing with LOD selections of coarser LODs optimizing the graph cut towards higher performance with bounded quality reduction, determine whether the node can be moved to a higher detailed node for remaining nodes, determine a current memory load, and reduce the selection of nodes to be merged / moved to fit inside a predefined memory budget.

[0056] The computer graphics system 600 provides seamless integration through a view-dependent cut and an adaptive Level of Detail, LOD selection process. The computer graphics system 600 dynamically adjusts visual quality based on the selection error and the aliasing error. The computer graphics system 600 ensures that rendering visual quality can be dynamically adjusted in real-time to align with current memory constraints and frame rate requirements. The computer graphics system 600 enables efficient scaling, balancing image quality and performance according to available resources and viewer demands.

[0057] The computer graphics system 600 processes the LOD requirements to optimize rendering speed, minimize Video Random Access Memory, VRAM usage, and reduce the need to load clusters separately for each view based on preprocessed error metrics. The computer graphics system 600 facilitates the utilization of the GPU memory, thereby enhancing overall performance. The computer graphics system 600 optimizes a single LOD selection for multiple views, managing LOD selection and rendering on a per-viewer basis to enhance performance and quality considerations, and to balance memory usage and visual quality.

[0058] The computer graphics system 600 enables geometry required by multiple viewers to be loaded once and rasterized for all views without additional memory access, resulting in faster rasterization and improved utilization of processing power. By incorporating the LOD system, the computer graphics system 600 achieves a synergistic optimization of memory requirements, rendering performance, and visual quality, providing a sophisticated solution for multi-viewer environments while maintaining quality reduction.

[0059] The computer graphics system 600 optimizes multi-view rendering by selecting LOD nodes, considering specific needs of each viewer to balance tradeoff memory requirements, rendering performance, and output quality. By optimizing LOD nodes, the computer graphics system 600 reduces memory usage, increases rendering speed, and limit the impact on the quality, and also enhancing efficiency in both software and hardware rasterization steps. Geometry can be rasterized to multiple views after being loaded once from main memory, significantly improving rasterizer efficiency.

[0060] Preferably, the controller 602 is configured to optimize the graph cut towards higher performance and lower memory utilization with bounded quality reduction. Optionally, the controller 602 is configured to optimize the view dependent cut of a graph towards higher performance with bounded quality reduction by determining if a node can be moved to a coarser LOD and merged / moved closer to a node from another LOD while staying within an error threshold, and if so merging the node.

[0061] Preferably, the controller 602 is configured to batch all clusters using the same LOD together. Preferably, the controller 602 is configured to determine the rasterization cost metric by determining a rasterizer performance to determine a cost per individually rasterized node.

[0062] Preferably, the controller 602 is configured to compute the simplification errors, and the aliasing errors during precomputation.

[0063] Preferably, the selection error is distance and / or resolution-based, and captures the error introduced from rendering with coarse detail.

[0064] Preferably, the aliasing error is distance and / or resolution-based, and captures the error introduced from rendering with fine detail.

[0065] Preferably, the controller 602 is configured to utilize a single shadow cache for the multiple viewers.

[0066] FIG. 7 illustrates a block diagram of a multi-viewer Level of Detail, LOD selection and rendering approach in a computer graphics system in accordance with an implementation of the disclosure. The multi-viewer LOD selection and rendering approach optimizes the LOD selection across multiple viewers, considering specific needs of each viewer. The multi-viewer LOD selection and rendering approach acts as an add-on after the LOD selection stage for each view, and resulting data is transmitted to a subsequent stage where a computer graphics system processes the LOD requirements based on preprocessed error metrics in the combined LOD selection, which enables multi-view rendering. The updated LOD requirements are passed to the rasterization pass, where the computer graphics system batch clusters with the same LOD together for efficient Graphics Processing Unit, GPU caching. FIG. 8 illustrates an exemplary image 800 depicting a graph for different LOD selections of multiple viewers with memory, performance and quality considerations in accordance with an implementation of the disclosure. The exemplary image 800 includes one or more viewers 802A-C selecting different LODs in a computer graphics system. When the one or more viewers 802A-C share the same LOD nodes, the rendering workload is optimized, as triangles are fetched once by the rasterizer and reused across all views. Different LOD selections may include any of (i) loading all nodes present in any selection by any viewer resulting in a largest amount of memory i.e. nodes 1, 2, 7, 8, 9, 10, 11, and 14, (ii) using a shallowest cut in the graph, or (iii) using a deepest cut in the graph. Using the shallowest cut includes selecting a coarsest LOD among all the selected nodes, resulting in lowest quality i.e. nodes 9, 10, and 14. Using the deepest cut includes selecting a finest LOD among all the selected nodes, resulting in higher quality in general, but aliasing artifacts may occur and decrease quality. The computer graphics system optimizes the LOD selections inbetween the nodes, considering memory requirements.

[0067] Factors considering on performance in different LOD selections include any of (i) a coarser LOD which generally renders more efficiently than a finer LOD, as fewer triangles need to be processed, (ii) loading cost is proportional to the number of nodes loaded, or (iii) if the one or more viewers 802A-C uses the same LOD, rendering speeds up as the triangles are fetched only once by the rasterizer and can be rasterized across all views simultaneously. Defaulting the one or more viewers 802A-C to the same coarser LOD enhances performance. Switching a viewer to a finer LOD to share the nodes improves overall performance. LOD selection impacts quality if the LOD selections are too coarse or too fine.

[0068] FIG. 9 A illustrate Level of Detail, LOD requests from viewers in a hierarchical, cluster-based micro-polygon LOD system in accordance with an implementation of the disclosure. Each viewer (e.g. viewer 1, viewer 2, viewer 3) requests a specific LOD at various nodes within the hierarchical, cluster-based micro-polygon LOD system. Each node in the hierarchical, cluster-based micro-polygon LOD system represents a particular LOD that are essential for individual viewers (e.g. viewer 1, viewer 2, viewer 3). The LOD requests from the viewers requires 13 nodes in a computer graphics system to satisfy all viewer requests.

[0069] FIG. 9B illustrates a resulting view of required nodes by applying linear heuristics on the initial LOD requests of FIG. 9A in a computer graphics system in accordance with an implementation of the disclosure. The computer graphics system involves different costs in combination with precomputed error information to optimize the selection based on the required LODs. During precomputation, the computer graphics system computes metrics such as distance or resolution-based selection error, distance or resolution-based aliasing error and rasterizer performance. The distance or resolution-based selection error estimates the error introduced when selecting a too coarse LOD, and the distance or resolution-based aliasing error captures the error introduced from rendering with too much detail. Optionally, the computer graphics system estimates the distance or resolution-based aliasing error through actual rendering of the node during preprocessing under camera motion. The rasterizer performance is assessed to determine the cost of rasterizing nodes individually and the caching benefits by shared node rasterization, for each node.

[0070] At runtime, the combined LOD selection accounts for each viewer’s LOD selections, starting from the finest LOD and progressively optimizing for higher performance with controlled quality reduction, where the optimization considers both a maximum allowable quality reduction per viewer and per node. If a node can be shifted to a coarser LOD and merged with or moved closer to another node while staying within error thresholds, the node is merged. For the remaining nodes, the computer graphics system evaluates if the nodes can be moved to a finer LOD, provided that the adjustment merges with an existing node. The computer graphics system evaluates current memory load and adjusts the selection to stay within a predefined memory budget.

[0071] As depicted in FIG. 9B, only 8 nodes are required instead of the original 13 nodes. After applying the linear heuristic, the configuration is optimized, reducing the total nodes to 8 by adjusting the LODs including: (i) removing certain detail for viewer 1, (ii) adding certain detail for viewer 2 increasing sharing considerably, and (iii) reducing certain detail for viewer 3.

[0072] Each node represents a possible state, with associated values for memory, quality, and performance parameters, each weighted by respective coefficients such as a for performance, P for memory, and y for quality. The coefficients a, and y adjust dynamically based on factors such as current frame time and memory used to store different nodes. An energy value is calculated based on the parameters of the coefficients a, p and y at the specific node. The coefficients a, p and y are incorporated into the heuristic algorithm and represented as: where, Pmemoiy represents memory consumption, Pquaiity represents quality, Pperformmce represents the performance or speed, and E is the overall energy or cost to be minimized, influenced by the dynamic weights a\alpha, p\beta, and y\gamma.

[0073] The coefficients adjust dynamically based on factors such as the current frame time and the memory usage to optimize a computer graphics system efficiency. If the frame time of previous frames is lower than the budgeted or targeted frame time, emphasis on performance parameter can be reduced to save resources by lowering the coefficient a. If memory utilization is below the maximum available, less emphasis can be placed on the memory parameter by lowering the co-efficient p. The quality co-efficient y is adjusted based on application’s quality settings, and is indirectly affected by changes in the a and p coefficients. When the application fails to meet its performance targets or uses excessive memory, the coefficients a or p can be increased as required.

[0074] Optionally, for a given model, the computer graphics system trains a heuristic to produce an optimized LOD selection, as a learned heuristic can be applied to a graph for improved efficiency. The computer graphics system performs as a classification task, where the nodes are mapped to an image and processed with a U-net architecture. Each viewer corresponds to a unique bit set per pixel, representing its selection, and the network outputs the selection probability for each node and viewer. Interpreting the selection outputs, and enforcing valid cuts through the graph, yields the final optimized selection. To train the network, the computer graphics system generates the optimal selection as ground truth for individual models or graphs by using an error function that accounts for changes in quality, overall performance impact, and memory requirements. The neural network may be trained specifically for individual models based on the error function. The computer graphics system can generalize the model by incorporating transition costs as an input, which represent the quality change when moving between nodes, which enables the network to be trained on various input graphs and generalize to new models with their respective error maps. FIG. 10 is a flow diagram that illustrates a method of computer graphics system in accordance with an implementation of the disclosure. The computer graphics system includes a controller. At a step 1002, the method includes obtaining a graph cut of nodes representing a hierarchical, cluster-based micro-polygon Level of Detail, LOD system. At a step 1004, the method includes computing (i) a selection error, indicating an error introduced when selecting an LOD coarser than the optimal level (ii) an aliasing error, indicating an error introduced when selecting an LOD finer than the optimal level, and (iii) a rasterization cost that considers shared nodes for caching benefits, for each node. At a step 1006, the method includes receiving a plurality of LOD selections from multiple viewers. At a step 1008, the method includes starting with an LOD selection having the finest LOD and continuing with LOD selections of coarser LODs optimizing the graph cut towards higher performance with bounded quality reduction. At a step 1010, the method includes determining whether the node can be moved to a higher detailed node, for remaining nodes. At a step 1012, the method includes determining a current memory load. At a step 1014, the method includes reducing the selection of nodes to be merged / moved to fit inside a predefined memory budget.

[0075] This method provides seamless integration through a view-dependent cut and an adaptive Level of Detail, LOD selection process. This method dynamically adjusts visual quality based on the selection error and the aliasing error. This method ensures that rendering visual quality can be dynamically adjusted in real-time to align with current memory constraints and frame rate requirements. This method enables efficient scaling, balancing image quality and performance according to available resources and viewer demands.

[0076] This method processes the LOD requirements to optimize rendering speed, minimize Video Random Access Memory, VRAM usage, and reduce the need to load clusters separately for each view based on preprocessed error metrics. This method facilitates the utilization of the GPU memory, thereby enhancing overall performance. This method optimizes a single LOD selection for multiple views, managing LOD selection and rendering on a per- viewer basis to enhance performance and quality considerations, and to balance memory usage and visual quality.

[0077] This method enables geometry required by multiple viewers to be loaded once and rasterized for all views without additional memory access, resulting in faster rasterization and improved utilization of processing power. By incorporating the LOD system, this method achieves a synergistic optimization of memory requirements, rendering performance, and visual quality, providing a sophisticated solution for multi-viewer environments while maintaining quality reduction.

[0078] This method optimizes multi-view rendering by selecting LOD nodes, considering specific needs of each viewer to balance tradeoff memory requirements, rendering performance, and output quality. By optimizing LOD nodes, this method reduces memory usage, increases rendering speed, and limit the impact on the quality, and also enhancing efficiency in both software and hardware rasterization steps. Geometry can be rasterized to multiple views after being loaded once from main memory, significantly improving rasterizer efficiency.

[0079] According to an aspect, there is provided a computer program comprising instructions for performing the method according to the method, when executed by one or more processors in a computer graphics system. FIG. 11 is an illustration of a computer system in which the various architectures and functionalities of the various previous implementations may be implemented. As shown, the computer system 1100 includes at least one processor 1104 that is connected to a bus 1102, wherein the computer system 1100 may be implemented using any suitable protocol, such as PCI (Peripheral Component Interconnect), PCI-Express, AGP (Accelerated Graphics Port), Hyper Transport, or any other bus or point-to-point communication protocol (s). The computer system 1100 also includes a memory 1106.

[0080] Control logic (software) and data are stored in the memory 1106 which may take a form of random-access memory (RAM). In the disclosure, a single semiconductor platform may refer to a sole unitary semiconductor-based integrated circuit or chip. It should be noted that the term single semiconductor platform may also refer to multichip modules with increased connectivity which simulate on-chip modules with increased connectivity which simulate on-chip operation and make substantial improvements over utilizing a conventional central processing unit (CPU) and bus implementation. Of course, the various modules may also be situated separately or in various combinations of semiconductor platforms per the desires of the user.

[0081] The computer system 1100 may also include a secondary storage 1110. The secondary storage 1110 includes, for example, a hard disk drive and a removable storage drive, representing a floppy disk drive, a magnetic tape drive, a compact disk drive, digital versatile disk (DVD) drive, recording device, universal serial bus (USB) flash memory. The removable storage drives at least one of reads from and writes to a removable storage unit in a well- known manner.

[0082] Computer programs, or computer control logic algorithms, may be stored in at least one of the memory 1106 and the secondary storage 1110. Such computer programs, when executed, enable the computer system 1100 to perform various functions as described in the foregoing. The memory 1106, the secondary storage 1110, and any other storage are possible examples of computer-readable media.

[0083] In an implementation, the architectures and functionalities depicted in the various previous figures may be implemented in the context of the processor 1104, a graphics processor coupled to a communication interface 1112, an integrated circuit (not shown) that is capable of at least a portion of the capabilities of both the processor 1104 and a graphics processor, a chipset (namely, a group of integrated circuits designed to work and sold as a unit for performing related functions, and so forth).

[0084] Furthermore, the architectures and functionalities depicted in the various previous-described figures may be implemented in a context of a general computer system, a circuit board system, a game console system dedicated for entertainment purposes, an application-specific system. For example, the computer system 1100 may take the form of a desktop computer, a laptop computer, a server, a workstation, a game console, an embedded system.

[0085] Furthermore, the computer system 1100 may take the form of various other devices including, but not limited to a personal digital assistant (PDA) device, a mobile phone device, a smart phone, a television, and so forth. Additionally, although not shown, the computer system 1100 may be coupled to a network (for example, a telecommunications network, a local area network (LAN), a wireless network, a wide area network (WAN) such as the Internet, a peer-to-peer network, a cable network, or the like) for communication purposes through an I / O interface 1108.

[0086] It should be understood that the arrangement of components illustrated in the figures described are exemplary and that other arrangement may be possible. It should also be understood that the various system components (and means) defined by the claims, described below, and illustrated in the various block diagrams represent components in some systems configured according to the subject matter disclosed herein. For example, one or more of these system components (and means) may be realized, in whole or in part, by at least some of the components illustrated in the arrangements illustrated in the described figures.

[0087] In addition, while at least one of these components are implemented at least partially as an electronic hardware component, and therefore constitutes a machine, the other components may be implemented in software that when included in an execution environment constitutes a machine, hardware, or a combination of software and hardware.

[0088] Although the disclosure and its advantages have been described in detail, it should be understood that various changes, substitutions, and alterations can be made herein without departing from the spirit and scope of the disclosure as defined by the appended claims.

Claims

CLAIMS1. A computer graphics system (600) comprising a controller (602) configured to(a) obtain a view-dependent cut of a graph of nodes representing a hierarchical, cluster-based micropolygon Level of Detail, LOD, system,(b) compute, for each node, -(i) a selection error, indicating an error introduced when selecting an LOD coarser than the optimal level,(ii) an aliasing error, indicating an error introduced when selecting an LOD finer than the optimal level, and(iii) a rasterization cost metric that considers caching benefits by shared nodes rasterization, and wherein the controller is further configured to(c) receive a plurality of LOD selections from multiple viewers,(d) starting with an LOD selection having the finest LOD and continuing with LOD selections of coarser LODs optimizing the graph cut towards higher performance with bounded quality reduction(e) determine for remaining nodes, whether the node can be moved to a higher detailed node, and then(f) determine a current memory load and(g) reduce the selection of nodes to be merged / moved to fit inside a predefined memory budget.

2. The computer graphics system (600) according to claim 1, wherein the controller (602) is further configured to optimize the graph cut towards higher performance and lower memory utilization with bounded quality reduction.

3. The computer graphics system (600) according to claim 2, wherein the controller (602) is further configured to optimize the view dependent cut of a graph towards higher performance with bounded quality reduction by determining if a node can be moved to a coarser LOD and merged / moved closer to a node from another LOD while staying within an error threshold, and if so merging the node.

4. The computer graphics system (600) according to any preceding claim, wherein the controller (602) is further configured to batch all clusters using same LOD together.

5. The computer graphics system (600) according to any preceding claim, wherein the controller (602) is further configured to determine the rasterization cost metric by determining a rasterizer performance to determine a cost per individually rasterized node.

6. The computer graphics system (600) according to any preceding claim, wherein the controller (602) is further configured to compute the simplification errors, the aliasing errors during precomputation.

7. The computer graphics system (600) according to any preceding claim, wherein the selection error is distance and / or resolution-based and captures the error introduced from rendering with coarse detail.

8. The computer graphics system (600) according to any preceding claim, wherein the aliasing error is distance and / or resolution-based and captures the error introduced from rendering with fine detail.

9. The computer graphics system (600) according to any preceding claim, wherein the controller (602) is further configured to utilize a single shadow cache for the multiple viewers.

10. A method for a computer graphics system (600) comprising a controller, wherein the method comprises the controller (602)(a) obtaining a graph cut of nodes representing a hierarchical, cluster-based micro-polygon Level of Detail, LOD, system,(b) computing, for each node, a selection error, indicating an error introduced when selecting an LOD coarser than the optimal level, an aliasing error, indicating an error introduced when selecting an LOD finer than the optimal level, and a rasterization cost that considers shared nodes for caching benefits, and wherein the method further comprises the controller (602)(c) receiving a plurality of LOD selections from multiple viewers,(d) starting with an LOD selection having the finest LOD and continuing with LOD selections of coarser LODs optimizing the graph cut towards higher performance with bounded quality reduction(e) determining for remaining nodes, whether the node can be moved to a higher detailed node, and then(f) determining a current memory load and(g) reducing the selection of nodes to be merged / moved to fit inside a predefined memory budget.

11. A computer program product comprising program instructions for performing the method according to claim 10, when executed by one or more processors in a computer graphics system (600).