## Heightmap Stepping

Practical and theoretical implementation discussion.
rohezal
Posts: 1
Joined: Thu Nov 01, 2012 11:12 pm

### Heightmap Stepping

Hi guys,

I had a discussion with a guy. He said stepping through a Highfield is only possible if the surface of the primitive of the heightmap is planar.

So I have to discard the shading normals and just use the geometric normal:

http://im.bilderkiste.org/7135181244405/tevs.png

Is this true?

An other question is:

Tevs et al had a cool paper with min max maps for accelerating the stepping to O(log4(n)). They use each Texel in the higher mipmap levels as "bounding volume box" and the mipmap as quadtree. This means I must just use the geometric normal and discard every shading normals, right?

http://www.tevs.eu/project_i3d08.html

graphicsMan
Posts: 167
Joined: Mon Nov 28, 2011 7:28 pm

### Re: Heightmap Stepping

First question: you could probably do it by adjusting the height of each cell on the fly using known information based on, say, phong tessellation to adjust the height field according to the shading normals, etc...

Second question: probably you can't directly use that acceleration structure if you are adjusting by shading normals, but I'm not sure as I have not yet read the paper

Dietger
Posts: 50
Joined: Tue Nov 29, 2011 10:33 am

### Re: Heightmap Stepping

I haven't read that particular paper, but if you use some form of interval arithmetic on your highfield shader/texture to compute a hierarchy of bounding boxes (either on the fly or as pre-process), then the surface does not need to be planar. You should express the curved surface using interval arithmetic too, so that the bounding box hierarchy is conservative w.r.t. to curved highfield. Then you can just perform regular ray traversal through this hierarchy to find the intersections.