Geometry Shader Clipping for 3D Object Edge Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for truncating 3D objects in see-through display devices to avoid overlapping with real-world objects and other holograms are inefficient, either requiring costly CPU processing or excessive pixel shader operations, leading to high power consumption and visual inaccuracies.

Innovation Solution

Utilizing a geometry shader to clip 3D objects based on intersections with clipping boundaries, generating new object edges and reducing the workload for the pixel shader, thereby enhancing power efficiency and visual appeal.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If CPU is used to truncate objects before graphics pipeline, then object boundaries can be controlled, but processing cost increases and visual quality deteriorates due to shearing effects

Engineering Contradiction:
Improveobject boundary controlVSAvoidprocessing cost
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent replaces CPU-based mechanical truncation with GPU-based geometry shader processing. The geometry shader uses hardware-accelerated clipping algorithms to truncate objects at display boundaries, eliminating the need for CPU intervention and avoiding the shearing artifacts introduced by CPU-based methods.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The geometry shader acts as an intermediary between the object data and the pixel shader. It performs clipping operations on geometry primitives before they reach the pixel shader, reducing the workload downstream while maintaining visual quality through hardware-accelerated processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If pixel shader processes every pixel of non-truncated object, then complete rendering is achieved, but power consumption increases significantly

Engineering Contradiction:
Improverendering completenessVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The geometry shader performs clipping operations before the pixel shader processes pixels. By truncating objects early in the pipeline at the geometry stage, the pixel shader only needs to process pixels within the clipped boundaries, significantly reducing the total number of pixel operations and power consumption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The geometry shader extracts and removes portions of objects that lie outside display boundaries before pixel processing. This extraction of unnecessary geometry reduces the workload for subsequent pixel shader operations, achieving power efficiency without compromising the rendering of visible portions.

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If entire object data is transferred to GPU for rendering, then complete object is available for processing, but system bus pressure increases

Engineering Contradiction:
Improveobject data availabilityVSAvoidsystem bus pressure
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The geometry shader performs clipping operations on object data before it is fully transferred to the pixel shader. This preliminary clipping reduces the amount of data that needs to be processed and transferred through the system bus, reducing bus pressure while maintaining availability of necessary object portions.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10825238B2Visual edge rendering using geometry shader clipping
Publication Date: 2020.11.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10825238B2 patent drawing
  • US10825238B2 patent drawing
  • US10825238B2 patent drawing

AI summary

A three-dimensional (3D) object is configured for presentation on a display screen. Object data representing a model of a 3D object is received at a graphics processing unit. The object data includes a plurality of interrelated polygons. Coordinates for one or more clipping boundaries are also received at the graphics processing unit. The clipping boundaries definer a presentation region that overlaps at least in part with visible portions of the display screen. Using a geometry shader, per-polygon clipping is performed on each polygon of the object data that intersects with at least one clipping boundary. Only portions of the 3D object that lie within the presentation region are then presented on the display screen.