godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
89.87k stars 21k forks source link

Gouraud shading specular sparkles on android #55393

Closed Acvarium closed 2 years ago

Acvarium commented 2 years ago

Godot version

v3.4.stable.official [206ba70f4]

System information

Android 9 GLSL2

Issue description

All the objects that have materials with specular value that is not 0 and directional light in the scene will have bright gouraud shading specular sparkles. Godot v3.3.3.stable.official [b973f997f] has no similar effect and looks correct. But boath 3.4 and 3.4.1 RC1 suffer from this issue

spark

Steps to reproduce

Extract minimal reproduction project and open it in Godot 3.4 or 3.4.1 RC1. Export to android device

Minimal reproduction project

sparklesAndroid.zip

Acvarium commented 2 years ago

Tested on Xiaomi Redmi note 5 with android 9 and on Oculus Quest 1 with the same result

Calinou commented 2 years ago

@Acvarium Can you reproduce this in any of the 3.4 betas and RCs to determine when the regression started?

PS: Vertex shading is forced by default on mobile platforms; disable Force Vertex Shading.mobile in the Project Settings to use per-pixel shading (at the cost of performance). Conversely, you may be able to reproduce this issue on desktop platforms by enabling Force Vertex Shading (without .mobile).

Acvarium commented 2 years ago

Tested with few versions. Issue is not present in 3.3.4 release, but is in 3.4 beta 1

And thanks for the info on "Force Vertex Shading"

Calinou commented 2 years ago

Commits between 3.3-stable and 3.4beta1 (207fb165bfd1fefd1b4339c9427a569b19d0dcae):

git shortlog --no-merges -n 3.3-stable...207fb165bfd1fefd1b4339c9427a569b19d0dcae

Hugo Locurcio (94):
      Deprecate the GIProbe Compress property due to known bugs
      Tweak lightmapper warning message to mention Rosetta emulation on macOS
      Link to Feature tags more explicitly in ProjectSettings documentation
      Strip leading/trailing whitespace for project name in the project manager
      Improve error messages for missing export presets when using `--export`
      Add a menu action to open C++ source on GitHub in the editor debugger
      Tweak error messages for the Save Branch as Scene editor option
      Display scene file extensions in the editor only if there's ambiguity
      Allow Center Selection to work without any selection in 2D/3D editors
      Document that clearcoat/rim lighting is not visible on unshaded materials
      Document that `SceneTree.call_group()` is deferred
      Add the About dialog to the project manager
      Make it possible to copy the Godot version identifier by clicking it
      Document that `File.open_compressed()` can only open files saved by Godot
      Allow selecting multiple files in the editor translation/remap dialogs
      Tweak the built-ins color highlighting in the shader editor
      Allow negative contrast values in the editor theme settings
      Improve the AudioStreamPlayer(2D/3D) class descriptions
      Tweak the setting hint for the custom editor theme setting
      Fix EditorPropertyResource focus outline being drawn behind the preview
      Document caveats of `OS.get_unique_id()`
      Improve the editor audio preview inspector appearance and functionality
      Save the current script when adding a new method via signal connection
      Implement the `%command%` placeholder in the Main Run Args setting
      Save the current script when pressing Ctrl + S if no scene is open
      Fix Tree's background focus outline displaying behind section headings
      Display the old color in ColorPicker for easier comparison
      Implement reverting to the old color when clicking it in ColorPicker
      Fix Ubuntu clang-format version detection in the pre-commit hook
      Add "Support Godot Development" option to the editor's Help menu
      Scroll faster when holding Alt in TextEdit (and script editor)
      Increase the TileSet editor's snap step to 1024
      Fix crash when trying to save with no scenes and scripts open
      Print a warning when importing a repeating NPOT texture in a GLES2 project
      Remove high radiance sizes from the editor due to issues on specific GPUs
      Only allow absolute paths in XDG environment variables
      Remove `#ifdef` catering to MSVC 2012 and earlier in `math_funcs.h`
      Tweak highlight color in the editor Find in Files dialog
      List "Argument" for each extra bind argument in the connect dialog
      Tweak pressed CheckBox appearance in the editor
      Highlight control flow keywords with a different color
      Remove duplicate orientation settings in the iOS export preset
      Tweak Camera2D editor line colors for better visibility
      Improve the audio bus editor appearance
      Document `Resource.duplicate()` only copying exported variables' values
      Uncap the range for gravity and change the slider hints
      Document `Navigation.get_simple_path()` often returning non-optimal results
      Add "Normal Map Invert Y" import option for normal maps
      Readd support for kerning in DynamicFont
      Allow clang-format 12 in the pre-commit hook
      Allow more items in automatic width calculation for TextEdit completion
      Document applying VRAM compression setting changes retroactively
      Improve the console error logging appearance
      Add a soft line length guideline to the script editor
      Tweak the "Changes may be lost!" text color to match the icon's color
      Remove the 3D camera gizmo icon
      Improve the editor feature profiles UX
      Handle portrait mode monitors in the automatic editor scale detection
      Rename "Singleton" to "Global Variable" in the AutoLoad editor
      Complete documentation for the AudioEffectPitchShift class
      Improve AudioStreamGenerator and AudioEffectSpectrumAnalyzer documentation
      Fix editor constantly redrawing when freelook is active with still camera
      Improve radio checkboxes in the default editor theme
      Tweak the physics FPS property hint to only allow reasonable values
      Allow higher and lower maximum zoom values in GraphEdit
      Fix duplicate paragraph in `ArrayMesh.add_surface_from_arrays()` description
      Fix game camera override tooltips being swapped
      Decrease the editor FPS limit when unfocused from 20 to 10
      Add a "save on focus loss" editor setting (disabled by default)
      Add custom debug shape thickness and color options to RayCast
      Tweak CylinderMesh `rings` property hint to allow a value of 0
      Use double-sided material for RayCast
      Expose OS data directory getter methods
      Tweak script export text in the export dialog to be more explicit
      Print time taken and request attention when lightmaps are done baking
      Fix flipped binormal in SpatialMaterial triplanar mapping
      Allow selecting frames by holding down the mouse in SpriteFrames editor
      Add keyboard shortcuts to the project manager
      Improve descriptions for ProjectSettings' `disable_stdout`/`disable_stderr`
      Allow a top and bottom radius equal to 0 in CylinderMesh
      Use Ctrl + G to toggle the 3D editor grid visibility by default
      Document debanding being broken on mobile
      Decrease opacity of the overdraw debug draw mode
      Tweak the 2D game camera override tooltips to match 3D
      Add icons for more file types in the editor asset installer
      Allow using the 3D editor's View menu while previewing a camera
      Remove unused code related to Travis CI
      Improve error reporting in WebSocketServer
      Use the Unicode multiplication symbol for the viewport size display
      Fix typo in Bullet method name: "collisin" -> "collision"
      Tweak the GradientTexture property hint to follow CurveTexture
      Make makerst.py create folders automatically, print a message when done
      Automatically display the installer after downloading an asset
      Fix casing of the "to" stop word in editor strings

Rémi Verschelde (71):
      Bump version to 3.4-beta
      embree: Allow building against system library on Linux
      fbx: Fix include for zlib that broke unbundling
      Add type_traits include for `std::is_trivially_destructible`
      lightmapper: Disable build if raycast module can't build
      Linux: Don't attempt linking embree3 on non-tools, link it for headless too
      Android: Fix get_buffer false positive on empty dest buffer
      NodePath: Remove unimplemented `get_parent()` method
      Scene: Remove unused `mesh_materials` StringNames
      Main: Default `--doctool` path to '.' if none given
      doc: Update classref headers with 3.4 version
      OSX: Clarify min version requirement (10.12) in Info.plist
      Linux: Remove use_static_cpp override on x86_32
      SceneTree: Fix type hints for `global_menu_action` signal
      CI: Upgrade Emscripten to 2.0.15 (same as official standard builds)
      doc: Mark LargeTexture as deprecated (removed in 4.0)
      Android: Upgrade buildTools from 30.0.1 to 30.0.3
      Tabs: Remove unused 'panel' stylebox from default theme
      Core: Drop custom `copymem`/`zeromem` defines
      SCons: Add explicit dependencies on thirdparty code in cloned env
      Revert "make 2d constraint solving more deterministic by solving in push order"
      doc: Sync classref with current source
      doc: Sync classref with Mono build
      CI: Add `--doctool` check to find missing classref updates
      Style: Remove executable bit from non-runnable files
      Style: Set clang-format Standard to c++14
      Style: clang-format: Disable AllowShortIfStatementsOnASingleLine
      Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine
      Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
      Style: Replaces uses of 0/NULL by nullptr (C++11)
      Style: Enforce use of bool literals instead of integers
      Style: Remove redundant void argument lists
      Style: Enforce braces around if blocks and loops
      Fix crash with user-defined `ResourceFormatLoader.load`
      SCons: Disable embree-based modules on x86 (32-bit)
      Android: Remove non-functional native video OS methods
      TileSet: Improve error message for invalid IDs
      TileSet: Fix signal disconnect error in some situation
      VisualScript: Fix wrongly setting default value on property hint change
      CI: Update JavaScript linter deps with known security vulnerabilities
      SCons: Abort if SCRIPT_AES256_ENCRYPTION_KEY is invalid
      Update AUTHORS and DONORS list
      i18n: Sync translations with Weblate
      FileSystem dock: Fix search shortcut
      Revert "Tweak lightmapper warning message to mention Rosetta emulation on macOS"
      i18n: Sync translations with Weblate
      CI: Install Android NDK 21.4.7075529
      Android: Remove `-fno-integrated-as`, it can break arm64v8 build
      Fix typos with codespell
      Dist: Add macOS entitlements files for editor code signing
      Linux: Fix embree unbundling on aarch64
      OS: Better validation of invalid input for get_unix_time_from_datetime
      i18n: Sync translations with Weblate
      Style: Cleanup uses of double spaces between words
      FileAccess: Don't err in `store_buffer` with buffer of size 0
      Revert "[3.x] Fix SceneTreeDock::_selection_changed"
      Update AUTHORS and DONORS list
      i18n: Sync translations with Weblate
      Style fix in DONORS.md (trailing space)
      i18n: Sync translations with Weblate
      LocalVector: Don't error if `from` >= `count`
      Script editor: Rename 'Clone Down' to 'Duplicate Selection'
      Android: Add `isGame` application attribute, default to true
      Android: Fix `xr_mode_metadata_name` removal after cd64bcdae
      Android: Fix syntax error in #50227
      Android: Fix truncated `application` attributes after #50028 cherry-pick
      FileDialog: Fix capitalization for overwrite prompt
      LineEdit: Respect `max_length` by truncating text to append
      i18n: Sync translations with Weblate
      Update AUTHORS and DONORS list
      Revert "Fix gdnative api generation for methods that return enums"

Marcel Admiraal (34):
      Fix empty CSGShape error
      Fix CSGMesh undo not refreshing gizmo
      Update CSGMesh3D's documentation to explain how vertex normals are used
      Move collision layer and mask into CollisionObject.
      Return RID instead of Object id in area-body_shape_entered-exited signals.
      Fix Quat includes
      Update EditorResourcePreview queue_*() documentation
      Fix UV mapping on CSGSphere
      Fix game controllers ignoring the last listed button
      Rename CollisionObject3D input_event signal position and normal parameters
      Update Gradle archiveName and destinationDir properties
      Don't install Android NDK in CI
      Remove unused AudioDriverAndroid from Android
      Add OS.get_external_data_dir() to get Android external directory
      Move default values from definition to declaration in GraphEdit
      Apply infinite inertia checks to Godot physics 3D
      Remove duplicate ERR_PRINTS macro
      Remove FIXME comment from fixed issue in Android Export
      Remove duplicate WARN_PRINTS macro
      Clear glErrors instead of crashing when initializing GLES3
      Add GDNative libraries to Android custom Gradle builds
      Add adb output to error message when install fails
      Remove redundant interface modifiers from Android Java code
      Remove unused imports from Android Java code
      Replace single method anonymous classes with lambdas in Godot Java code
      Fix unchecked call to put() warning in GodotInputHandler.java
      Remove unnecessary semicolons from Android Java code
      Use Java array declarations not C-style declarations in Android Java code
      Fix raw use of parameterized Class
      Use StringBuilder instead StringBuffer in Godot Java code
      Remove redundant explicit types in Godot Java code
      Use static inner classes in Godot Java code
      Remove Android onKeyMultiple override
      Queue the calls to GodotLib.key when Android virtual done is pressed

Fabio Alessandrelli (32):
      Better zeroizing in CryptoKey.
      Add AESContext.
      CryptoKey supports public keys.
      Implement sign and verify in crypto.
      Implement RSA encryption/decryption.
      Document AES and new Crypto/CryptoKey functions.
      [HTML5] Debug HttpServer now runs in `web` cache subdir.
      [HTML5] Optional icon generation, use export name for it.
      [HTML5] HTTP server uses optional SSL.
      [HTML5] Export as Progressive Web App.
      [Net] Fix socket poll timeout on Windows.
      [HTML5] Fix build for recent emscripten versions.
      [Net] Implement String::parse_url for parsing URLs.
      [HTML5] Add support for `physical_keycode`.
      [HTML5] Use 64KiB chunk size in JS HTTPClient.
      [HTML5] Remove "fixed-size.html".
      [HTML5] Fix target_fps when window loses focus.
      [HTML5] Fix GDNative compilation with emcc 2.0.19+
      [HTML5] Implement Godot <-> JavaScript interface.
      [Doc] Remove reference to UNIX sockets in StreamPeer.
      [HTML5] Add easy to use download API.
      [Net] Fix HTTPRquest store_buffer error.
      [HTML5] Fix some JS library signature.
      [HTML5] Fix JS build without eval.
      [HTML5] Update eslint and jsdoc dependencies.
      [Net] ENet non-relaying server now process broadcasts.
      [HTML5] Add option to focus canvas on start.
      [Net] Fix WebSocketClient path parsing.
      [Net] Add WebSocketServer handshake_timeout property.
      [Crypto] Delete mbedtls ctx in deconstructor.
      [HTML5] Fix JavaScript string parsing with new interface.
      [HTML5] Raise default initial memory to 32 MiB.

Haoyu Qiu (23):
      Fixes display of programmatically created value in remote inspector
      Fix Tree::get_column_at_position crash
      Fix ragdoll simulation when parent was readded to scene
      Fix crash when using get_available_chars with invalid DynamicFontData
      Fix XMLParser behavior for comments and premature endings
      Fix editor crash when exporting profiler data
      Fix STL to Godot type convertion of polypartition
      Check cache_parent_physical_bone when rebuilding parent cache
      Wrap description TextEdit of plugin config dialog
      Fix RichTextLabel auto-wrapping on CJK
      Don't use the abbrevation "Sep." in UI text
      Fix json dump and print of circular structure
      Validate parameters when adding plugins
      Save binary ProjectSettings key length properly
      Strip query string when parsing HTTP request line for path
      Validates the `p_format` parameter in `Image::create` functions.
      Add numpad emulation in 3D viewport
      Fix doc description of HTTPClient::request
      Handle Z_BUF_ERROR in decompress_dynamic
      Fix unicode invalid skip error in AssetLib
      Fix memfree parameter name
      Merge similar editor strings
      Fix decompression with FastLZ when buffer size is less than 16 bytes

PouleyKetchoupp (22):
      Heightmap collision shape support in Godot Physics
      Fix errors related to joints setup with two non-dynamic bodies
      Fix skinning initialization in MeshInstance when loaded from thread
      Expose get_debug_mesh in Shape to scripting API
      Support for Dynamic BVH as 2D Physics broadphase
      Allow values > 1 for friction and bounce in PhysicsMaterial
      Fixed unnecessary bvh tree updates when calling set_pairable
      Fix logic for showing tilemap debug collision
      Added flip_h and flip_v properties in TextureButton
      Fix uninitialized members in physics query results
      Expose collider RID in 2D/3D kinematic collision
      Fix sub-resource storing the wrong index in cache
      Fix external resource cache regression
      Ignore disabled shapes for mass property calculations
      Support for disabling physics on SoftBody
      Fix and clean disabled shapes handling in godot physics servers
      Fix export var override in PackedScene at runtime
      Expose body_test_motion in 3D physics server
      Remove unused PhysicsShapeQueryResult & Physics2DShapeQueryResult
      NodePath properly updated in the editor in more cases
      Coding style fix in editor NodePath update
      Options to clean/simplify convex hull generated from mesh

bruvzg (18):
      Fix crash on GDNative API json generator exit.
      Duplicate DynamicFontData resources in the editor preview generation thread to avoid race condition.
      Add `physical_scancode` (keyboard layout independent keycodes) to InputEventKey and InputMap. Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
      Add symlink API to the DirAccess (on macOS and Linux).
      [UWP] Add missing `get_scansym` argument.
      [macOS] Allow "on top" windows to enter full-screen mode.
      Add GDNative Framework loading and export support.
      Fix `Directory::get_space_left()` result on macOS and Linux.
      Add separate `simulator` flag for iOS build, change main library to `xcframework`. Build and export iOS Mono libs as `.xcframework`s, for Apple Silicon iOS simulator support.
      [3.x] Fix visibility issue with zoom label
      [3.x, macOS export] Add notarization support.
      [iOS] Option to automatically generate icons and launch screens
      Fix loading RLE compressed TGA files. Fix memory reads outside of input buffer when loading invalid TGA files.
      Add LSApplicationCategoryType to the template and export dialog.
      [macOS] Fix custom mouse cursor not set after mouse mode change.
      [Windows Export] Use temporary file for osslsigncode signing.
      Fix Variant tags parsing.
      [macOS, Mono] Automatically enable JIT entitlements for the Mono exports.

kleonc (16):
      Improve some argument names for core types
      TileMapEditor::_bucket_fill Check autotile coordinates only if autotile is selected
      TileMapEditor Modulate autotile previews
      Make posmod use int64_t instead of int
      TileMap::world_to_map Ensure half offset is added according to the returned value
      Fix accessing scene tree without checking: MeshInstance3D::create_debug_tangents, GIProbe::bake
      Fix crash after disabling plugin using set_force_draw_over_forwarding_enabled()
      BitMask::create Don't request more memory than needed when size is a multiply of 8
      Document valid range of Node2D.z_index
      SpriteFramesEditorPlugin Added zooming
      Scale zoom values in the SpriteFrames editor for hiDPI displays
      TextureRegionEditor Fix not updating on editing region with autoslice cached
      TextureButton Update min size on any texture change
      AnimationMultiTrackKeyEdit Allow editing easing if it's possible for all edited tracks
      VisualScriptEditor Fix in graph position calculation (do not skip zoom)
      Add AcceptDialog::remove_button method

Tomasz Chabora (14):
      Make randomize() use unix time too
      Add disabled theme icons for CheckBox
      Save project after opening
      Allow to drop files on filtered scene tree
      Display arrow cursor if text is not editable
      Reset Shader Editor scroll when changing shader
      Add preload() to resource path when holding Ctrl
      Improve sort_custom() description
      Don't save built-in script when adding method
      Don't remap resources belonging to instance
      Clarify animation_changed signal
      Fix GridMap still drawing when Alt+Tabbing
      Support single quote when dropping files to script
      Allow to create a node at specific position

Yuri Sizov (12):
      Correct pre-deprication warning message regarding linuxbsd/x11 platform
      Fix EditorPropertyEasing capturing drag events originated outside of it
      Keep custom editor theme when changing editor settings
      Improve the layout and texts of the Editor Feature Profiles dialog
      Expose missing Theme methods
      Add utility methods to Theme, improve error messages and documentation
      Fix typo in Control's theme icon look-up method
      Add EditorResourcePicker control based on the Inspector editor for Resources
      Use EditorResourcePicker in the Inspector
      Refactor Theme item management in the theme editor
      Overhaul the theme editor and improve user experience
      Make relationship lines draw on top of TreeItems

Aaron Franke (9):
      Warn when creating a script with the same name as the parent class
      Update size when updating ScriptCreateDialog
      [3.x] Make is_equal_approx have explicit float and double versions
      Set a minimum size for status panel elements in ScriptCreateDialog
      Use global scope round method for rounding
      [3.x] Fix Camera FOV documentation
      Rename tabs in the project manager
      [3.x] Fix C# bindings generator for default value types
      [3.x] Add Quat angle_to method

Lightning_A (9):
      Enable zooming graph_edit with scrollwheel, cherry-picked for 3.x
      Make scrollwheel zoom based on mouse position, cherry-picked for 3.x
      Fix Array.max() navigating to @GDScript.max() etc.
      Remove current export template version from "Installed Versions"
      Initialize some graphedit values in the header
      Put physics override parameters in their own group and document that areas can be used to influence audio
      ScrollContainer: Expose `_ensure_focused_visible` to the API Was renamed to `ensure_control_visible`
      Add the ability to reload the current project
      Add "Suggest a Feature" to the help dialog.

Lyuma (9):
      Allow renaming bones and blendshapes.
      Backport 6f16239 "Implementation of struct for shaders" to 3.4
      Backport 6b99bda "Added support for arrays as shader struct members" to 3.4
      Backport bc0e8e7 "Fix using post-init shader array constructors" to 3.4
      Backport dd0874e "Allow passing varying from fragment to light shader function" to 3.4
      gltf: Fail gracefully when a mesh instance fails.
      Fix incorrect skin deduplication when using named binds
      gltf: Fix mesh nodes which are also bones for 3.x
      gltf: Fix mesh nodes which are also bones.

Pedro J. Estébanez (9):
      Extend UndoRedo handling of Resource to every Reference
      Add animation reset track feature
      Make all file access 64-bit (`uint64_t`)
      Allow basic user data backup on Android
      Set schemes' build config to debug/release in iOS Xcode export
      Add iOS export option for device family
      Fix crash when using ALSA MIDI with PulseAudio
      Fix slow load/save of scenes with many instances of the same script
      Remove side effects of scene save

Chaosus (8):
      Prevents incorrect connection attempt on port clicking in GraphEdit, cherry-picked for 3.x
      Fix GraphEdit reconnecting to disconnected port, cherry-picked for 3.x
      Fix GraphEdit connects when graph is zoomed/unzoomed, cherry-picked for 3.x
      [3.2] Prevents default values of VSNodeCustom from overriding by a script
      Fix shader crash if duplicated struct members created
      Prevents shader crash if passing invalid struct to the return statement
      Prevents shader crash if two struct with the same name are declared
      Fix doc theme not changing when its hidding

lawnjelly (8):
      Batching - fix number of verts in translation
      Batching - GLES3 fix light pass modulates
      Fix 2d software skinning relative transforms
      Batching - fallback for 2d skinning with unrigged polys.
      Batching - fix item_batch_flags stale state
      BVH - fix stale current_tree in deactivate function
      Fix canvas rect bound calculation
      Fix VisibilityEnabler to work with AnimationTree

Ignacio Etcheverry (5):
      Fix copying Mono shared libs on macOS
      C#+iOS: Fix simulator builds
      C#+iOS: Fix P/Invoke symbols being stripped by the linker
      C#+iOS: Fixes for games exported with `Use Interpreter` disabled
      C#+iOS: Fix crash at exit for passing NULL domain to mono_jit_cleanup

JFonS (5):
      CPU lightmapper environment energy fixes.
      Switch to embree-aarch64
      Add checks for __SSE2__ in the lightmap raycaster
      Fix swapped front/rear directions in viewport rotation control.
      Upgrade Embree to the latest official release.

Morris Tabor (5):
      Fix ParticlesMaterial spread
      Fix draw order of transparent materials with multiple directional lights
      fix misaligned loads in bmp loader
      Replace QuickHull with Bullet's convex hull computer.
      Implement lossless WebP encoding

Nicholas Huelin (5):
      Edit "quit()" method description in `SceneTree`
      Amend `Label`.clip_text() Method Description
      Add `get_dead_zone()` method to `InputMap`
      Add multiple descriptions to several classes
      Add method description to `PopupMenu`

Andrii Doroshenko (Xrayez) (4):
      Separate version hash from version number in editor and project manager
      Use "Delete" in FileSystemDock on all platforms
      Make `EditorVCSInterface` proxy functions virtual in C++
      Set minimum size for "Version Control" diff bottom panel

Francois Belair (4):
      Make LSP update the filesystem of changed scripts
      Translate file path to URI on LSP symbol requests
      Add cache to color picker for presets
      Implement didClose notification in LSP

Ilaria Cislaghi (4):
      visual server now sorts based on aabb position
      fixed particle rotate y flag
      Added ring emitter for 3D particles
      added offset for plane mesh and quad mesh

Kyle (4):
      Fixes ctrl-click function line centering
      Fixed cut/copy/paste visibility
      Remove extra separator
      Add ctrl+shift+a to instance scene in scenetree dock

MaxStgs (4):
      Fix BakedLightmap bias bound check
      Add PackedDataContainer data pointer check for non nullable
      Check PHashTranslation generate p_from is valid
      Add WebSocketMultiplayerPeer _incoming_packets check bound

Michael Alexsander (4):
      Fix EditorInspector not updating its theme on rare occasions
      Select non-perfect matches if necessary in the Search Help dialog
      Add comment highlighting to script thumbnails
      Make invisible `SplitContainer` nodes correctly calculate the minimal size of its children

Paweł Fertyk (4):
      Return error when decompressing empty buffer
      Check for _language in PluginScript.instance_has
      Remove trailing slash from recent dir if needed
      Validate image formats, check if resize_to_po2 failed

trollodel (4):
      Create CollisionObject debug shapes using VS
      Fix crash on debug shapes update if CollisionObject is not in tree
      Preview the color animation in the animation editor
      Fix GraphNode port position when the control has the Expand flag

Bartłomiej T. Listwon (3):
      Separate set.h from map.h
      pywin32 is no longer necessary for SCons install
      Change search results limit in FileSystem dock from 128 to 10000

Bastiaan Olij (3):
      Change ARVRPositionalTracker to a reference and better expose it to GDNative
      Add VIEW_INDEX variable in shader so we know which eye/view we're rendering for
      Add precision to view_index

Clay John (3):
      Fix multimesh being colored by other nodes GLES3
      Force vertex shading in SpatialMaterial when used
      Only set base in Sprite3D when needed

K. S. Ernest (iFire) Lee (3):
      When one invalid image fails, it should only fail that single image.
      Backport gltf2 module from master.
      ERR_FAIL_NULL check file access

Sergey Minakov (3):
      Core: add EOF check for json parser
      [iOS] Nonnegative start index for virtual keyboard range
      [iOS] Support multiple plist types

Fredia Huya-Kouadio (2):
      Add support for custom debug keystore.
      Update config versions and deprecate the use of the jcenter maven repo.

HaSa1002 (2):
      Fix removal of `rect_min_size` not triggering resize
      Fix CSG Path Polygon cache being removed after connect

Henry Conklin (2):
      Optimize BroadPhase2dHashGrid to not pair elements on different layers
      Add support for numeric XML entities to XMLParser

Jonas Bernemann (2):
      Fix overflow in export template manager
      String::format leave passed values untouched

Mateo Kuruk Miccino (2):
      LineEdit: Now double click to select a word, and triple click to select all the content
      FileSystem: Force update when we delete a folder from the editor and searching changes only if we change the directory successfully in the scan_fs_changes

Rafał Mikrut (2):
      [3.x] Fix crashes when using _input functions
      Prevent setting too big or too small Collision Mask and Layer

Ricardo Subtil (2):
      Allow Godot to import .ZIP files with non-regular structure
      Fix zip_root not being defined when importing by drag&drop

TwistedTwigleg (2):
      Fixes the SkeletonIK twisting issue by using the skeleton global pose without overrides
      SkeletonIK: Fixed issue where bones become detached if multiple SkeletonIK nodes are used

Will Whitty (2):
      Work on porting HTTPRequest compression to 3.3
      Backport HMac crypto to 3.x

Zae (2):
      Fix zip file opening twice
      Fix duplicate close files when deconstructing ZipArchive

floppyhammer (2):
      ImproveCompletionPanelPositionInShaderEditor
      Improve nine patch behavior of TextureProgressBar

foxydevloper (2):
      Make shortcut for focusing searchbar in filesystem dock
      Make easing properties drawn with anti aliasing

paru (2):
      Added CPU blendshapes for GLES2
      Fixed usage of proxy textures on GLES2 sky

rafallus (2):
      Check if _direct_state_changed() argument is valid
      Check input mesh is valid in SurfaceTool methods

ray90514 (2):
      Fix LineEdit undo behaves strangely
      Fix multi-selection doesn't correctly show in the inspector

thebestnom (2):
      [Android] Allow to build dev template with symbols
      [Android] fix generateDevTemplate

Aitor Cereceto (1):
      Fix SceneTreeDock::_selection_changed

Andrea Catania (1):
      Remove early return from gizmo intersect_ray

Arkadiusz Marcin Kołek (1):
      Avoid division by zero when calculating inertias for bodies with colliders without areas.

Arthur Bikmullin (1):
      Fixed missed IDHandler dependency in GodotFetch

Arthur Paulino (1):
      Updating KinematicBody2D "is_on" functions' descriptions

Bhuvan Vemula (1):
      instance-scene: make parent as edited_scene if no parent selected.

Brennen Green (1):
      Manually unpacked normal mapping to fix issue with refraction being offset rather than distorted.

Brian Semrau (1):
      Batching fix polygon basis polarity

CaptainProton42 (1):
      Fix 3D scene preview generation.

Casey Foote (1):
      Add support for generating noise images with an offset.

Chuck (1):
      Support multiple address resolution in DNS requests

Daniel Lungaro (1):
      Remove plugin from enabled if there's an error

David Cambré (1):
      The built in function math/seed was missing the sequenceport.

David Hoppenbrouwers (1):
      Fix joint RID not being passed to _set in PhysicalBone

David Snopek (1):
      Fixes #48178: WebXR broken when built with Emscripten 2.0.13 or later

Emre Aydin (1):
      Fixed changing enabled classes resetting folding in manage editor features.

Eoin O'Neill (1):
      Attempt to fix rich text label effects processing even when the node is invisible.

Eric (1):
      Enable Camera2D smoothing on limit change

Eric M (1):
      Added 'Select Current' option when user is prompted to select main scene after clicking play

Faymoon (1):
      Let thread func have optional parameter

Gilles Roudiere (1):
      Adds a pressed signal to ButtonGroup

Gromph (1):
      UWP: Keep upstream names for capabilities preset settings to avoid mismatch

Hendrik Brucker (1):
      Add elapsed time print statement to build system

Jason Knight (1):
      Emit button_up signal after setting pressed to false.

Jean-Michel Bernard (1):
      3.2 - Fix Tween.is_active() always true after stop() and then start()

JestemStefan (1):
      Added signed_angle_to for Vector3

John Wigg (1):
      Fix normals of PrismMesh

Jordan Schidlowsky (1):
      make 2d constraint solving more deterministic by solving in push order

Koala (1):
      Fix indent left line selection

Kongfa Waroros (1):
      New icons for Gradient and GradientTexture resources

Leonardo Christino (1):
      Make GraphNode handle children with EXPAND flag

Levi Lindsey (1):
      Update File.store_var description to mention which properties of an object are included.

Lynx (1):
      Fix not updating fonts when parent theme changes

Maganty Rushyendra (1):
      Fix AudioServer Crash when bus count equals 0

Marcus Brummer (1):
      Fixed build with SCRIPT_AES256_ENCRYPTION_KEY set

Marvin Ewald (1):
      Allow warning-ignore in same line

Nathan Franke (1):
      Collapse Resource Preview Properly

Nathaniel Morihara (1):
      Exporting: Android Debug Keystore Warnings

Pasi Nuutinmaki (1):
      Fix area calculation of Face3

Philip Whitfield (1):
      fix url parsing with port numbers

Pitanov V.V (1):
      Fix GridMap erase Octans

R. Alex Hofer (1):
      Handle having no sinks in the PulseAudio driver.

Ranie Jade Ramiso (1):
      Fix gdnative api generation for methods that return enums

RaphaelHunter (1):
      Fix OpenSimplexNoise get_image() swap axes

Rhathe (1):
      Enable setting of collision iterations in Physics2DServer

Ricard Rovira (1):
      Use unused from in local vector find function.

Ricardo Maes (1):
      Fix render target textures not allowing repeat flag

RoniPerson (1):
      Added documentation to some `add_*_plugin` methods

Shatur95 (1):
      Move duplicated code into a function

Silc 'Tokage' Renew (1):
      fix unintentional object rotation by animation tree

Sonoracpp (1):
      Disable GIProbe emission when disabled on a material

Sushi (1):
      Fix: Selection Only in Find/Replace now preserves selection

TaskManagerCZ (1):
      Explicit error message when setting active a Viewport that is already active.

Thakee Nathees (1):
      Windows error logs directed to stderr

Thomas ten Cate (1):
      Add OpenSimplexNoise output change to changelog

Umang Kalra (1):
      Fixes missing descriptions in search window of visualscript

Vaughan Ling (1):
      Add iOS Apple Pencil pressure

Zak Stam (1):
      Allow multiple editor instances to use different ports

amor (1):
      Fixed inspector not updating anchor

asheraryam (1):
      Create bindings for creating multiple-convex-collision static bodies from gdscript

azagaya (1):
      Fix vertical slider grabber_area height calculation

besh81 (1):
      Fixed bug in tab_container with hidden tabs

bowling-allie (1):
      Fixes BlendSpace2D BLEND_MODE_DISCRETE_CARRY. When BlendSpace2D switches animations, it will now correctly calculate the previous animation position and length and apply is to the new animation.

daniel-mcclintock (1):
      Fix out of sync separate distraction-free mode

davidh (1):
      Check for valid DynamicFontData before duplicate

hilfazer (1):
      Support for duplication of nested instanced scenes

llschuster (1):
      text-editor: fix Clicking warning doesn't center around line

lupoDharkael (1):
      Save resource: implement extension priority

megalobyte (1):
      Fix previous search for built-in-docs

miere43 (1):
      Replace backslash with forward slash in OS_Windows path methods

nobuyuki_nyuu (1):
      Bind CanvasItemEditor::_zoom_on_position and CanvasItemEditor::get_state to ClassDB

phil-shenk (1):
      added _change_notify in Control::set_scale to fix iss48936

skyace65 (1):
      Improve SpriteFrames get_animation_loop description

smix8 (1):
      Add SkeletonIK function documentation

univeous (1):
      allow input echo when changing ui focus

uuuuuup (1):
      fix 3D scene not rendered on GLES3 HTML5 export

voxelv (1):
      Avoid using a nullptr root in Tree._range_click_timeout().

I wonder if https://github.com/godotengine/godot/pull/42543 is related.

clayjohn commented 2 years ago

This isn't a bug, this is just how Gouraund shading looks on objects with specular reflections.

For example, take a look at this figure from the wikipedia page on Gouraund shading

https://en.wikipedia.org/wiki/Gouraud_shading#/media/File:Gouraud_low_anim.gif

https://github.com/godotengine/godot/pull/42543 indeed exposed this as previously, when force vertex shading was enabled all objects had a roughness of 1.0 and it could not be changed.

akien-mga commented 2 years ago

Fixed by #59715.