3D Rendering Tile Division for Memory Overflow

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing 3D graphics rendering techniques face memory overflow issues when dealing with large numbers of fragments in a single pixel, particularly when rendering rectangular regions with arbitrary aspect ratios, as they are constrained to square images with pixels limited to powers of 2, leading to inefficient memory usage and potential loss of processing information.

Innovation Solution

The use of a kd-tree for tile division in the 3D scene rendering process allows for dynamic division of the 2D region into tiles with varying sizes, ensuring that each tile contains an approximately equal number of fragments, reducing memory overflow by using a summed area table to calculate fragment sums efficiently and optimizing tile division based on aspect ratio, enabling rendering of rectangular images with any aspect ratio without memory constraints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a linked-list is used to store fragment information for each pixel, then transparency rendering order independence is achieved, but memory usage exceeds available memory region when the number of fragments is large

Engineering Contradiction:
Improvetransparency rendering order independenceVSAvoidmemory usage
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The image region is divided into multiple grid-shaped tiles, and fragment information is stored separately for each tile rather than for the entire image. This segmentation reduces the memory required at any one time, as only fragments within each tile need to be stored in the linked-list structure, resolving the memory overflow issue while maintaining OIT functionality.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If tiling is performed by dividing the image into grid-shaped tiles, then memory overflow is reduced, but the approach is constrained to square images with pixels limited to powers of 2

Engineering Contradiction:
Improvememory usageVSAvoidimage aspect ratio flexibility
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The tile division approach is made adaptive by dynamically determining tile dimensions based on the actual image width and height. Instead of forcing square images with power-of-2 dimensions, the system calculates appropriate tile sizes that accommodate any rectangular image aspect ratio, allowing flexible tiling for diverse image formats while maintaining memory efficiency.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If the image is divided into tiles to fit memory constraints, then memory overflow is prevented, but fragment distribution between tiles may be uneven

Engineering Contradiction:
Improvememory usageVSAvoidfragment distribution uniformity
Core Design Contradiction:
Quantity of substanceVSManufacturing precision

Solution Approach 1:

The system uses a summed area table to calculate the number of fragments in each potential tile region before finalizing the tile division. This feedback mechanism allows the algorithm to adjust tile boundaries to achieve more uniform fragment distribution across tiles, ensuring that each tile contains approximately the same number of fragments while still fitting within memory constraints.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP2937838B1Information processing apparatus, control method, program and storage medium
Publication Date: 2018.04.04 SQUARE ENIX HLDG CO LTD
  • EP2937838B1 patent drawingFigure 1
  • EP2937838B1 patent drawingFigure 2A~2B
  • EP2937838B1 patent drawingFigure 3

AI summary

An information processing apparatus obtains a number of fragments existing on a straight line defined by each pixel of a rectangular image into which a 3D scene is to be rendered for a predetermined viewpoint and a viewpoint, and divides a two-dimensional region in a screen coordinate system corresponding to the rectangular image into a plurality of regions which are processing units for which a predetermined calculation is performed. The apparatus divides the two-dimensional region into different regions by one or more straight line such that a difference in summations of the numbers of fragments included in the regions after the division becomes a minimum.