Cylindrical Wrapping on Unified Shader Hardware

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional graphics processors rely on dedicated hardware for cylindrical wrapping, which is no longer supported by current standards, making it undesirable and necessitating a software-based solution for performing this function.

Innovation Solution

Implementing cylindrical wrapping on shader hardware using unified shader units that process geometry, vertex, and fragment information, ensuring vertex order invariance by sorting and adjusting texture coordinates based on threshold distances to maintain correct texture mapping across seams.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If dedicated hardware circuitry is used for cylindrical wrapping, then the wrapping function is reliably supported, but the device complexity increases and compatibility with current graphics standards deteriorates

Engineering Contradiction:
Improvecylindrical wrapping supportVSAvoiddedicated hardware circuitry
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies universality by implementing cylindrical wrapping functionality within unified shader hardware that can execute multiple types of shading operations. The shader unit is designed to handle both traditional graphics rendering and cylindrical wrapping calculations using the same hardware resources, eliminating the need for dedicated circuitry while maintaining reliable support for the wrapping function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent substitutes dedicated hardware circuitry with software-based shader programs running on general-purpose shader units. Instead of using specialized mechanical/electrical circuitry for cylindrical wrapping, the invention uses programmable shader code that can be loaded and executed on unified hardware, replacing fixed-function hardware with flexible software execution.

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

2Device complexity

If software-based cylindrical wrapping is implemented on shader hardware, then device complexity is reduced and standards compatibility is improved, but processing speed may deteriorate

Engineering Contradiction:
Improveshader hardware utilizationVSAvoidwrapping processing speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent applies segmentation by breaking down the cylindrical wrapping calculation into discrete shader instructions that operate on individual vertices and texture coordinates. The wrapping function is divided into manageable computational steps that can be executed efficiently by the shader unit, processing each vertex transformation separately rather than as a monolithic operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent utilizes the periodic nature of shader execution pipelines, where the same shader program is repeatedly executed for different vertices and primitives. The cylindrical wrapping shader is integrated into the regular graphics rendering pipeline, allowing it to benefit from the periodic, batched execution model of GPU shaders rather than requiring continuous dedicated processing.

Inventive Principle:
Principle #19Periodic action

3Manufacturing precision

If vertex sorting and coordinate adjustment is performed to ensure seam correctness, then texture mapping accuracy is improved, but processing overhead increases

Engineering Contradiction:
Improvetexture mapping accuracyVSAvoidvertex processing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing vertex sorting and coordinate normalization at the beginning of the primitive processing stage, before texture sampling and shading operations. By pre-processing the vertex coordinates to ensure they are within the correct texture range and properly ordered, the shader avoids unnecessary calculations during the main rendering pass, reducing overall processing time despite the initial sorting overhead.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7663621B1Cylindrical wrapping using shader hardware
Publication Date: 2010.02.16 NVIDIA CORP
  • US7663621B1 patent drawing
  • US7663621B1 patent drawing
  • US7663621B1 patent drawing

AI summary

Circuits, methods, and apparatus that perform cylindrical wrapping in software without the need for a dedicated hardware circuit. One example performs cylindrical wrapping in software running on shader hardware. In one specific example, the shader hardware is a unified shader that alternately processes geometry, vertex, and fragment information. This unified shader is formed using a number of single-instruction, multiple-data units. Another example provides a method of performing a cylindrical wrap that ensures that a correct texture portion is used for a triangle that is divided by a “seam” of the wrap. To achieve this, primitive vertices are sorted such that results are vertex order invariant. One vertex is selected as a reference. For the other vertices, a difference is found for each coordinate and a corresponding coordinate of the reference vertex. If the coordinates are near, no change is made. If the coordinates are distant, the coordinate is adjusted.