getMipLevels method

int getMipLevels(
  1. Texture texture,
  2. dynamic image,
  3. dynamic supportsMips
)

Implementation

int getMipLevels(Texture texture, image, supportsMips) {
  if (
    textureNeedsGenerateMipmaps(texture, supportsMips) == true ||
    (texture is FramebufferTexture &&
      texture.minFilter != NearestFilter &&
      texture.minFilter != LinearFilter
    )
  ){
    return MathUtils.log2(
      math.max(
        image.width,
        image.height
      )
    ).toInt() + 1;
  }
  else if (texture.mipmaps.isNotEmpty) {
    // user-defined mipmaps
    return texture.mipmaps.length;
  }
  else if (texture is CompressedTexture && texture.image is List) {
    // Dart: TODO texture.image is List ???
    return image.mipmaps.length;
  }
  else {
    // texture without mipmaps (only base level)
    return 1;
  }
}