Skip to content

Releases: akb825/Cuttlefish

Version 2.4.1

16 Nov 00:04
Compare
Choose a tag to compare
  • Switched BC7 encoding to bc7enc. This supports more color modes and should give better results for textures with alpha.
  • Enabled perceptual weights for "normal" quality sRGB BC7 textures. This is a bit slower than linear weights, but is still 2x faster than "high" quality.

Version 2.4.0

15 Nov 02:20
Compare
Choose a tag to compare

Added support for tiled normalmaps by giving options to wrap along the X and/or Y axes when sampling the bumpmap image. This ensures continuous normals if the texture is tiled along the wrapped axis.

  • When using the API, use the NormalOptions enum bitmask to control whether to keep the sign and wrap along the X and Y axes.
  • When using the CLI, can optionally provide wrap, wrapx, or wrapy after the -n/--normalmap option to wrap along both axes, the X axis, or the Y axis, respectively.

Version 2.3.0

25 Sep 00:43
Compare
Choose a tag to compare
  • Added Image::save() function.
    • This only provides a basic interface for common use cases like debugging or creating a viewable image after a transformation.
  • Use const void* instead of const std::uint8_t* for data parameters to avoid the need for casts.

Version 2.2.0

22 Aug 22:38
Compare
Choose a tag to compare
  • Added more command-line options for resizing textures.
    • width, height, min, and max may be used for the image width, image height, max between width and height, and min between width and height.
    • Can append each of the above options with -nextpo2 and -nearestpo2 for the next and nearest power of two.
    • example: --resize max-nearestpo2 max-nearestpo2 to create a square texture with the nearest power of two of the maximum between the image width and height. (i.e. nearestpo2(max(width, height)))
  • Fixed incorrect channels when using the --swizzle command-line arguments. This didn't affect swizzling when using the C++ API.

Resolves #4
Resolves #5

Version 2.1.0

17 Aug 04:38
Compare
Choose a tag to compare
  • Updated submodules to the latest versions.
  • Integrated bc7enc16 BC7 compressor. This is significantly faster than the NVidia Texture Tools compressor, but doesn't have support for all block types.
    • For normal and lower quality, bc7enc is always used.
    • For high quality, bc7enc is used for simple or no alpha, NVTT for complex alpha.
    • For highest quality, NVTT is always used.
  • Added --create-dir command-line argument to create the parent directory for the output file path if it doesn't exist.

Resolves #2
Resolves #3

Version 2.0.6

11 May 02:47
Compare
Choose a tag to compare

Updated submodules to the latest versions. Forks were made for the following:

  • etc2comp to fix a memory leak.
  • nvidia-texture-tools to fix the build on Linux with the latest revision.

Version 2.0.5

15 Oct 08:44
Compare
Choose a tag to compare
  • Updated submodules to the latest versions. They now all point to their respective upstreams.
  • Added submodule for PVRTexTool library. This allows building with PVRTC support without explicitly installing PVRTexTools.

Version 2.0.4

17 Oct 07:00
Compare
Choose a tag to compare

Build fix for GCC 4.9.

Version 2.0.3

03 Aug 04:31
Compare
Choose a tag to compare

Build fixes for latest GCC and glibc.

Version 2.0.2

28 Apr 21:31
Compare
Choose a tag to compare

Updated to the latest version of astc-encoder and nvidia-texture-tools.