Displacement Map Generation from Normal Maps for Tessellation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing graphic assets lack the geometric information needed to generate realistic and detailed object geometries when used with advanced graphics APIs that enable tessellation, as they were designed for techniques like bump mapping that do not affect object geometries, making it costly and time-consuming to update them for sophisticated geometric processing.
Innovation Solution
A method to generate a displacement map from a normal map by processing normal vectors to calculate depth difference vectors and generating rays to determine displacement values, allowing existing assets to be used in systems capable of tessellation and vertex displacement.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Illumination intensity
If bump mapping is used to simulate geometric details, then lighting effects are improved, but silhouette accuracy and shadow realism deteriorate because the underlying geometry remains unchanged
Solution Approach 1:
The patent segments the geometric representation into two components: the base low-resolution mesh and the displacement map data. The displacement map is further segmented into multiple layers (original displacement map and refined displacement map) that can be independently processed and combined to achieve both lighting accuracy and silhouette precision.
Solution Approach 2:
The patent replaces the traditional bump mapping mechanical system (which only modifies surface normals) with a displacement mapping system that actually modifies vertex positions through tessellation and displacement maps, thereby achieving both lighting and silhouette accuracy simultaneously.
2Manufacturing precision
If tessellation is used to increase geometric detail, then object geometry realism is improved, but compatibility with existing graphic assets deteriorates because they lack geometric information
Solution Approach 1:
The patent performs preliminary action by pre-processing existing graphic assets to generate displacement maps from their normal maps before tessellation occurs. This allows existing assets designed for bump mapping to be automatically converted into formats suitable for displacement mapping and tessellation without requiring manual reconstruction of geometric information.
Solution Approach 2:
The patent introduces displacement maps as an intermediary data structure that bridges existing graphic assets (designed for bump mapping) and advanced tessellation techniques. The displacement map serves as a mediator that translates normal map information into geometric displacement data, enabling compatibility between old assets and new techniques.
3Manufacturing precision
If existing graphic assets are converted to include geometric information for tessellation, then geometric realism is improved, but conversion time and cost increase
Solution Approach 1:
The patent enables self-service by allowing existing graphic assets to automatically generate their own displacement maps from their existing normal maps through automated processing. This eliminates the need for manual intervention or specialized tools to convert assets, significantly reducing conversion time and cost while preserving geometric information.
Data Source
AI summary
One embodiment of the present invention sets forth a technique for generating a displacement map. The technique involves receiving a normal map which includes one or more normal vectors associated with a texture map, processing the one or more normal vectors to a calculate one or more depth difference vectors associated with the texture map, and generating one or more rays associated with a first texel of the texture map. The technique further involves calculating, for each of the one or more rays, relative depths of each of the one or more other texels traversed by the ray based on each of the depth difference vectors that correspond with the one or more other texels traversed by the ray, determining a displacement value associated with the first texel based on the relative depths calculated for the one or more rays, and storing the displacement value in a displacement map.


