Skip to content

Adaptive Image Resize

adaptive image resize in action

Choose texture resolution based on how big the object appears in the render image!

You can make sure all images are of some size or lower when using Resize Images but what about using smaller images for far away objects but large images for close objects? Adaptive Image Resize can help you choose smaller image sizes for far away or small objects and larger sizes for close objects or objects that are large.

memsaver calculates a 2D rectangle that covers the entire object in the rendered image. Then it takes the larger side (either width or height), multiplies it by the quality factor and uses that for scaling images used on that object.

Reused textures

If a texture is used in multiple objects, memsaver will consider the closest object when choosing the size. It does not make sense to use multiple sizes of the same image as that would just waste memory. Sometimes this ends up with far away objects using large textures because something close to the camera is using the same images.

Target Objects

Resize Images operates on images directly but Adaptive Image Resize operates on objects. That's why we have to choose the target slightly differently.

  • Selected Objects - considers all selected objects and the images used in them
  • Scene Objects - considers all objects in the current scene and their images
  • All Objects - considers all objects in the entire blend and their images
  • All Images - same behavior as All Objects

Example

In this example the first object has maximum dimension of the 2D rectangle of 420 pixels. We multiply this by our quality factor which we left at 1.0 for this example and then choose the closest power of two size of a texture, which is 512 pixels.

The second object has a maximum side size of 280 pixels. This again will end up as 512 pixels closest power of two size for textures.

estimate 2d bounds of objects

We can use the magnifying glass next to the Adaptive Image Resize operator to preview the changes and see that this is indeed the size of images that the operator would choose.

suggested image sizes based on 2d bounds

Tuning the Operator

There are three values you can tune when using the Adaptive Image Resize operator.

  • quality factor: this is what we multiply the 2D bounds dimension to get desired texture size
  • minimum image size: limit of how small the images may get, we will never go under this value
  • maximum image size: limit of how large the images may get, we will never go over this value

We advise to play with the quality factor to get a good trade-off for your scene. Values over 1.0 are conservative, you can often get away with lower values such as 0.25.

Comparison with Change Image Size

This operator is similar to the Resize Images operator but chooses texture sizes separately for each object. Let us look at a comparison:

adaptive image resize vs plain image resize

Back to top