Early Pixel Discarding in 3D Rendering Pipelines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current 3D rendering technologies face inefficiencies in performance due to the lack of effective early pixel discarding methods, leading to increased processing times and memory bandwidth usage, especially when dealing with complex scenes and transparent objects.

Innovation Solution

The implementation of a 3D rendering apparatus and method that includes a discard shading processor for early depth testing and a pixel shading processor for updating depth values, allowing for selective pixel discarding and improved rendering performance by dividing pixel shader code into discard and pixel shader code, and using a compiler to generate optimized shader code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If early depth test is performed to discard pixels before processing, then processing time is reduced, but incorrect images may be generated due to depth value updates

Engineering Contradiction:
Improveprocessing timeVSAvoidimage correctness
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The pixel shader code is divided into two separate shader programs: a discard shader that performs early depth testing and pixel discarding, and a pixel shader that performs final rendering. This segmentation allows early discarding of invisible pixels without affecting the correctness of visible pixel rendering, as each shader handles only its specific function independently

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A discard determination unit is introduced as an intermediary component that receives pixels from the rasterizer, determines whether they should be processed by the discard shader or directly by the pixel shader, and routes them accordingly. This mediator ensures that only appropriate pixels undergo early depth testing, preventing incorrect image generation while maintaining processing efficiency

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If all pixels are processed by the pixel shader, then image correctness is maintained, but processing time and memory bandwidth usage increase

Engineering Contradiction:
Improveimage correctnessVSAvoidrendering performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The discard shader performs preliminary depth testing and pixel discarding before the main pixel shader processing. By evaluating depth values and discarding invisible pixels in advance, the system reduces the number of pixels that require full processing, thereby decreasing processing time and memory bandwidth consumption while maintaining image correctness for visible pixels

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the processing parameters by creating two distinct shader programs with different functionality. The discard shader uses simplified depth testing parameters to quickly eliminate invisible pixels, while the pixel shader uses complete rendering parameters for visible pixels. This parameter differentiation optimizes the overall rendering pipeline by applying appropriate processing depth to each pixel type

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8624894B2Apparatus and method of early pixel discarding in graphic processing unit
Publication Date: 2014.01.07 SAMSUNG ELECTRONICS CO LTD
  • US8624894B2 patent drawing
  • US8624894B2 patent drawing
  • US8624894B2 patent drawing

AI summary

A method to discard pixels early includes a first early depth test maintaining a depth value on a pixel to be discarded by a discard instruction, and a second early depth test updating the depth value on a pixel not to be discarded by the discard instruction. Because of the first and second early depth tests, a number of pixels to be processed by a pixel shading process may be reduced.