Parallax node add-on

This add-on implements a classic shader technique called Parallax Occlusion Mapping (POM).

Many parallax node setups already exist, so the concept itself isn’t new. What makes this one truly different is its user-friendly design. Instead of a complex node group, this implementation is a single, special node that directly contains the Height Map texture and allows you to control the iteration count internally by adjusting the step parameter.

The node works using a raymarching algorithm. It takes the viewer’s angle and traces virtual rays across the surface. It then dynamically offsets the UV coordinates for your other textures — like color and normal maps — based on the height map and the viewing angle. This creates the illusion that you are looking at a highly detailed 3D surface, all without adding any extra geometry.

The “Steps” setting controls how many times the node samples the height map along these rays. More steps mean higher quality and more accurate occlusion, but at the cost of increased computational power. The “Bias” setting is used to fine-tune the results for optimal quality.

Get the Add-on: https://extensions.blender.org/add-ons/parallax-node/
If you want to tip: https://superhivemarket.com/products/parallax-node

20 Likes

Bought it. Will not install. It says line “2229…acquire cookie none exists! (When it should)” :unamused

What do you mean by “bought it”? Extensions on the blender website are free.

Are you using Blender 4.5?

1 Like

OOPS. Downloaded it using 4.5.3, Mac OS 15.6, 48gb Ram.

Seems to be an issue in internet connection or extensions website. Not related to add-on itself. Maybe you have vpn enabled?

No VPN, If it is the extension website, Do I wait or tell an unknown location?
Thanx for your answer by the way.

I made a small dive into a problem, and it looks like it is an issue then Blender tried to test a directory, but it is either doesn’t exist or Blender have no permissions to write into it.

It is not an add-on code itself, so I can’t do much about it. So it is better to write a bug report.

For now, you can try to download zip and install it manually using “Install from Disk”.

Great addon. Thank you for sharing it with us.

But I think what is needed is a Vertex Input node.

Currently it’s requiring a uv map and is not working with tiled textures.

A Vertex input node should solve both limitations.

Vertex input is not enough. It is also required a tangent vector. It is easy to make it work on a default plane, of course, but not on complex models. So I will try to add more texture coordinates later if I figure it out.
If you have node setups that work this way, please, share.

sadly not. But maybe as a quick solution a scale input field would work as a workaround to fix tillable textures?

Hi, I have converted your script into a material node form independent
blend file.


parallax-node

parallax_node.blend (1.4 MB)

Made a parallax node using closures and repeat zone.

A ridiculous amount of iterations like 3000 doesn’t require shader rebuilding and responsive in viewport.

Requires Blender 5.0: parallax_test.blend (1.9 MB)

4 Likes

Hey, I’ve downloaded the extension and was testing it a few days ago, as it’s pretty good, but today as I was implementing it on a few existing files, I noticed the parallax effect distorts weirdly when you use a panoramic camera, specially with high fisheye effect.

I also tested the closures and repeat zones version you posted above and that also causes the same issue. Dunno if that’s a fixable issue on this implementation, but I’ve tried other, older parallax node groups and they don’t have this issue.

Thanks for the extension regardless, more development in parallax for blender is always appreciated!

Can you show that node setups have you tried?

Hey, sorry for the wait, busy times!
So I decided to do a proper test to share, made this quick setup with a brick shader, parallax using the displacement texture for the effect. They all have the same camera and shader setup, just changing the parallax method. Left renders are regular perspective cameras and right ones are fisheye equisolid panoramic.

  • The first one is by Anton Neveselov, this is the one I’ve been using for years. It’s not impressive when compared to the other options, very limited, but it’s the “old reliable” (https://www.youtube.com/watch?v=141wIzL6yGY)
  • Second one is the one you get if you follow CGMatter’s tutorial. I made this recently because I wanted to try implementing the newly added repeat zones to it… it was good practice, and it did end up looking pretty accurate, but it has no blending between layers, making some heavy stair-stepping, which limit it’s usability. I’m also not smart enough to figure out how do fix it myself, hah. (https://www.youtube.com/watch?v=80YPCzSSLEQ)
  • Third one is by Xeofrios, there are loads of different versions of this, lots of discussion around it. The version I used here is the lightweight edit that CGMatter did, since the original version is very heavy, as it also provides self-shadowing. It’s a good option, but it creates a weird wobbly outline around things, I find it very distracting. (blenderartists. org/t/parallax-occlusion-mapping-test/1513622) ((I can only have 2 links on a post, just remove the space on ‘org’))
  • And the last one is from your addon, it’s pretty good and easy to use, but as demonstrated, it creates a weird distortion on panoramic cameras, which sadly I do often use.

There are loads other parallax setups out there, but these are the ones I have tried recently. Hope this helps :smile:

Oh, I have seen these setups. The reason why I don’t use the Xeofrios setup (or ideas from it), that it works with flat plane, but doesn’t work with any other surfaces. But I want to take a look on this, why it works with panoramic camera.

So I made a little bit of research, and I expect this is a bug. So I reported it, hope it will be easy to fix from blender side:https://projects.blender.org/blender/blender/issues/152152

Oooh interesting, didn’t think the problem would be on blender’s side, warped viewer coordinates makes a lot of sense!
I did a lil poking and it does seem to be a simple mistake, when you are viewing through a panoramic lens it rotates the vector… this simple setup fixes it:
image
Hopefully this means it’s a simple bug for the blender team to fix, I’m sure it’d help plenty of other addons that rely on camera positioning as well.

No, this set of nodes fixes the issue:

изображение

It not only works in panoramic camera, but also outputs correct vector for orthographic camera as well.

Update for Blender 5.0. That’s new:

New Parallax Closure node, allows injecting any type of textures, not only images.

Using Shader repeat zone, means fast, one-time shader compilation!

Works now with Orthographic and Panoramic Cameras.

You can now Scale and Offset UV coords.


4 Likes