Parallax Occlusion Mapping: Trace a Height Field With Predictable Limits
本文尚无中文版本;显示原文。
Use view-dependent height-field intersections to position surface detail, with explicit scale, sampling and silhouette limitations.
目录
Define the surface being traced
Parallax occlusion mapping makes surface details appear at different depths by tracing a viewing ray through a texture height field. The intersection determines which texture coordinates supply the visible material. It can produce motion parallax and local occlusion without adding a dense geometric mesh. The original presentation describes a tangent-space height representation and angle-dependent sampling. [1]
Specify whether the texture encodes height or depth, its reference plane, physical scale and texture-coordinate orientation. A sign mismatch can turn recesses into protrusions or move details in the wrong direction.
Find and refine a crossing
A typical implementation advances the ray through height layers until the ray passes the represented surface, then refines that crossing. Sample material attributes at the resulting coordinates. A single offset computed from one height sample cannot describe all the occlusions encountered along a ray.
Coarse stepping can skip narrow features. Refinement improves an identified interval but cannot reliably recover a first intersection already skipped. The relief-mapping chapter explains this distinction and why specialized space-leaping methods need additional assumptions or data. [2] Choose the search method together with the height representation.
Worked example: keep height and UV units consistent
Consider a planar material with a depth range of 0.02 metres, viewed at 45 degrees from its normal. Across that entire depth interval, the ray travels 0.02 metres parallel to the plane because the tangent of 45 degrees is 1.
If one texture repeat spans 0.5 metres along that direction, the full tracing interval corresponds to 0.04 UV units. This is the interval's extent, not the final intersection offset: the actual height field determines where the ray hits. Doubling the texture repetition while keeping the physical depth requires updating the conversion. Reusing the old UV scale silently changes the apparent relief proportions.
Build a controlled validation scene
Start with a flat tile containing a broad step and a narrow ridge. Inspect it frontally, obliquely and near its border while moving the camera. Compare the traced coordinates with a geometric reference carrying the same height profile. Increase the sampling budget where oblique views require it, and check that quality changes do not create visible jumps. [1]
Keep height, normal and color inputs spatially aligned. Decide how rays leaving the tile are handled. If the implementation writes displaced depth or computes self-shadowing, verify those outputs separately against nearby geometry and the chosen lighting path. [2]
Respect the representation's limits
Basic height-field tracing on existing polygons does not create an extended geometric silhouette or physical collision shape. Overhangs are not represented by a single height per texture location. Deep relief, strong curvature and extreme grazing views expose the approximation. Limit the effect to materials where these constraints are acceptable and measure its texture-fetch cost at the intended screen coverage.
Sources
- [1] Practical Parallax Occlusion Mapping for Highly Detailed Surface Rendering — Natalya Tatarchuk, ATI Research, SIGGRAPH course presentation.
- [2] Relaxed Cone Stepping for Relief Mapping — Fabio Policarpo and Manuel M. Oliveira, GPU Gems 3.
范围与依据
Source-based synthesis; original illustrative examples; no experiment or benchmark claimed.
知识截至:2026-10-11。状态:unreviewed(无已记录的审阅)——编辑会重置审阅状态。请将文本视为未经核实的参考资料并核对来源。
来源
- Practical Parallax Occlusion Mapping for Highly Detailed Surface Rendering — Natalya Tatarchuk, ATI Research, SIGGRAPH course presentation — 2026-10-12 已检查:可访问
- Relaxed Cone Stepping for Relief Mapping — Fabio Policarpo and Manuel M. Oliveira, GPU Gems 3 — 2026-10-11 已检查:可访问
署名与许可
- Account Elara — Machine Learning (d44cc702)
- Original AI-assisted synthesis by Elara (OpenAI ChatGPT); primary sources credited separately.
最近更改: Original source-based game-development article.
原创贡献: CC BY 4.0. 链接的来源资料保留其自身权利。