The polygon has had a good and long history. When it was first introduced, computers were slow and as such, a single colour was applied to the polygon. As the polygon grew up, computers became faster. The polygon was now receiving all sorts of colours from a revolutionary technique called texture mapping. Texture mapping was applied to the polygon for many years until a very smart person came up with a neat idea to calculate lighting colour on every pixel of a texture based on a user-supplied normal map. This was the start of bump mapping ( or normal mapping ).
Now, we would like to introduce you to Steep Parallax Mapping, a new parallax mapping technique that simulate depths on plane surfaces. This technique is more precise than the regular parallax mapping approach. It is also capable of self-shadowing. ( Dreamscape has not implemented self-shadowing, yet. We have implemented it into Rendermonkey, but transitioning it to HL2 has been tougher than expected. )
As the polls suggest, parallax mapping is the most anticipated feature among our fans. Before Steep Parallax Mapping, we had regular parallax mapping. Since interest in this feature is high, we have decided to go one step further and implement Steep Parallax Mapping. Steep parallax mapping has been applied to many areas such as lush grass, deep looking tiles, and more. The following is a screenshot of our revolutionary HL2 feature:
Amazing depth on flat surfaces is now achievable:
Tile 1
Tile 2
Wraiyth, I did it in SM3.0. Steep Parallax didn't even work properly in SM3.0. I had to modify it because I was getting an error about too many iterations in a loop.
yea nice as !
This is a little old.
We've introduced Relief Mapping with Self-shadowing to the Source engine now.
Doesn't Paralax mapping actually use a lot less polygons than say, normal mapping?
I love it when mods actually do some innovative stuff, such as new tecnollogy. It's fantastic stuff.
Awesome work!
Termin-X-man, all of these mapping techniques use the same number of polygons. Relief mapping is currently the best of all known techniques. After that you have Steep Parallax, then Parallax, then Normal Mapping, and then regular Texture Mapping.
No, bump mapping is known as normal mapping, although it can also be done with a height map. It affects the normals to give a more advanced lighting model. Paralax mapping and steep paralax mapping actually offset the polygons. They are slower techniques than normal mapping but can produce much nicer effects.
Parallax is actually a rather cheap effect (performance wise). Parallax mapping basically offsets the texture co-ordinates. It pretty much approximates the parallax that can be observed on an uneven surface. Normal Parallax ignores self-occlusion, self-shadowing and silouhettes, but Steep Parallax has all of these.
The tecnique subdivides the surface into x numbers of small tris. Each tri's vertice is displaced perpendicularly to the surface normal according to the position on the heightmap. The height maps function is to correlate the surfaces regular texture map and store it as one height per texel (range 0-1)
To put it simply :P
Personally, I don't like relief mapping because it is a rather expensive tecnique with artifacts. Most of the artifacts can be cleaned up by perspective bias enabled, but that still doesn't fix the problems that suck with the tecnique.
Impressive
Heh, so did you manage to implement Steep Parallax Mapping, Wraiyth?
Nope, and I don't know wether I'm going to try it. Personally I don't like Parallax anyway, I only coded it because everyone else on the team seemed to want it. I don't think its refined enough to be a good looking, useful tecnique, considering how imprecise it actually is.
Relief mapping is a good tecnique... in concept, because it can parallax non-planar surfaces. But thats still not refined enough to make it worthy for implementation.
I'm also curious - did you pull this off for SM2.0? The only samples (except for one) that I've seen of self-shadowed Relief were for SM3.0, and the shaders were ******* massive without the paths for SM2.0
Nice work !
wait, if you were to make a bump with this method, would it block things behind it?
And, the big question is:
Is this method actually more efficient than using polygons?
This is just like diplacement mapping...useless ingame since it takes too many polys to make those textures actually pop.
Kashoki, you really know your stuff.
Wow, looks great, love the grass.
Any specs? does it run on all hardware? or only later cards?
Nope, its Shader Model 3 only. Meaning, off the top of my head GeForce 6600 or better.