For your existing BC1 and BC3 textures, you can now disable the Crunch compression to reduce some blocking artifacts, which will make the system compress the block compressed asset with LZMA (lossless). This will usually increase the download size of the texture, so use it only when needed.
Other formats are supported as well. Notably HDR textures are now block compressed with BC6H, cutting their VRAM usage by eight times (e.g. 16MB to 2MB for 2048x1024) - you can now use much higher resolution version HDR skyboxes while using less VRAM and this is an important step towards support for reflection probes as well.
You can also request textures to use more advanced BC7 format. It has same VRAM usage as BC3, but significantly higher compression quality, dealing better with visually complex textures, at the cost of taking longer to compute.
In other news, the intro tutorial is now skippable via a gesture and commandline argument, details below. A bunch of bugfixes and tweaks as well!
The MTC 2.0 is now also in Spanish and German thanks to our translators!
New Features:
- Integrated AMD Compressonator SDK into Neos' codebase to significantly extend support for block compressed formats and allow for a higher quality compression - Neos now internally supports all BCn formats, ETC2 formats, all ASTC variants and potentially more in the future (e.g. ATC for WebGL)-- Currently the generation of non-crunched variants is only supported on Windows. Linux headless won't be able to generate those variants and will have to rely on the cloud
-- Also note for BC6H and BC7 currently the requested quality is 60%, other formats use 100%, due to significantly higher processing time for any values above this (e.g. over 2 minutes for a single 2048x2048 texture with 100 % utilization on AMD Ryzen 5950X, but only about 9 seconds for 60%)
- Extended the asset variant system to support LZMA compressed variants for storage & transfer rather than crunch compression
-- You can disable crunch compression by unchecking CrunchCompressed on StaticTexture2D
-- This will reduce some blocking artifacts, as crunch is a lossy compression, at the cost of potentially increasing the download size (VRAM usage is exactly the same)
- Added new texture asset variants to the asset variant system. All currently supported variants are:
-- BC1_Crunched/LZMA - RGB only, 1:8 compression ratio vs RGBA32
-- BC3_Crunched/LZMA - RGBA, 1:4 compression ratio vs RGBA32
-- BC4_LZMA - R only, useful for single channel textures (usally requires shader to use properly)
-- BC6H_LZMA - Supports HDR textures, 1:8 compression ratio vs RGBAHalf
-- BC7_LZMA - RGBA, 1:4 compression ratio vs RGBA32, significantly higher compression quality vs BC3, much slower to compute, recommended for visually complex/colorful textures
-- ETC2_RGB_Crunched/LZMA - analogue of BC1, supported on Android
-- ETC2_RGBA8Crunches/LZMA - analogue of BC3, supported on Android
-- ASTC(block size)_LZMA - more modern replacement of BCn/ETC2 with varying quality (block sizes 4x4, 5x5, 6x6, 8x8, 10x10 and 12x12 are supported, each block is 128 bits)
--- Not supported by DirectX 11, should work on Android/Linux, but currently untested
--- Can achieve extremely high compression ratios (0.89 bits per pixel for 12x12), at same block size 4x4 has superior quality to BC3
- Extended Neos' bitmap/texture system to handle block-compressed formats with block sizes other than 4x4, as well as fractional bits per pixel rates
- Added "ForceExactVariant" to StaticTexture2D, which will force it to load specifically requested variant, without using a fallback version
-- This is STRONGLY recommended only for debugging/testing purposes. It's recommended to leave this unchecked and leave Neos to load fallback variant if the currently requested one is not available, otherwise you might be forcing every user to generate the variant locally on their computer
- Added PreferredFormat to StaticTexture2D, which allows overriding the preferred variant to load (e.g. BC7)
-- Note that this API will likely change in the future, but will be auto-upgraded
-- If variant is not supported on the system, it will never be loaded and closest supported variant will be used instead
-- Please note that requesting a new variant of the asset might take a while to load, as it will be queued in the cloud. It can take even several hours. Neos will use best available variant in the meanwhile.
- You can now skip the intro tutorial (based on feedback by Moorekun, @DeliriousJax, @Turk, @ohzee, @ProbablePrime and @Shadow Panther [RU/EN, UTC+3])
-- Pass -SkipIntroTutorial to Neos on startup, which will prevent the intro tutorial from starting
-- Same option was added to Neos launcher as well as persistent
-- You can also skip the tutorial by enabling Edit mode while at the "Welcome" screen (suggested by @Alex from Alaska)
Tweaks:
- HDR textures will now load BC6H block compressed texture variants by default, reducing VRAM usage for those textures by factor of 8 (e.g. 16 MB to 2 MB, which is why those will be crucial for reflection probes later on)- Removed grabbed object contextual tutorial as this is now taught in MTC. Contextual tutorials for tools are still present (based on request by @Nexulan | Community Manager)
- Added support for color type to the SmoothValue<T> component (requested by @Coffee | Programmer)
- Increased the size of the credits section for language selection
- Texture2DAssetMetadata will now continually update when the texture asset is in partial load state, to keep showing the latest info, rather than getting stuck until the load is fully finished
- Optimized cloud asset variant generation to skip regenerating variants in a variant chain, if they have already been generated (e.g. by previous failed task or request for lower mip levels)
- Texture2DAssetMetadata now also reports the exact variant that was loaded, which is shown in the inspector for StaticTexture2D as well
- Graphical Neos and headless log file naming is now same and consistent (requested by @Shadow Panther [RU/EN, UTC+3])
- Merged Spanish locale additions (including MTC 2.0) by @Ruzert
- Merged German locale additions (including MTC 2.0) by @Bluigi
- Merged Korean locale fixes by @MirPASEC
- Merged English MTC 2.0 locale tweaks by @Coffee | Programmer
Bugfixes:
- Fixed server status fetching causing background exceptions in some cases- Fixed asset variant system loading completely incorrect variants in some cases, when the exact requested variant isn't available
- Fixed requests for exact variants of texture getting ignored and not forcing the variant to reload if one is already loaded, but using a fallback
- Contextual tutorial now ignores tooltip multiplexer, fixing excessive lagging (reported by @3x1t_5tyl3 and @Shifty | Quality Control Lead)
- Fixed Stopwatch node reseting itself every time the Start is pulsed, rather than resuming (reported by @Coffee | Programmer)
-- Note some internal handling of playback for "infinite" playback was changed, so NormalizePosition for such clips is always -1 to indicate that it's not valid/applicable. There are possible sideeffects and glitches to this, keep a lookout, but things seem to be good from testing
- Fixed Tooltips generating LocaleStringDrivers on each load (reported by @3x1t_5tyl3 and @Alex from Alaska)
- Fixed LocalePostprocessor not handling extra keys in locales properly, resulting in percentages over 100 % and negative numbers of missing keys
- Fixed Setup Guide screen not using localized versions of the "Primary Controller" label (reported by @Bluigi)



Changed files in this update