Noise distortion / bulge map
Re: Noise distortion / bulge map
I'm currently looking at this.
Re: Noise distortion / bulge map
did you found something ?
)
- PureSpider
- Posts: 1459
- Joined: Tue Apr 08, 2008 9:37 am
- Location: Karlsruhe, BW, Germany
- Contact:
Re: Noise distortion / bulge map
tomorrow-ishOnoSendai wrote:Sorry, haven't looked at the problem yet. I'll look at it tomorrow!
Cheers!
Re: Noise distortion / bulge map
Would be nice to hear if there are some updates on this? 
Re: Noise distortion / bulge map
It was looked at. 
Not sure if it was also fixed.
Not sure if it was also fixed.
Re: Noise distortion / bulge map
Indeed, and sorry for the lack of updates in this thread. A lot of other tasks (improving subdiv, GPU, and other things for the next release) took priority.
Unfortunately it's still hard to tell if an 8 bit image should be enough, judging from the original post comparison images it might be, but maybe some extra smoothing is needed... so more tests have to be done.
We'll all be back at work soon, and this will get its due attention!
Unfortunately it's still hard to tell if an 8 bit image should be enough, judging from the original post comparison images it might be, but maybe some extra smoothing is needed... so more tests have to be done.
We'll all be back at work soon, and this will get its due attention!
Re: Noise distortion / bulge map
Hi all,
I looked into this issue a bit.
The fundamental problem is the small bit-depth of the texture, combined with the slowly changing values, leading to quantisation and hence stepping.
I have messed with curves of the bulge map a bit to demonstrate the problem.
As you can see there are basically 'plateaus' in the image with the same pixel values, which means that the shading normal will be unchanged on the plateaus, leading to stepping artifacts.
The solutions are as follows:
* Use a higher bit-depth texture, preferably floating point, such as a 16 bit EXR.
* Use ISL, maybe a perlin noise shader.
* Using a smaller texture and a wider dynamic range so that there are no plateaus should work as well.
Cheers,
nick
I looked into this issue a bit.
The fundamental problem is the small bit-depth of the texture, combined with the slowly changing values, leading to quantisation and hence stepping.
I have messed with curves of the bulge map a bit to demonstrate the problem.
As you can see there are basically 'plateaus' in the image with the same pixel values, which means that the shading normal will be unchanged on the plateaus, leading to stepping artifacts.
The solutions are as follows:
* Use a higher bit-depth texture, preferably floating point, such as a 16 bit EXR.
* Use ISL, maybe a perlin noise shader.
* Using a smaller texture and a wider dynamic range so that there are no plateaus should work as well.
Cheers,
nick
- Attachments
-
- bump_steps.png (6.76 KiB) Viewed 4260 times
Re: Noise distortion / bulge map
OnoSendai: Well i think most of us know thats the cause, but dcm said he has used 8 bit images for bump in other renderengines without problems, because they do some internal filtering to smooth it out.
- zeitmeister

- Posts: 2010
- Joined: Tue Apr 22, 2008 4:11 am
- Location: Limburg/Lahn, Germany
- Contact:
Noise distortion / bulge map
Yes, they do.
I don't know if other unbiased engines do have that problem... but ordinary raytracers do an internal filtering.
I don't know if other unbiased engines do have that problem... but ordinary raytracers do an internal filtering.
Cheers, David
DAVIDGUDELIUS // 3D.PORTFOLIO
·
Indigo 4.4.15 | Indigo for C4D 4.4.13.1 | C4D R23 | Mac OS X 10.13.6 | Windows 10 Professional x64
DAVIDGUDELIUS // 3D.PORTFOLIO
·
Indigo 4.4.15 | Indigo for C4D 4.4.13.1 | C4D R23 | Mac OS X 10.13.6 | Windows 10 Professional x64
Re: Noise distortion / bulge map
Indigo uses bilinear filtering, but it still doesn't help in this case.
-
StompinTom

- Posts: 1828
- Joined: Mon Sep 04, 2006 3:33 pm
Re: Noise distortion / bulge map
Does Indigo use 16 bits internally for bump maps? That, plus filtering on 8 bit maps, could maybe help some of the problem...
Re: Noise distortion / bulge map
Hi Tom,
Indigo just keeps whatever format the bump was loaded in. So an 8-bit bump map stays 8-bit. It could be a solution to convert to 16-bit internally and do a bit of filtering as you said.
Indigo just keeps whatever format the bump was loaded in. So an 8-bit bump map stays 8-bit. It could be a solution to convert to 16-bit internally and do a bit of filtering as you said.
Re: Noise distortion / bulge map
There sure seems to be something really fishy going on.
These are two (rather extreme) closeups of same spot of the same test scene with the same map. The only difference (that I know of) is that the first map is 32bit exr and the second 8 bit png (reduced from the same image in photoshop).
The 8bit one completely lacks the shadow, and in the 32 bit one there's some strange patterns (could be from photoshop too, I don't know). It seems Indigo handles 32bit bump maps in totally different way than 8bit ones.
None the less, it works pretty well as abstract art!
Still using Indigo 2.4.9 though, I don't know if there's been any major improvements since that.
These are two (rather extreme) closeups of same spot of the same test scene with the same map. The only difference (that I know of) is that the first map is 32bit exr and the second 8 bit png (reduced from the same image in photoshop).
The 8bit one completely lacks the shadow, and in the 32 bit one there's some strange patterns (could be from photoshop too, I don't know). It seems Indigo handles 32bit bump maps in totally different way than 8bit ones.
None the less, it works pretty well as abstract art!
Still using Indigo 2.4.9 though, I don't know if there's been any major improvements since that.
-
FakeShamus
- Posts: 512
- Joined: Wed May 02, 2007 11:34 am
Re: Noise distortion / bulge map
I've had a feeling there was something screwy about this for a while. noticed it a while back with my mountains scenes, where even with 32 bit maps you get stair-stepping (see the flat areas of the valley in this image).
I think this is kind of a bad problem, especially if you're rendering large or close up. isn't there a way to better translate the image data into smoother surfaces? somehow averaging the surface normals based on the differences in pixel values? (I realize in reality this is probably much more complicated than I am describing).
I think this is kind of a bad problem, especially if you're rendering large or close up. isn't there a way to better translate the image data into smoother surfaces? somehow averaging the surface normals based on the differences in pixel values? (I realize in reality this is probably much more complicated than I am describing).
Who is online
Users browsing this forum: No registered users and 45 guests

