DavidBrainard / RenderToolbox3

Matlab toolbox for managing graphics rendering for psychophysics
MIT License
11 stars 4 forks source link

Why do PBRT and Mitsuba bump maps look different. #29

Closed benjamin-heasly closed 9 years ago

benjamin-heasly commented 11 years ago

MakeMaterialSphereBumps demonstrates Generic mappings syntax for bump maps, with PBRT and Mitsuba.

For some reason, the bumps look different between the renderers, even with the same source image for the bump map texture and the same scale factor applied to the texture. Often, the bumps look smaller in Mitsuba. For large scale factors, it's hard to tell which bumps look bigger, but they still look different.

One possible explanation is that renderers read images differently. The Mitsuba docs say that bump maps use texture values above the texture minimum, not texture absolute values, for the bump heights. Does PBRT do the same?

I tried using a source image with contrast stretched to the full image range, so that the texture absolute value and value above the minimum would be the same. The renderers still made different-looking bumps. It's possible the contrast stretch got broken when I converted from .jpeg to .exr.

Another possible explanation is that the bumps have different "shapes" as implemented by the renderers, because of some deep assumptions about small-scale surface geometry or numerical rounding. So "bump" might mean different things to the two renderers.

benjamin-heasly commented 11 years ago

This raises a larger question. For physically-based rendering, what is an accurate geometric interpretation of a bump map?