Commit Graph

144 Commits

Author SHA1 Message Date
Hugo Locurcio 3ca4514866
Merge pull request #50175 from kleonc/image-blit-blend-fix-rects
`Image.blit_rect/blend_rect` Fix rects calculations for negative arguments
2022-04-19 16:30:08 +02:00
reduz 45f74ceb85 Add PortableCompressedTexture
* 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.
2022-03-30 10:39:41 +02:00
Hugo Locurcio b68dd2e189
Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-02-15 00:03:31 +01:00
K. S. Ernest (iFire) Lee 419b342a9a Faster CVTT by reducing quality.
Make BC6 and BC7 CVTT faster while still having better quality than DXT5.
2022-02-04 15:15:26 -08:00
Rémi Verschelde 8898d6dadc
Dictionary: Serialize empty dict as `{}` instead of `{\n}`
Also make sure to always convert multiline dictionaries to a single line for
its EditorHelp representation, as multiline values break formatting.
2022-01-18 11:31:21 +01:00
Hugo Locurcio 40be15920f
Remove support for PVRTC texture encoding and decoding
On the only platform where PVRTC is supported (iOS),
ETC2 generally supersedes PVRTC in every possible way. The increased
memory usage is not really a problem thanks to modern iOS' devices
processing power being higher than its Android counterparts.
2022-01-14 21:08:22 +01:00
Manolis Papadeas c01c4c687b
Fix link to the supported image formats in the Image class
It previously linked to this page which doesn't exist. https://docs.godotengine.org/en/latest/getting_started/workflow/assets/importing_images.html#supported-image-formats

Now, it should link here: https://docs.godotengine.org/en/latest/tutorials/assets_pipeline/importing_images.html#supported-image-formats
2021-12-06 00:01:19 +02:00
kleonc 4038bc0c36 Fix `Image.blit_rect/blend_rect()` for negative `p_dest` point 2021-11-26 22:23:04 +01:00
kleonc 91595b16e3 Add Image::fill_rect method 2021-11-23 18:06:23 +01:00
Rémi Verschelde 6c1bd4d227
Replace Godot docs URL with `$DOCS_URL` in XML class reference 2021-11-15 13:02:21 +01:00
Rémi Verschelde 862994a8ef
doc: Update links to latest documentation after content reorganization 2021-10-06 13:48:48 +02:00
Hugo Locurcio 30a88f464b
Document `Image.generate_mipmaps()` always running on the main thread 2021-08-22 02:22:04 +02:00
Rémi Verschelde 7adf4cc9b5
doc: Use self-closing tags for `return` and `argument`
For the time being we don't support writing a description for those, preferring
having all details in the method's description.

Using self-closing tags saves half the lines, and prevents contributors from
thinking that they should write the argument or return documentation there.
2021-07-30 15:29:52 +02:00
Rémi Verschelde 6256936d77
Merge pull request #50677 from Calinou/doc-image-save-exr-editor-only
Document `Image.save_exr()` only being available in editor builds
2021-07-28 15:29:52 +02:00
Nicholas Huelin 9787e631aa Fix miscellaneous doc typos and inconsistencies
This pull request fixes an assortment of typos, improves conciseness, and enhances clarity.
2021-07-22 14:01:39 -04:00
Hugo Locurcio a1784c64b4
Document `Image.save_exr()` only being available in editor builds 2021-07-21 03:46:16 +02:00
Michael Alexsander Silva Dias 0ff4095b36 Better format arguments in variant parser 2021-06-18 00:06:40 -03:00
Rémi Verschelde 0ab928e060
Import: Cleanup and optimize etcpak compression method
Avoid unnecessary allocation of temporary buffers for each mip, and creates
only one Image with the compressed data.
Also renames variable and reorders code for clarity.

Clarify that squish is now only used for decompression.

Documented which formats can be decompressed in Image.
2021-04-16 17:08:36 +02:00
Paul Joannon 8455e901f3
class reference proofreading 2021-03-19 13:21:20 +01:00
Rémi Verschelde 0d1d719178 doc: Sync classref with current source
And fix various bogus bindings following previous PRs.
2021-02-19 14:39:14 +01:00
Marcel Admiraal b4a190e0bc Consistently use normal_map 2020-12-29 08:04:19 +00:00
Theogen Ratkin 46ea6750b4 Add interpolation parameter to resize_to_po2()
Image::resize_to_po2() now takes an optional p_interpolation parameter
that it passes directly to resize() with default value INTERPOLATE_BILINEAR.
2020-12-18 14:05:07 -04:00
Rémi Verschelde 9263f8eb4b
Image: Rename PVRTC{2,4} to PVRTC1_{2,4}, drop COMPRESS_PVRTC2
We haven't had a proper implementation for COMPRESS_PVRTC2 (which is PVRTC1 2-bpp) in years,
so let's drop it instead of keeping a compress type which doesn't work.

The other enum values were renamed to clarify that our PVRTC2 and PVRTC4 are respectively
PVRTC1 2-bpp and PVRTC1 4-bpp. PVRTC2 2-bpp and 4-bpp are not implemented yet.
2020-12-10 23:14:04 +01:00
Aaron Franke 2c53e8b0e9
Use Vector2i instead of Vector2 for Image get_pixelv and set_pixelv
Co-authored-by: Andrii Doroshenko <xrayez@gmail.com>
2020-11-21 02:42:29 -05:00
Andrii Doroshenko (Xrayez) 0ee88d6705 Describe `ImageTexture`, `Image` creation and usage 2020-11-17 16:00:41 +02:00
Hugo Locurcio 0209e3790e
Add `Image.load_bmp_from_buffer()` for run-time BMP image loading
This partially addresses
https://github.com/godotengine/godot-proposals/issues/676.
2020-10-20 23:52:45 +02:00
Ebrahim Ebrahim b9764b6109 Clarify get_data Image method 2020-09-11 11:10:18 -04:00
Rémi Verschelde 372136fe75 Environment: Refactor code for readability + more
- Makes all boolean setters/getters consistent.
- Fixes bug where `glow_hdr_bleed_scale` was not used.
- Split CameraEffects to their own source file.
- Reorder all Environment method and properties declarations,
  definitions and bindings to be consistent with each other
  and with the order of property bindings.
- Bind missing enum values added with SDFGI.
- Remove unused SDFGI enhance_ssr boolean.
- Sync doc changes after SDFGI merge and other misc changes.
2020-07-01 14:44:45 +02:00
31 09b324b5b6 Fix Image.create_from_data use_mipmaps doc
The Image.create_from_data doc describes the "use_mipmaps" argument as a
way to generate mipmaps, but this method only allocates and loads data.
This can cause confusion, where this function reads more or less data
than expected. Update the doc to be more specific that create_from_data
is loading the mipmaps from the raw data.
2020-06-13 17:18:02 -05:00
Rémi Verschelde 4ac78e6a5f doc: Sync classref with current source 2020-06-04 10:07:56 +02:00
Hugo Locurcio d935a4348d
Remove HQ2X and the `Image.expand_2x_hq2x()` method
As of Godot 3.0, HQ2X is no longer used to upscale the editor theme
and icons on hiDPI displays, which limited its effective uses.
HQ2X was also used to upscale the project theme when the "Use Hidpi"
project setting was enabled, but results were often less than ideal.
The new StyleBoxFlat and SVG support also make HQ2X less important
to have as a core feature.

This decreases binary sizes slightly (-150 KB on most platforms,
-212 KB on WebAssembly release).

This partially addresses #12419.
2020-05-16 16:10:50 +02:00
Hugo Locurcio a26649de42
Document the formats supported by `Image.load()`
This partially addresses #32166.
2020-04-29 17:58:38 +02:00
Hugo Locurcio 5497cec7a1 Document image size limits
This closes #30238.
2020-04-17 16:04:32 +02:00
Rémi Verschelde d9a560d783 doc: Sync classref with current source 2020-04-03 10:11:23 +02:00
Rémi Verschelde 213a85521d doc: Sync classref with current source
Handle removal of Pool*Array types and other recent changes.
2020-02-18 14:02:02 +01:00
Rémi Verschelde 0e3d625737 doc: Sync classref with current source
Lots of internal API changes and some docstrings were lost in the conversion.
I manually salvaged many of them but for all the rendering-related ones, an
additional pass is needed.

Added missing enum bindings in BaseMaterial3D and VisualServer.
2020-02-12 12:37:13 +01:00
clayjohn 57e27683ba Update docs to version 4.0 2020-01-31 17:15:41 -08:00
Rémi Verschelde 2d20fc39aa doc: Drop unused 'category' property from header
We already removed it from the online docs with #35132.

Currently it can only be "Built-In Types" (Variant types) or "Core"
(everything else), which is of limited use.

We might also want to consider dropping it from `ClassDB` altogether
in Godot 4.0.
2020-01-26 16:02:39 +01:00
Eric Rybicki 439e0027ec Fix AtlasPacker ignoring semi-transparent pixels
Fixes #33106
2020-01-20 22:43:38 +01:00
clayjohn 46b5742159 Completed documentation for many visual nodes 2020-01-14 18:28:36 -08:00
Rémi Verschelde 4eff13d768 doc: Markup fixes for enums and constants 2019-12-06 23:09:20 +01:00
Tomasz Chabora 2bde99f790 Fix some small text mistakes 2019-11-08 23:31:29 +01:00
Rémi Verschelde 79918eca30
Merge pull request #33151 from thiagoamendola/doc_setpixelv
Add documentation for Image's set_pixelv method
2019-11-02 19:30:57 +01:00
Thiago Amendola ecb4c70ed3 Add documentation for Image's set_pixelv method 2019-11-02 15:06:47 -03:00
PouleyKetchoupp 52e799b6d4 Code format for true/false/null to make documentation consistent 2019-11-02 12:14:15 +01:00
Rémi Verschelde fdc2463a1b
Merge pull request #32150 from luzpaz/typos
Fix misc. source comment typos
2019-09-20 17:09:05 +02:00
luz.paz 91ecd7b6a6 Fix misc. source comment typos
Found using `codespell -q 3 -S ./thirdparty,*.po -L ang,ba,cas,dof,doubleclick,fave,hist,leapyear,lod,nd,numer,ois,paket,seeked,sinc,switchs,te,uint -D ~/Projects/codespell/codespell_lib/data/dictionary.txt `
2019-09-19 14:36:52 -04:00
Hugo Locurcio 46d71ee2a1
Improve the `Image.get_pixel()` and `Image.get_pixelv()` documentation 2019-09-15 21:57:35 +02:00
Rémi Verschelde 592909db16 doc: Sync classref with current source 2019-08-13 12:35:50 +02:00
Marc Gilleron cd2de77b04 Add Image.save_exr() 2019-08-07 21:17:47 +01:00
Rémi Verschelde efd55631e2 doc: Sync classref with current source 2019-07-15 20:45:30 +02:00
Rémi Verschelde c6cea6e9b3 doc: Add default values to all properties
Thanks to @bojidar-bg's impressive work in #29380.
2019-06-30 13:58:07 +02:00
Hugo Locurcio f7f6115f76
Proofread and improve the whole class reference
- Document a few more properties and methods
- Add more information to many classes
- Fix lots of typos and gramar mistakes
- Use [code] tags for parameters consistently
- Use [b] and [i] tags consistently
- Put "Warning:" and "Note:" on their own line to be more visible,
  and make them always bold
- Tweak formatting in code examples to be more readable
- Use double quotes consistently
- Add more links to third-party technologies
2019-06-27 22:30:19 +02:00
Rémi Verschelde bc82781f7d doc: Replace all [code]CONSTANT[/code] by new [constant CONSTANT] hyperlinks 2019-06-27 13:49:36 +02:00
Rémi Verschelde 86ed7a9884 doc: Complete and harmonize all _MAX constant descriptions 2019-06-27 11:10:53 +02:00
Maxime Leroy f1e2324605
Adding details about `Image.lock()` function 2019-06-08 16:03:50 +02:00
Daw11 28bff3d1ad Implement Lanczos image filter 2019-05-05 14:03:56 +02:00
Rémi Verschelde ab4705a807
Merge pull request #28125 from KoBeWi/code_true_code
Consistently wrap booleans in [code]
2019-04-22 11:59:16 +02:00
Rémi Verschelde 6af69f851a doc: Drop unused <demos> tag 2019-04-19 11:03:46 +02:00
Tomasz Chabora b0846f60c9 Consistently wrap booleans in [code] 2019-04-17 17:13:00 +02:00
Rémi Verschelde 63d3a42f82
Merge pull request #27465 from neikeq/road-to-lang-agnostic-docs-is-going-to-be-tough
EditorHelp: Improve enum ref resolving and add constant ref support
2019-04-05 15:19:21 +02:00
Rémi Verschelde 39c868171e doc: Bump version to 3.2 2019-04-01 12:33:56 +02:00
Ignacio Etcheverry d80bc5cbba ClassRef: Replace [code]CurrentClass[/code] with [CurrentClass]
Modified makerst to generate code tags for these to avoid hyperlinks to the same class.
2019-03-29 23:47:35 +01:00
Rémi Verschelde f614f15506 doc: Misc formatting fixes 2019-02-10 13:30:48 +01:00
Rémi Verschelde cc0842f9a6 Prevent upscaled SVG from exceeding Image bounds
Also expose Image MAX_WIDTH and MAX_HEIGHT.

Fixes #24455.
2019-01-28 16:00:15 +01:00
Rémi Verschelde ef7b384861 doc: Misc formatting fixes 2018-09-21 15:34:11 +02:00
Florian Jung e37f408e70 Add documentation details about Image formats and color space conversion 2018-09-13 16:38:50 +02:00
Juan Linietsky b66580927e
Merge pull request #19313 from RandomShaper/improve-image
Image trilinear scaling + Optimization
2018-07-23 16:21:45 -03:00
Pedro J. Estébanez 8c05c2830c Add trilinear filtering to image scaling 2018-07-23 21:08:10 +02:00
geequlim c5efe5d625 Add webp buffer loader for Image
Cleanup the code memory load related code for Image
Fix jpeg buff load function always returns OK event failed
2018-07-17 12:03:45 +08:00
Juan Linietsky d5bb6faac7 -Make sure that ProjectSettings are properly dumped when dumping docs.
-Documented all properties of project settings

Update documentation for ProjectSettings
2018-06-11 13:41:16 -03:00
Pieter-Jan Briers 622a754584 ImageTexture.load returns an error code. 2018-05-14 19:11:41 +02:00
Rémi Verschelde 3d9deda8b3 Sync classref with current source 2018-05-12 09:38:00 +02:00
Rémi Verschelde cb7fe2c793 doc: Sync classref with current source 2018-04-10 10:12:42 +02:00
Neil Moore 60f1f58158 Update Image format enumeration documentation
Provides more information about each image format.
2018-03-10 01:41:50 -05:00
Rémi Verschelde 3fa77b3172 doc: Remove status from hardcoded version string
It has no practical use case and just generates noise for each alpha, beta, etc.
2018-02-27 13:40:49 +01:00
Rémi Verschelde 3c7a39b40c doc: Update version string in header 2018-02-19 10:46:33 +01:00
Profesor Tartelett 9d735ffacb
Errata fix on Image get_format() description
The description of this function seems to be duplicated from the preceding description.
2018-01-31 19:35:46 +01:00
Rémi Verschelde d516aab8fa doc: Sync with current source
Also enhance RigidBody docs as per https://github.com/godotengine/godot-docs/pull/1018
and fix the version tag in all files (not really stable yet, but it makes no sense
to hardcode rc3 at this stage).
2018-01-25 08:50:56 +01:00
Rémi Verschelde e28cdc4654 doc: Update version string in XML 2018-01-13 11:43:42 +01:00
Jerome67000 b5885c43eb Fix crash when using Image.resize() without calling Image.create() first 2018-01-06 13:20:45 +01:00
Rémi Verschelde 914f51031c doc: Sync classref with current source 2018-01-04 01:48:24 +01:00
Rémi Verschelde 8d03cafd7c doc: Sync classref with current source 2018-01-03 13:45:03 +01:00
Sergei ZH 6aa331e581 Further changes to Image class docs
Were missed when squashing the previous 024c4f14.
[ci skip]
2017-11-27 09:14:14 +01:00
Sergei ZH 024c4f14a1 Fixing mistake in image class 2017-11-26 22:25:40 +01:00
Rémi Verschelde 7dfba3cda9 doc: Fix enum tags thanks to 2bc6db6 2017-11-24 23:16:30 +01:00
Rémi Verschelde bc75fae579 doc: Update header version for 3.0-beta 2017-11-24 09:16:52 +01:00
Martin Capitanio 7c3ba6f72b Fix the class docs for the rst-syntax errors.
- Generate a correkt rst-syntax for the [/code] inline markup.
  (http://www.sphinx-doc.org/en/1.6.5/rest.html#inline-markup)
- Fix xml souce bugs

for the sphinx's rst syntax werrors:

class_area.rst:319: WARNING: Inline literal start-string without end-string.
class_area2d.rst:287: WARNING: Inline literal start-string without end-string.
class_audioserver.rst:287: WARNING: Inline literal start-string without end-string.
class_control.rst:509: WARNING: Inline literal start-string without end-string.
class_image.rst:422: WARNING: Inline literal start-string without end-string.
class_image.rst:434: WARNING: Inline literal start-string without end-string.
class_inputevent.rst:74: WARNING: Inline literal start-string without end-string.
class_inputeventaction.rst:45: WARNING: Inline literal start-string without end-string.
class_inputmap.rst:47: WARNING: Inline literal start-string without end-string.
class_kinematicbody.rst:80: WARNING: Inline interpreted text or phrase reference start-string without end-string.
class_kinematicbody2d.rst:80: WARNING: Inline interpreted text or phrase reference start-string without end-string.
class_line2d.rst:182: WARNING: Inline literal start-string without end-string.
class_thread.rst:51: WARNING: Inline literal start-string without end-string.
class_treeitem.rst:160: WARNING: Inline literal start-string without end-string.
2017-11-19 20:47:36 +01:00
Rémi Verschelde 967bfb0c4a doc: Remove revision.module_config from version string
It is now "3.0-alpha" instead of "3.0.alpha.custom_build{,.mono}",
limits unnecessary diffs.
2017-11-15 20:41:16 +01:00
Rémi Verschelde d4d12eba53 classref: Apply doctool to fix formatting
Fixes regression from #12396 which caused #12466.
[ci skip]
2017-10-29 12:09:20 +01:00
Jakob Sinclair 3d810a207c Add and polish up documentation for Image methods
Written new documentation for undocumented methods. The already
documented methods seemed to follow a very old style and changed them to
fit the new guidelines for documentation.

Signed-off-by: Jakob Sinclair <sinclair.jakob@mailbox.org>
2017-10-26 20:07:05 +02:00
Rémi Verschelde fc09e14366 classref: Sync with current source
Also fix hyperlink references to same class as per the guidelines.
[ci skip]
2017-10-22 12:56:17 +02:00
Rémi Verschelde a4005221f5 doc: Sync classref with current source
[ci skip]
2017-09-13 08:53:01 +02:00
Juan Linietsky 4f929a0fdf Changed the doc class generation to individual files per class. It is also possible to save module files in module directories and the build system will
recognize them.
2017-09-12 17:45:41 -03:00