godot/core
Juan Linietsky 71d21c7ccb Implement basic ASTC support
Implements basic ASTC support:
* Only 4x4 and 8x8 block sizes.
* Other block sizes are too complex to handle for Godot image compression handling. May be implemented sometime in the future.

The need for ASTC is mostly for the following use cases:
* Implement a high quality compression option for textures on mobile and M1 Apple hardware.
* For this, the 4x4 is sufficient, since it uses the same size as BPTC.

ASTC supports a lot of block sizes, but the benefit of supporting most of them is slim, while the implementation complexity in Godot is very high.
Supporting only 4x4 (and 8x8) solves the real problem, which is lack of a BPTC alternative on hardware where it's missing.

Note: This does not yet support encoding on import, an ASTC encoder will need to be added.
2022-12-20 11:26:30 +01:00
..
config Fix arm32 detection in Engine. 2022-09-03 13:41:59 +02:00
crypto Swap arguments of ResourceSaver.save() 2022-07-29 19:53:09 +02:00
debugger Code quality: Fix header guards consistency 2022-07-25 11:17:40 +02:00
error Errors: Fallback to fprintf if OS singleton doesn't exist 2022-06-30 16:00:30 +02:00
extension Rename String plus_file to path_join 2022-08-29 19:38:13 -05:00
input Merge pull request #64444 from timothyqiu/action-completion 2022-09-01 08:20:20 +02:00
io Implement basic ASTC support 2022-12-20 11:26:30 +01:00
math Minor fixes to Vector4 2022-09-04 20:38:44 -05:00
object Rename or_lesser range property hint to or_less 2022-09-02 19:08:20 +02:00
os Merge pull request #65031 from akien-mga/os-drop-obsolete-resource-debugging 2022-08-29 15:04:17 +02:00
string Merge pull request #64714 from Chaosus/string_remove_erase 2022-09-01 22:57:22 +02:00
templates Add a Framebuffer cache 2022-08-05 13:37:29 +02:00
variant Fix crash when encoding freed object in ConfigFile 2022-09-04 19:56:37 +08:00
core_bind.cpp Drop obsolete resource usage debug methods from OS class 2022-08-29 12:57:37 +02:00
core_bind.h Drop obsolete resource usage debug methods from OS class 2022-08-29 12:57:37 +02:00
core_builders.py Use maximum zlib compression when generating editor translation headers 2021-10-29 19:07:48 +02:00
core_constants.cpp [macOS export] Simplify code signing options, add support for rcodesign tool for signing and notarization. 2022-08-26 14:23:31 +03:00
core_constants.h Code quality: Fix header guards consistency 2022-07-25 11:17:40 +02:00
core_globals.cpp Variant memory pools 2022-07-04 12:01:46 +01:00
core_globals.h Variant memory pools 2022-07-04 12:01:46 +01:00
core_string_names.cpp Cleanup metadata usage 2022-05-06 00:27:10 +02:00
core_string_names.h Cleanup metadata usage 2022-05-06 00:27:10 +02:00
doc_data.cpp Fix missing method qualifiers in script doc 2022-07-24 23:00:19 +02:00
doc_data.h Merge pull request #62713 from YuriSizov/docs-scripting-annotations 2022-07-06 15:31:19 +02:00
register_core_types.cpp Implement AStarGrid2D class with jump-point pathfinding 2022-08-30 17:29:23 +03:00
register_core_types.h Fix extension registration order. 2022-02-20 10:58:46 -03:00
SCsub [Net] Modularize multiplayer, expose MultiplayerAPI to extensions. 2022-07-26 09:31:12 +02:00
typedefs.h Change some math macros to constexpr 2022-03-09 16:24:32 +01:00
version.h Core: Move generated VERSION_HASH to a .cpp file 2022-02-09 09:20:17 +01:00