Iterative Parallax Mapping

Iterative Parallax Mapping

Same idea as Steep Parallax Mapping, but iterated for better quality, which also means slower frame rates. In terms quality and frame rates, this is the optimal in terms of bang for buck. There is always relief mapping for incredible quality in exchange for incredible lag :stuck_out_tongue:

Hereā€™s a comparison at low angles, but you will have to download the blend to get an overall feel for the differences.

Left is Steep Parallax, Right is Iterative Parallax
http://www.prism.gatech.edu/%7Egtg455r/steepiterativecomp.jpg

Blend file download links:
Mirror 1
Mirror 2

In the blend file, the middle set is iterative parallax mapping, left set is parallax mapping, bottom set is steep parallax mapping, and top set is just the plane image.

You can move the camera with mouse and WASD. You can move light as well.

Light Controls:
UP DOWN moves on Z axis
LEFT RIGHT moves on X axis
PAGEUP PAGEDOWN moves on Y axis

bumpScale can be modified for the iterative parallax mapping plane with PLUS and MINUS. If your computer has a weak graphics card, higher bumpScale will definitely lag because more iterations are required to smooth out the larger bumps.

Shadows have been disabled in this version. If you want to enable them, youā€™ll have to comment out the selfShadow = 1 line for the respective script.

In my iterative and steep implementations, there is an artifact along the diagonal from bottom left to top right when the plane is viewed from the top left. Any one have a clue where this is coming from?

This will eventually be implemented into Blender.

Enjoy :cool:

looks great!
keep it up

awesomeā€¦

I feel like using the lion picture as a reference texture isnā€™t the best idea because really in a game I donā€™t think anyone would try to convey so much detail in a parallax map. Probably it would be better to model a low poly lion head and use an ordinary normal map and just hang it to the wall. So I think the lion head is great for the intentions that the researchers had when writing their papers but not so much as a practical ā€˜field testā€™ of typical or recommended usage for the feature.

I modded Crysis for a while and even Crytekā€™s geniusesā€™ version of parallax occlusion mapping had texture swim if you tried to use it to convey too much detail. I mean if you make a wall texture in CryEngine 2, then you get next to the wall and look up at it at a sharp angle youā€™d get this weird warp effect that made the texture look like it had a miniature warp hole in it that leads you off into oblivion. And this is wall art made by modders who really knew what they were doing so it was a technical thing as opposed to human error. ā€”> Video Testimony by Crysis Modder: http://www.youtube.com/watch?v=0bBEgZ03HM0&feature=channel_page

This is the reason why Crytek themselves never used parallax on their walls even though they could have. Performance/aestic wise it was much easier to just add the geometry.

That said they used parallax for the terrain in Crysis and because of the fact that the ground plane stays relatively contrained on itā€™s axis in reference to the player viewer angle the texture swim/oblivion void artifacts are kept to a minimal almost to the point where the player wouldnā€™t ever notice unless they just really are out to find them. Also for terrain textures you can have a ground plane and pebbles and things that are nice and spaced out so that the height displacement effect really shines through moreso than in the lion texture where the bricks are really packed too tightly together for the full effect to shine through very well in my opinion - notice how this more game friendly example of parallax has the displacment detail spaced out better --> this type of image in my opinion is better to look to as a reference texture. Better Spaced Out Texture than the LionImage (more common usage of parallax for realtime in my opinion): http://www.youtube.com/watch?v=UeF-kCr_vyo

XNA parallax example: http://www.youtube.com/watch?v=GwOfIsSMQJM&feature=related

Here is example of the only places where crytek saw fit to use Parallax in the whole entire game that Iā€™m aware of

With everything else in mind it makes a wonderful effect for terrain and you can see that the pebbles look more like the examples in the youtube videos I linked to than they look like a bunch of tightly packed bricks. Not that parallax couldnā€™t be used in that way itā€™s just Iā€™m not sure if itā€™s even the smartest way to approach texturing a real time scene to begin with. But donā€™t just take my word for it :ba:

So like I said with the advanages/disadvanges of using parallax it probably isnā€™t best suited for trying to convey a complex world on simple geometry in the same sense as everyday normal mapping but in some cases it can be a godsend. Like on the terrain. Iā€™m sure in other areas too like on really big craggly surfaces, as opposed to that lionhead texture with all the close detail jampacked together the way it is.

To me Iā€™m still a little bit confused by the whole thing. Even very good artists get the naming of all these parallax techiques mixed up and they mean relief mapping but they call it parallax occlusion or they mean steep parallax but they call it parallax displacement and Iā€™m not even sure if there is a difference between every single one of the names Iā€™m no expert. But thatā€™s my little my little input.

That said I personally wouldnā€™t have more than one-two examples of Parallax of anysort visible in a real time scene at any particular time cuz to use it to the full effect itā€™s still a bit overly expensive. So for me I would use it for terrain, as is the case in Crysis, as well as for the impact of maybe rustic wooden objects, just for ā€œwowā€ effect. Not because it should replace everyday normal maps.

And as you can see in the CryEngine pics it really can make a nice impact on a scene in my opinion, even though some people dontā€™ like Cryteksā€™s rocks I do! I think itā€™s neat. :stuck_out_tongue:

That said I think your demo is great itā€™s just hard to really see it with that texture and unfortunately I havenā€™t had time to make a parallax image specifically for the new blender scripts so far.

You rock like Crytek rocks. Thanks for feedback, I really appreciate it. I will try to find some alternative textures or make my own, then maybe we can see if I got it down correctly or not :slight_smile:

lol, no YOU rock, thanks for working on this feature! :smiley:

woot incredibleā€¦ just yesterday I hang on papers about iterative parallax mapping and today itā€™s in blender demo :smiley:
wow thank you for your hard workā€¦
itā€™s working great here and much much better look than steep pm :eek:

maybe you could cooperate with martinsh heā€™s in parallax mapping mood too now to bring ultimate solution :slight_smile:

Is parallax mapping or whatever u call it possible in blender it would be so useful and does it need a powerful computer to work or can astandard computer make it work.

This will eventually be implemented into Blender.

By this do you mean this will be available for use without needing Python, show in GLSL mode and the game engine, and also be able to be rendered with Blender Internal?

If the answer is yes than that is excellent news which is having really advanced shaders like this highly usable by artists with little GLSL programming ability.:smiley:

wow, great guys!!!, now more than ever iā€™m dreaming of BGE becoming the ultimate game workflowā€¦

Obs. if anyone is interested i found some good articles on realtime lighting.

http://www.dee.cz/fcss/

Great guys !!!, more than ever iā€™m dreaming of BGE reborn as the ā€œultimateā€ game design work flow.

Obs.: lets throw some amazing articles of this incredible guy that also created the http://dee.cz/lightsmark/:

http://www.dee.cz/fcss/ Fast Correct Soft Shadow
http://realtimeradiosity.com/demos/
http://realtimeradiosity.com/
http://www.dee.cz/index.html

Wow!!!

Well done!!!

What"s wrong with my parallax mapping?

http://rapidshare.com/files/243282224/DISPL.blend.html

Im just curious, but are all these things being added into blenderā€™s GE? If so, when will they become part of the standard release?

please re-up :frowning:

yeah plz need hard !