[Apologies for any mistakes in tagging, I'm new to this site and topic]
I'm rendering a procedural surface in a game engine. A method returns density for a particular point in space. Density is a combination of forced values and multiple octaves of noise. A density of zero or less indicates air.
Using a simple marching cubes implementation, I can generate meshes and see an interesting (but slightly blocky) surface.
I'd like to try using dual contouring to improve the surface quality, however, that apparently requires hermite data.
Unfortunately, I don't really understand what hermite data is. As far as I can tell, it's density values stored at various levels of precision for a given volume?
Is it as simple as building something like an octree and recursively calling my density method until I get to a certain depth?
What is a computationally cheap method of generating hermite data from my density data? (In case it's a trade-off, speed is more important than precision)