Commit Graph

28663 Commits

Author SHA1 Message Date
Rémi Verschelde 688d422554
PVRTC: Move compress func to `modules/pvr`, drop obsolete PVRTexTool code
The code we had for PVRTexTool doesn't work as it's not compatible with current
PVRTexTool CLI options, and likely hasn't been for years.

Instead, we have our own vendored pvrtccompressor thirdparty library which all
users have thus de-facto been using. This commit moves the compress code to
`modules/pvr` where it belongs.

There's no proper compress function for PVRTC 2-bit format, that's a bug that
will need to be fixed (currently it's compressed as 4-bit format even if you
use Image::FORMAT_PVRTC2).

Fixes #28669.

(cherry picked from commit 1a31274855)
2020-12-29 15:12:06 +01:00
Lorenzo Cerqua 70af74587a
Remove two very slightly displaced duplicate vertices on Gobot's face
They didn't show up at all in the rendered PNG, but were pretty annoying when working with Gobot face on Inkscape

(cherry picked from commit 17b9cb2cdf)
2020-12-29 13:54:08 +01:00
Andrii Doroshenko (Xrayez) e95c24d783
Make `property_list_changed_notify` protected in `Object`
Alternative to `_change_notify()` to be called from within C++ classes.

Achieves low-level consistency with scripting, where this method is
exposed for updating the editor (inspector) with new values.

(cherry picked from commit 9aa06c3e65)
2020-12-29 13:52:13 +01:00
Dominik 'dreamsComeTrue' Jasiński e0bdb19a62
Fix camera2d zoom when set to zero (causing ERROR: affine_invert: Condition ' det == 0 ' is true.)
Fixes: #41873
(cherry picked from commit aba477361d)
2020-12-29 13:50:49 +01:00
Yuri Roubinsky 8f5bdf6a63
Changes 'always show grid' hotkey to prevent conflict with 'pan mode'
(cherry picked from commit 1c546fdaea)
2020-12-29 13:49:59 +01:00
Rémi Verschelde d839afdeb2
Merge pull request #44790 from lawnjelly/ewok_ninepatch_proxy
Batching - fix ninepatch proxy textures (e.g. animated)
2020-12-29 13:13:28 +01:00
lawnjelly 1e99e893ef Batching - fix proxy textures (e.g. animated) especially ninepatch
Ninepatch code has a check to prevent use of zero sized textures. This didn't deal properly with animated textures, which use a proxy (link to another texture).

This PR uses a generalised method of getting textures, with built in support for proxy textures and protection against infinite loops.
2020-12-29 10:40:17 +00:00
Rémi Verschelde fb9f723bf1
Merge pull request #44746 from adamscott/fix-accessor-normalized-3.2
[3.2] Add missing "normalized" accessor property to glTF document
2020-12-28 10:46:22 +01:00
Adam Scott d96fdcd45e Add missing "normalized" accessor property to glTF document for the 3.2 branch 2020-12-28 03:17:37 -05:00
Rémi Verschelde 74512fd876
Merge pull request #44711 from clayjohn/GLES3-auto-exposure-fxaa
Properly apply auto exposure with FXAA in GLES3
2020-12-27 10:54:11 +01:00
clayjohn 6cefadc233 Properly apply auto exposure with FXAA in GLES3 2020-12-26 15:23:08 -08:00
Rémi Verschelde 93172515de
Merge pull request #44683 from madmiraal/fix-etc-quality-3.2
[3.2] Fix ETC quality setting
2020-12-26 10:23:46 +01:00
lawnjelly a237c671bb Improve 2d snapping
Partially revert change allowing sprite get_rect snapping to be controlled by `pixel_snap` again rather than `transform_snap` (to prevent breaking compatibility). Adds a final `use_camera_snap` project setting to allow snapping viewports as in reduz original PR.
2020-12-25 18:53:00 +00:00
Rémi Verschelde 626ca08108
Merge pull request #44679 from bruvzg/fix_outline_advance
[3.2] Use base character advances for outline drawing.
2020-12-25 15:18:52 +01:00
Rémi Verschelde 4436f95dce
Merge pull request #44458 from dedm0zaj/3.2_lightmap_capture_data_energy
[3.2] Lightness of dynamic objects from Energy BakedLightmapData
2020-12-25 15:07:31 +01:00
Marcel Admiraal 125032d8ee Fix ETC quality setting 2020-12-25 11:36:26 +00:00
bruvzg 7ed2cf79ae
[3.2] Use base character advances for outline drawing. 2020-12-25 13:27:36 +02:00
Rémi Verschelde cddff0404d
Merge pull request #44610 from m4gr3d/fix_top_level_android_export_3_2
[3.2] Fix the `String::get_base_dir()` logic to properly check for top level directories on Windows
2020-12-23 23:57:44 +01:00
Rémi Verschelde 7ef143faaf
Merge pull request #44620 from bruvzg/m1_dragdrop_3
[3.2] Fix file drag-drop on M1 Macs.
2020-12-23 18:24:17 +01:00
bruvzg 36a6a713b4
[3.2] Fix file drag-drop on M1 Macs. 2020-12-23 18:01:02 +02:00
Rémi Verschelde ebe9d61ec7
Merge pull request #44613 from lawnjelly/ewok_remove_options
Remove buffer orphaning options project settings
2020-12-23 16:47:02 +01:00
lawnjelly 15e57a0235 Remove buffer orphaning options project settings
These were only put in for the betas, in order to test hypotheses for stalling on Macs. It seems that most of the problems in the Mac editor have been solved by fixing the excessive redraw_requests.

As a result no one has reported any results from these options, but in future we will be able to refer users to try the beta versions, so there is no need to include them in the stable release. Indeed they are only likely to cause confusion.
2020-12-23 15:23:02 +00:00
Fredia Huya-Kouadio 94aa09a854 Fix the `String::get_base_dir()` logic to properly check for top level directories on Windows. 2020-12-23 00:43:03 -08:00
Rémi Verschelde 9c3293b844
Merge pull request #44306 from Demindiro/fix-conv-to-32bit-float
Fix Variant conversion to float instead of double
2020-12-21 01:36:18 +01:00
Rémi Verschelde 542acc8580
Merge pull request #44340 from lawnjelly/ninepatch_zerosize
Batching - Protection against zero and small sized ninepatches
2020-12-20 19:50:01 +01:00
Rémi Verschelde 8c63b65b67
Merge pull request #44489 from ForestKatsch/3.2
Fix PanoramaSky artifacts on Android/GLES2
2020-12-20 19:31:17 +01:00
Forest Katsch 8825aa8b5b Fixes #43667.
The root cause of the issue is that OpenGL ES 2 does not support the `textureCubeLod` function.
There are (optional) extensions to support this, but they don't appear to be exposed with the ES2 renderer (even though the hardware needed to support LOD features are certainly available.)
The existing shim in `drivers/gles2/shaders/cubemap_filter.glsl` just creates a macro:

```
 #define textureCubeLod(img, coord, lod) textureCube(img, coord)
```

But the third parameter of `textureCube` is actually a mip bias, not an absolute mip level.
(And it doesn't seem to work regardless.)
In this specific case, the `cubemap_filter` should only sample from the first level of the "source" panorama cubemap.
In lieu of a method to force a lod level of zero, I've chosen to comment out the switchover from a 2D equirectangular panorama to the cubemap version of the same image, therefore always sampling roughness values from the 2D equirectangular panorama.
This may cause additional artifacts or issues across the seam, but at least it prevents the glaringly obvious black areas.

---

This same issue (no fragment texture LOD support) has rather large repercussions elsewhere too; it means materials with larger cubemap density (i.e. planar or distant objects) will be far rougher than expected.
Since GLES 3 appears to properly support fragment `texture*Lod` functions, switching to the GLES 3 backend would solve this problem.

---

Root cause discovered with help from @KaadmY.
2020-12-20 10:32:30 -06:00
Rémi Verschelde a4d25a115e
Merge pull request #44460 from theogen-ratkin/3.2
[3.2] Add interpolation parameter to resize_to_po2()
2020-12-19 09:36:01 +01:00
Rémi Verschelde 344a02834b
Merge pull request #43899 from madmiraal/fix-43852-3.2
[3.2] Remove any constraints connected to a Bullet body when removing it
2020-12-19 09:31:04 +01:00
Theogen Ratkin 8f6a6ac8d0 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.

GLES2: call resize_to_po2() with interpolate argument

Call resize_to_po2() in GLES2 rasterizer storage with either
INTERPOLATE_BILINEAR or INTERPOLATE_NEAREST depending on TEXTURE_FLAG_FILTER.

This avoids filtering issues with non power of two pixel art textures.
See #44379
2020-12-18 14:02:38 -04:00
Rémi Verschelde 68013d2393
Merge pull request #44470 from pycbouh/graph-minimap-3.2
[3.2] Add a minimap to the GraphEdit
2020-12-17 23:43:00 +01:00
Yuri Sizov 816fef21f9 Add a minimap to the GraphEdit 2020-12-18 01:31:17 +03:00
Rémi Verschelde 65c1db3131
Merge pull request #44305 from RevoluPowered/fbx-update-plugin
[fbx] Implement ColorIndex for Vertex Colors to ensure they are correct and duplicate vertexes correctly for multiple color attributes.
2020-12-17 21:19:59 +01:00
dedm0zaj 96e2887945 Lightness of dynamic objects from Energy Lightmap Capture Data 2020-12-17 22:02:08 +07:00
Rémi Verschelde 3f47cdc5c6
Merge pull request #44453 from RandomShaper/fix_crash_parsing_ref_3.2
Fix crash parsing a serialized Reference (3.2)
2020-12-17 13:15:15 +01:00
Pedro J. Estébanez 4dafa5b21e Fix crash parsing a serialized Reference 2020-12-17 12:24:55 +01:00
Rémi Verschelde 80c9f2d975
Merge pull request #44373 from neikeq/3.2-mono-wasm-m2n-hook
[3.2] Mono: Make Godot provide its own WASM m2n trampolines
2020-12-17 09:58:50 +01:00
Rémi Verschelde 9710a38637
Merge pull request #44435 from Calinou/fix-max-renderable-elements-hint
Fix invalid property hint for `max_renderable_elements` project setting
2020-12-16 21:59:29 +01:00
Hugo Locurcio 680312b95a
Fix invalid property hint for `max_renderable_elements` project setting
This closes #36240.
2020-12-16 19:33:15 +01:00
Rémi Verschelde 6e8146281e
Merge pull request #44428 from akien-mga/3.2-revert-43948
Revert "Don't open editor window when using --export, --doctool, or --gdnative-generate-json-api"
2020-12-16 15:31:30 +01:00
Rémi Verschelde afbca1216e
Revert "Don't open editor window when using --export, --doctool, or --gdnative-generate-json-api"
This reverts commit 27393de36e.

Fixes #44403.
2020-12-16 15:02:10 +01:00
Rémi Verschelde 5d49894270
Merge pull request #44418 from skyace65/TypeHint3
[3.2] Document what can be used as a type hint
2020-12-16 14:18:05 +01:00
Rémi Verschelde 574ca8a8cd
Merge pull request #43560 from naithar/fix/ios-keyboard
[3.2] [iOS] Keyboard input changes
2020-12-16 05:43:23 +01:00
skyace65 04926adb8a [3.2] Document what can be used as a type hint 2020-12-15 22:34:25 -05:00
Sergey Minakov f1fd0440f3 GUI: use cursor in TextEdit for non selected text. 2020-12-16 05:33:10 +03:00
Sergey Minakov 8b6357cf28 iOS: fix keyboard display 2020-12-16 05:05:38 +03:00
Sergey Minakov 4c3b84b3d7 GUI: send cursor data from TextEdit 2020-12-16 05:05:38 +03:00
Rémi Verschelde c01ccab885
Merge pull request #44392 from madmiraal/fix-42285-3.2
[3.2] Remove Generic6DOFJoint precision property
2020-12-15 19:07:27 +01:00
Rémi Verschelde 6956b01cb5
Merge pull request #44371 from RevoluPowered/fix-parser-crash-mesh-geometry
[fbx] fix crash in FBX parser caused by mesh geometry
2020-12-15 13:04:08 +01:00
Marcel Admiraal 825ad65fc4 Remove Generic6DOFJoint precision property 2020-12-15 10:15:42 +00:00