So far I implemented old cheap offset parallax mapping, and "Steep Parallax Mapping". The "steep" variant checks if a pixel is occluded or not by firing a short ray towards the camera, then check for about 12 iterations if the ray intersected with the surface heightMap or not.
The problem with the "steep parallax" effect is that I get a sliced-layered result. As if 12 thin sandwiches we're stacked. This picture described the problem:
http://apocaq3.xtr3m.net/images/parallax/SteepParallax-14iters-CloseView.jpg
Maybe there is simple solution for this, or maybe my heightMap isn't right (too big height differences?).
Either way, I was wondering what is the game-standard these days. I plan to use the parallax effect for walls and such, but also for debris on the ground (bricks and crap) so a good level of detail is important. Only problem is that I just don't know what to chose.... Steep Parallax Mapping, Cone Stepping, Relief Mapping, Parallax Occlusion Mapping,... don't know which method looks good & has a proper performance.
Ultimately, it should be something like this:
That's Ambient Occlusion Mapping right? A few questions then:
- The bricks in that video seems to have (texture?)detail on the sides as well... How/where did they draw that? Or is it maybe a procedural shader instead of a texture that does the job here?
- The sides are "clipped" away, instead of having a flat horizon. Is that just a matter of killing pixels in the fragment shader once they fall outside?
- What's so different about this than Steep Parallax Mapping? I mean, it also works by raytracing right?
- Is Ambient Occlusion Mapping like shown here a good idea (performance, practical to implement etc)?
- Last but not least, anyone knows a good paper or demo with that technique?
Thanks,
Rick