Shader-Dependent Fragment Rendering With Two-Stage Hidden Surface Removal

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deferred rendering systems face inefficiencies and latency due to the processing of punch through fragments, which have shader-dependent presence, leading to unnecessary processing and resource allocation delays.

Innovation Solution

The shader program for punch through fragments is split into two stages, with the first stage determining the fragment's presence and the second stage executed only if the fragment survives the initial processing, allowing efficient hidden surface removal and reduced latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the shader program is executed completely for punch through fragments in deferred rendering systems, then the fragment presence can be determined accurately, but the processing time and resource consumption increase significantly

Engineering Contradiction:
Improvefragment presence determination accuracyVSAvoidprocessing latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The shader program is divided into two distinct stages: a first stage that determines fragment presence and a second stage that performs additional processing. This segmentation allows the system to stop executing the shader program after the first stage if the fragment is determined to be punch through, thereby reducing processing time while maintaining accurate presence determination.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first stage of the shader program executes preliminary actions to determine whether a fragment has punch through properties before the second stage executes. This preliminary action enables the system to make decisions about fragment processing early in the pipeline, reducing overall processing latency for punch through fragments.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If the shader program is executed completely for punch through fragments, then all fragment properties are processed accurately, but the GPU resource allocation and power consumption increase

Engineering Contradiction:
Improvefragment property processing accuracyVSAvoidGPU power consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

By segmenting the shader program into two stages, the system processes only the necessary first stage for punch through fragments, avoiding the energy consumption of executing the complete second stage when not needed, while still achieving accurate fragment presence determination.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies partial action by executing only the first stage of the shader program for punch through fragments rather than the complete program. This partial execution provides sufficient processing accuracy for presence determination without the excessive energy consumption of full program execution.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If punch through fragments are processed in the hidden surface removal logic, then accurate depth testing can be performed, but the processing logic becomes more complex and slower

Engineering Contradiction:
Improvedepth testing accuracyVSAvoidprocessing logic complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The processing logic is segmented into two distinct stages: the first stage handles punch through fragment identification and the second stage handles normal fragment processing. This segmentation maintains accurate depth testing for punch through fragments while keeping the overall processing logic manageable by separating complex punch through processing from standard processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The punch through fragment processing logic is extracted as a separate first stage that operates independently from the main processing logic. This extraction allows accurate depth testing for punch through fragments without entangling the complexity of punch through handling with the standard fragment processing pipeline.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP3933778B1Method and graphics processing system for rendering one or more fragments having shader-dependent properties
Publication Date: 2025.08.06 IMAGINATION TECH LTD
  • EP3933778B1 patent drawingFigure 1
  • EP3933778B1 patent drawingFigure 2
  • EP3933778B1 patent drawingFigure 3

AI summary

A graphics processing unit and method are provided for processing fragments in a graphics processing system which comprises: (i) hidden surface removal logic configured to perform hidden surface removal on fragments, and (ii) processing logic configured to execute shader programs for fragments. Initial processing of fragments is performed at the hidden surface removal logic. Some of the fragments have a shader-dependent property. A shader program for a particular fragment having the shader-dependent property is split into two stages. The initial processing comprises performing a depth test on the particular fragment. In response to the particular fragment passing the depth test of the initial processing in the hidden surface removal logic, a first stage, but not a second stage, of the shader program is executed for the particular fragment at the processing logic. The first stage of the shader program comprises instructions for determining the property of the particular fragment.