1 (edited by Kevin 2017-12-05 06:39:49)

Topic: Gamma shifts in satellite provider images

In this post, @Alex suggested regenerating individual textures in the editor (or via the RWT API) as a way of adding detail only where it is most needed.

I've regenerated a large number of terrains with 8K textures, bordered by terrains with 1K textures, as shown here:
PunBB bbcode gamma_shiftt

Aside from the obvious resolution difference, you'll note a large gamma shift -- the 8K Google textures are much higher gamma than the previously computed 1K Google textures.

What practical suggestions might you have in this case to page textures with more similar appearance and gamma?

2 (edited by Kevin 2017-12-05 22:06:34)

Re: Gamma shifts in satellite provider images

I'm using RWT's post process to approximate the gamma shift with the brightness term.

It would be a big help to be able to apply the same post corrections to multiple terrains in batch fashion, without resorting to the API.

It's also worth mentioning that Unity doesn't immediately update the terrain display after applying the post process, which makes it necessary to force Unity to refresh to see what the effect is.

Re: Gamma shifts in satellite provider images

Hello.

You have several ways:
1. Generate textures using "Textures / Max Level - XXX", where XXX is the same value for all terrains.
In this case, all your textures will have the same gamma.
2. Use the image editor to change the gamma of textures.
Some editors / viewers have batch processing functions. For example IrfanView (free).
3. Use RWT postprocessing tools.
Unfortunately, this does not support automation.
4. If you have programming experience, you can write your own script to automatically correct the gamma.

Thanks for the report that the after postprocessing, textures are not automatically refreshes.
I will check it.

Kind Regards,
Infinity Code Team

Re: Gamma shifts in satellite provider images

Manually trying to match textures is not very satisfying, as I'm sure you can imagine.

Can you say more about your first suggestion:  "Generate textures using "Textures / Max Level - XXX", where XXX is the same value for all terrains."?  That sounds useful...

Re: Gamma shifts in satellite provider images

Why do textures have different gamma?
Because they are made from tiles with different zoom levels.
For example, if RWT use zoom 19 for 8192x8192, then zoom 16 is used for 1024x1024.
But you can force RWT use tiles from a certain zoom level.
Just specify Max Level 19.
This will increase the amount of downloaded data, but your textures will be made from tiles with the same zoom level and the problem will be gone.

The way to reduce the amount of downloaded data:
The provider has the same gamma in the range of zoom levels, for example zoom 17-20.
Regenerate the texture adjacent to the high-resolution texture until you find the minimum "Max Level" value, in which the textures have the same gamma.
For example:
Max Level - 19. Gamma OK.
Max Level - 18. OK.
Max Level - 17. OK.
Max Level - 16. Gamma fail.
You use Max Level 17 for all terrains.

How to automate regeneration, based on an example:
http://forum.infinity-code.com/viewtopi … 3093#p3093

Replace:

RealWorldTerrainWindow.StartCapture();

to:

RealWorldTerrainWindow.prefs.maxTextureLevel = XXX;
RealWorldTerrainWindow.StartCapture();

Where XXX is an integer zoom level.

Kind Regards,
Infinity Code Team