Hit Testing Visual Objects Using Clip Space Bounding Boxes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hit testing calculations for large numbers of visual objects consume significant CPU resources, leading to performance issues such as reduced response time in user interfaces.

Innovation Solution

The method involves performing bounding box calculations in the clip space to reduce the number of matrix transformations required for hit testing, where only visual objects with a hit on their bounding box undergo further CPU processing, offloading unnecessary calculations and improving CPU efficiency by parallelizing rendering with the GPU.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If hit testing calculations are performed for all visual objects using CPU, then accurate hit testing is achieved, but CPU resources are excessively consumed

Engineering Contradiction:
Improvehit testing accuracyVSAvoidCPU resource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The hit testing process is segmented into two stages: a fast culling stage using GPU-accelerated bounding box calculations in clip space, and a detailed hit testing stage using CPU for objects that pass the cull. This segmentation allows the system to quickly eliminate most objects without full hit testing, reducing CPU workload while maintaining accuracy for relevant objects.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Bounding box calculations in clip space serve as an intermediary filtering mechanism between the rendering pipeline and detailed hit testing. This intermediary layer quickly identifies potentially intersecting objects without requiring full matrix transformations, reducing the number of objects that need detailed CPU processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If full matrix transformations are performed for all visual objects, then accurate hit testing is achieved, but processing time increases

Engineering Contradiction:
Improvehit testing accuracyVSAvoidresponse time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

Bounding box calculations are performed preliminarily in clip space before detailed hit testing. This preliminary action uses simplified geometry and coordinate space to quickly identify candidate objects, avoiding the time-consuming full matrix transformations for all objects while ensuring accurate hit testing only for relevant candidates.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The approach changes the dimensionality and coordinate space by performing initial calculations in clip space (a normalized coordinate system) rather than in world space or screen space. This dimensional transformation allows for faster bounding box calculations that can be performed in parallel on the GPU, reducing overall processing time.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Measurement precision

If CPU performs all hit testing calculations, then accurate results are obtained, but parallelization with GPU is reduced

Engineering Contradiction:
Improvehit testing accuracyVSAvoidprocessing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The processing workload is segmented between GPU and CPU based on computational requirements. The GPU performs parallel bounding box calculations in clip space for all objects, while the CPU performs detailed hit testing only for objects that pass the GPU cull. This segmentation enables effective parallelization while maintaining accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The GPU-based bounding box culling in clip space acts as an intermediary that prepares data for CPU processing. This intermediary step enables the CPU to focus only on relevant objects, improving overall processing efficiency through effective parallelization while maintaining accurate hit testing results.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9280449B2HIT testing of visual objects
Publication Date: 2016.03.08 SAP SE
  • US9280449B2 patent drawing
  • US9280449B2 patent drawing
  • US9280449B2 patent drawing

AI summary

Various embodiments for hit testing of visual objects are described herein. Data of visual objects is generated in a two-dimensional clip space. The data of visual objects includes two-dimensional projections of the visual objects. Cursor coordinates are transformed into the clip space and bounding box calculations are performed using the transformed cursor coordinates and the generated data. Hit testing is performed when there is a hit on a bounding box of at least one of the visual objects in the clip space. The hit testing is performed in a three-dimensional space. A result is then presented on a user interface based on the hit testing.