Virtual Memory Noise Texture Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Procedural noise generation in computer graphics is slow and consumes substantial computational resources, and creating large noise textures to avoid repetition exceeds physical memory resources, leading to visual artifacts in rendered images.

Innovation Solution

A method is implemented where a small set of physical pages in physical memory stores noise texels, and a large virtual noise texture is created by mapping multiple virtual pages to these physical pages, with random or pseudo-random selection to avoid visible repetition, allowing for a non-repeating noise texture within a small physical memory footprint.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a large noise texture is created to avoid visible repetition, then visual realism is improved, but physical memory resources are exceeded

Engineering Contradiction:
Improvevisual realismVSAvoidphysical memory resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The large virtual noise texture is segmented into multiple virtual pages that map to a smaller set of physical pages. Each virtual page represents a portion of the logical noise texture space, while physically they share memory with other virtual pages. This segmentation allows the system to present a large texture (avoiding repetition artifacts) while using limited physical memory resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates virtual copies of noise texture data through virtual memory mapping. Multiple virtual pages can map to the same physical page, effectively copying the same physical data into multiple virtual locations. This allows the system to simulate a large noise texture without physically storing duplicate data, thereby avoiding memory exhaustion while maintaining visual realism.

Inventive Principle:
Principle #26Copying

2Quantity of substance

If a small noise texture is used to conserve memory resources, then physical memory usage is reduced, but visual artifacts appear due to repetition

Engineering Contradiction:
Improvephysical memory resourcesVSAvoidvisual realism
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent introduces a virtual memory dimension to resolve the contradiction. By mapping virtual addresses to physical addresses through a page table, the system creates an additional addressing layer. This allows a small physical memory space to be presented as a large virtual noise texture, eliminating visible repetition artifacts while conserving actual physical memory resources.

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

3Adaptability or versatility

If procedural noise generation is performed in real-time, then noise is generated on demand, but computational resources are substantially consumed

Engineering Contradiction:
Improvereal-time generation capabilityVSAvoidcomputational resources
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The noise texture is generated in advance and stored in physical memory pages before rendering occurs. Instead of generating noise procedurally during real-time rendering (which consumes substantial computational resources), the system pre-generates the noise pattern and stores it. During rendering, the GPU simply samples from this pre-generated texture through virtual memory mapping, achieving real-time performance without real-time computational generation costs.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9437031B2Virtual memory based noise textures
Publication Date: 2016.09.06 NVIDIA CORP
  • US9437031B2 patent drawing
  • US9437031B2 patent drawing
  • US9437031B2 patent drawing

AI summary

A large non-patterned noise texture occupies a relatively small physical memory space. Each of a small set of physical pages in physical memory includes noise texels forming part of a noise texture. A large “virtual” noise texture is created by mapping each one of a large number of pages in virtual address space to one of the small set of physical pages; multiple virtual pages may be mapped to the same physical page. The physical page that each virtual page maps to is randomly or pseudo-randomly selected such that the resulting noise texture appears to be non-repeating. When a noise texel is requested by reference to a virtual address during rendering, the virtual address of the virtual page is translated to the corresponding physical address, and the noise texel is retrieved.