Welcome to the TWC Wiki! You are not logged in. Please log in to the Wiki to vote in polls, change skin preferences, or edit pages. See HERE for details of how to LOG IN.

Parallax

From TWC Wiki
Revision as of 22:14, 24 May 2007 by Professor420 (talk | contribs) (New page: ==Introduction== Parallax mapping is a convoluted and confusing topic. There are a number of different types of bump mapping, and parallax is one. There is a slightly linear progression ...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Introduction

Parallax mapping is a convoluted and confusing topic. There are a number of different types of bump mapping, and parallax is one. There is a slightly linear progression of better to worse, but once we hit the higher-end, things get basically very similar to each other, and this is what leads to confusion. So, let's imagine a bunch of programmers are sitting around a table, explaining their new techniques, beginning with the simplest and ending with the most complex.

The start of the road

These techniques have been around for years now, and they are common place and relatively cheap. Also, there was a somewhat linear development of the techniques, in contrast to the later "Occlusion" techniques.

Normal Mapping

I've created a technique that reads the normal for a surface from a texture, instead of the geometry. This allows a flat surface to take the lighting information of a much more complex surface. It is also a relatively cheap technique.

Parallax/Offset/Virtual Displacement Mapping

(Unreal Engine 3) Your technique is great, but let me improve it some. I will use a heightmap that will alter the UV's of a surface depending on the height and the the eye vector (the line from the camera to the pixel). Lower areas will squish together, higher areas will spread out some, and the result will look like the texture is occluded. This technique is relatively cheap, as well, it is just a few instructions added to a normal mapping shader.

Parallax with Offset Limiting

(FEAR) Wow that is cool! However, at glancing angles, the texture appears to "swim," a great deal. The pixels are all a mess. If we limit how much the pixels can move, we can avoid this; it is an easy fix.

The fork in the road

Here we have a paradigm shift. All the techniques up to now are "hacks" are far as the occlusion goes. The following techniques are all similar in a couple ways; they use a raytrace to test for occlusion; they actually perform occlusion of pixels, and are not "hacks" like the above techniques. There is "true" occlusion. The difference is mainly in how the raytrace is performed, with regards to accuracy, performance, etc. The paradigm shift is also that none of these are feasible on current hardware. You won't see use of these techniques until DirectX 10 hardware is common, even though the techniques have been around for a few years now.

Steep Parallax

Relief Mapping

Cone Mapping

Parallax Occlusion

(Crysis)

YOU can help us improve this Wiki! ~ Look for ways to help and editing advice. ~ If you need further advice, please post here.