summaryrefslogtreecommitdiffstats
path: root/modules/basis_universal
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit godotengine/godot@fd4c29a189e53a1e085df5b9b9a05cac9351b3efSpartan3222024-11-191-4/+10
|\
| * Defer initializing BasisU encoder until it is needed.clayjohn2024-11-171-4/+10
| | | | | | | | This saves a lot of time on startup
* | Fix copyright headers referring to GodotSpartan3222024-10-274-8/+8
| |
* | Merge commit godotengine/godot@b3bcb2dc14691f7729984128dca26a844f662fa1Spartan3222024-10-221-0/+1
|\|
| * Don't include `core/io/image.h` in `core/os/os.h`Yevhen Babiichuk (DustDFG)2024-10-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `core/os/os.h` doesn't use `core/io/image.h`. It just brings transitive dependencies. Lots of dependencies because `core/os/os.h` is transitively included in almost every file of godot Also added `core/io/image.h` into files^1 where `Ref<Image>` and `core/os/os.h` were used to prevent obscure errors involving `Ref<Image>` ^1 except those which include `core/io/image_loader.h` or `core/io/image.h` by corresponding .h file with the same name Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com> Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
* | Merge commit godotengine/godot@af77100e394dcaca609b15bef815ed17475e51edSpartan3222024-10-154-82/+150
|\|
| * BasisU: Update to 1.50.0 and add HDR supportBlueCube33102024-10-124-82/+150
| |
* | Rebrand preambles to RedotDubhghlas McLaughlin2024-10-114-0/+8
|/ | | | | | | | | | | | | | | | | | | | | | Credits: Co-authored-by: Skogi <skogi.b@gmail.com> Co-authored-by: Spartan322 <Megacake1234@gmail.com> Co-authored-by: swashberry <swashdev@pm.me> Co-authored-by: Christoffer Sundbom <christoffer_karlsson@live.se> Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: McDubh <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: radenthefolf <radenthefolf@gmail.com> Co-authored-by: John Knight <80524176+Tekisasu-JohnK@users.noreply.github.com> Co-authored-by: Adam Vondersaar <adam.vondersaar@uphold.com> Co-authored-by: decryptedchaos <nixgod@gmail.com> Co-authored-by: zaftnotameni <122100803+zaftnotameni@users.noreply.github.com> Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com> Co-authored-by: wesam <108880473+wesamdev@users.noreply.github.com> Co-authored-by: Mister Puma <MisterPuma80@gmail.com> Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com> Co-authored-by: SingleError <isaaconeoneone@gmail.com> Co-authored-by: Bioblaze Payne <BioblazePayne@gmail.com>
* Disable unused Basis Universal features to reduce binary sizeHugo Locurcio2024-09-291-0/+20
|
* SCons: Add unobtrusive type hints in SCons filesThaddeus Crews2024-09-251-0/+1
|
* BasisUniversal: Use RGTC compression when availableBlueCube33102024-09-102-21/+69
|
* Support 64-bit image sizes for VRAM compressionBlueCube33102024-07-211-1/+1
|
* Fix Image CowData crash when baking large lightmapsHugo Locurcio2024-07-191-1/+2
| | | | | | | | | | | This switches to 64-bit integers in select locations of the Image class, so that image resolutions of 16384×16384 (used by lightmap texture arrays) can be used properly. Values that are larger should also work. VRAM compression is also supported, although most VRAM-compressed formats are limited to individual slices of 16384×16384. WebP is limited to 16383×16383 due to format limitations.
* Make Basis Universal import quiet unless engine is in verbose modeHugo Locurcio2024-06-221-0/+6
| | | | This makes Basis Universal stdout match other compression modes.
* Merge pull request #88763 from BlueCube3310/image-is-compressed-staticRémi Verschelde2024-05-021-1/+1
|\ | | | | | | Image: Add static `is_format_compressed` function.
| * Image: Add static `is_format_compressed` function.BlueCube33102024-02-281-1/+1
| |
* | Fix BasisU compression on images with resolutions not divisible by 4.BlueCube33102024-05-021-7/+63
|/
* BasisUniversal: Fix texture decompressionBlueCube33102024-02-221-1/+12
|
* Merge pull request #88485 from BlueCube3310/basisu-astc-v2Rémi Verschelde2024-02-221-0/+7
|\ | | | | | | Add ASTC support to BasisUniversal
| * Add ASTC support to BasisUniversalBlueCube33102024-02-191-0/+7
| |
* | Merge pull request #88508 from akien-mga/basisu_unbundled_jpgdRémi Verschelde2024-02-203-3/+18
|\ \ | |/ |/| | | basis_universal: Unbundle jpgd to fix symbol conflict, use our newer copy with SSE2 support
| * basis_universal: Unbundle jpgd, use our newer copyRémi Verschelde2024-02-183-3/+18
| |
* | Clean up and optimize BasisUniversalBlueCube33102024-02-192-176/+153
| |
* | Extract BasisUniversal code into its own filesBlueCube33102024-02-193-247/+331
|/
* Remove code relative to obsoleted ETC texture formatRémi Verschelde2024-02-141-2/+2
| | | | Co-authored-by: BlueCube3310 <53150244+BlueCube3310@users.noreply.github.com>
* Fix BasisUniversal ETC RA_AS_RG transcodingBlueCube33102024-01-071-1/+1
|
* [Modules] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicableA Thousand Ships2023-09-261-1/+1
|
* Fix Basic Universal compressing with normal maps.cow-neaz2023-06-161-26/+29
|
* Style: Harmonize header includes in modulesRémi Verschelde2023-06-151-2/+2
| | | | | | | | | | | | | | | | | | | | This applies our existing style guide, and adds a new rule to that style guide for modular components such as platform ports and modules: Includes from the platform port or module ("local" includes) should be listed first in their own block using relative paths, before Godot's "core" includes which use "absolute" (project folder relative) paths, and finally thirdparty includes. Includes in `#ifdef`s come after their relevant section, i.e. the overall structure is: - Local includes * Conditional local includes - Core includes * Conditional core includes - Thirdparty includes * Conditional thirdparty includes
* basisu: Loop over the last mipmap lodLyuma2023-02-261-2/+2
|
* Fix basisu mipmapsK. S. Ernest (iFire) Lee2023-02-251-41/+41
| | | | | | | | | Previously basisu was storing mip maps as an array of basisu in the internal format for Texture. The new work makes sense and it generates smaller files with one image. This pull request fixes the basisu decompression and keep the approach of 1 image. If we need to change the format in 4.x, we can still support the old format with some limitations too. Basisu from gltfpack can only output with mipmaps. The single image will not work for StreamedTexture. We should support both approaches for CompressedTexture we use one, and for StreamedTexture we use another. Additional error checking for hdr images and for nullptr.
* Fix includes of thirdparty libs which can be unbundled on LinuxRémi Verschelde2023-02-161-0/+3
| | | | | Changes `builtin_icu` and `builtin_recast` to match the folder names in `thirdparty`.
* Handle gltf binaryK. S. Ernest (iFire) Lee2023-01-271-24/+29
| | | | | | | | | | | | [ Ignore and Warn | Extract Textures (default) | Optimize Loading Embedded as Basisu ] Enable compressed mip maps from Basis Universal for faster compressions. Increase the quality of Basis to avoid corruption. To keep compatibility use the first mip of the previous internal Godot format. Because texture names may have invalid filename characters, adds String::validate_filename to sanitize filenames for import pipeline use.
* One Copyright Update to rule them allRémi Verschelde2023-01-052-58/+58
| | | | | | | | | | | | | | | | | | | | As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
* Fix Basis Universal format texture rendering failureHirotoshi Yoshitaka2022-12-211-0/+1
| | | | Fix "failed! on level 0" error message on exported projects with Basis Universal textures.
* Make some Image methods statickobewi2022-10-141-1/+1
|
* SCons: Unify tools/target build type configurationRémi Verschelde2022-09-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implements https://github.com/godotengine/godot-proposals/issues/3371. New `target` presets ==================== The `tools` option is removed and `target` changes to use three new presets, which match the builds users are familiar with. These targets control the default optimization level and enable editor-specific and debugging code: - `editor`: Replaces `tools=yes target=release_debug`. * Defines: `TOOLS_ENABLED`, `DEBUG_ENABLED`, `-O2`/`/O2` - `template_debug`: Replaces `tools=no target=release_debug`. * Defines: `DEBUG_ENABLED`, `-O2`/`/O2` - `template_release`: Replaces `tools=no target=release`. * Defines: `-O3`/`/O2` New `dev_build` option ====================== The previous `target=debug` is now replaced by a separate `dev_build=yes` option, which can be used in combination with either of the three targets, and changes the following: - `dev_build`: Defines `DEV_ENABLED`, disables optimization (`-O0`/`/0d`), enables generating debug symbols, does not define `NDEBUG` so `assert()` works in thirdparty libraries, adds a `.dev` suffix to the binary name. Note: Unlike previously, `dev_build` defaults to off so that users who compile Godot from source get an optimized and small build by default. Engine contributors should now set `dev_build=yes` in their build scripts or IDE configuration manually. Changed binary names ==================== The name of generated binaries and object files are changed too, to follow this format: `godot.<platform>.<target>[.dev][.double].<arch>[.<extra_suffix>][.<ext>]` For example: - `godot.linuxbsd.editor.dev.arm64` - `godot.windows.template_release.double.x86_64.mono.exe` Be sure to update your links/scripts/IDE config accordingly. More flexible `optimize` and `debug_symbols` options ==================================================== The optimization level and whether to generate debug symbols can be further specified with the `optimize` and `debug_symbols` options. So the default values listed above for the various `target` and `dev_build` combinations are indicative and can be replaced when compiling, e.g.: `scons p=linuxbsd target=template_debug dev_build=yes optimize=debug` will make a "debug" export template with dev-only code enabled, `-Og` optimization level for GCC/Clang, and debug symbols. Perfect for debugging complex crashes at runtime in an exported project.
* Refactor module initializationreduz2022-05-042-4/+14
| | | | | | | * Changed to use the same stages as extensions. * Makes the initialization more coherent, helping solve problems due to lack of stages. * Makes it easier to port between module and extension. * removed the DRIVER initialization level (no longer needed).
* Fix some issues found by cppcheck.bruvzg2022-04-061-1/+1
|
* Add PortableCompressedTexturereduz2022-03-301-4/+13
| | | | | | | | | | | | | * Resource that allows saving textures embedded in scenes or standalone. * Supports only formats that are portable: Lossy, Lossles or BasisUniversal This is something I wanted to add for a long time. I made it now because @fire requires it for importing GLTF2 files with embedded textures, but also this will allow saving Godot scenes as standalone binary files that will run in all platforms (because textures will load everywhere). This is ideal when you want to distribute individual standalone assets online in games that can be built from Godot scenes.
* basisu_uastc_enc.cpp was included twice in encoder_sourcesMarkus Sauermann2022-03-281-1/+0
|
* Update basis universal to version 1.16.3.K. S. Ernest (iFire) Lee2022-03-242-14/+8
| | | Enable basis universal uastc internal storage instead of etc1s for better quality.
* Style: Cleanup single-line blocks, semicolons, dead codeRémi Verschelde2022-02-163-300/+0
| | | | | Remove currently unused implementation of TextureBasisU, could be re-added later on if needed and ported.
* Update copyright statements to 2022Rémi Verschelde2022-01-034-8/+8
| | | | Happy new year to the wonderful Godot community!
* Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3Hugo Locurcio2021-10-301-2/+2
| | | | | - Use lowercase driver names for the `--rendering-driver` command line argument.
* Implement the ability to disable classesreduz2021-07-131-1/+1
| | | | | | | * This PR adds the ability to disable classes when building. * For now it's only possible to do this via command like: `scons disable_classes=RayCast2D,Area3D` * Eventually, a proper UI will be implemented to create a build config file to do this at large scale, as well as detect what is used in the project.
* Rename `instance()`->`instantiate()` when it's a verbLightning_A2021-06-192-2/+2
|
* basis_universal: Update to upstream commit from Apr 16, 2021Rémi Verschelde2021-05-074-13/+18
| | | | BinomialLLC/basis_universal@ba1c3e40f1d434ebaf9a167b44e9b11d2bf0f765.
* Initialize class/struct variables with default values in modules/Rafał Mikrut2021-02-082-2/+1
|
* Update copyright statements to 2021Rémi Verschelde2021-01-014-8/+8
| | | | | | | | | | | | | | Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆