Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-12-15 | Fix shader array parsing in variable declaration | Yuri Roubinsky | |
2021-12-15 | Merge pull request #55903 from Chaosus/shader_struct | Rémi Verschelde | |
2021-12-15 | Merge pull request #55913 from Chaosus/fix_shader_crash | Rémi Verschelde | |
2021-12-15 | Rename shader hint `filter_aniso` to `filter_anisotropy` | Yuri Roubinsky | |
2021-12-13 | Fix shader crash when assigned array from struct to a variable by index | Yuri Roubinsky | |
2021-12-13 | Allow declaring multiple members in one expression in shader structs | Yuri Roubinsky | |
2021-12-11 | Restore shader parsing errors with lack of semicolon in a block | Yuri Roubinsky | |
2021-12-10 | Merge pull request #55736 from nekomatata/physics-apply-forces | Camille Mohr-Daurat | |
Improve RigidDynamicBody force and torque API | |||
2021-12-10 | Merge pull request #55773 from nekomatata/fix-raycast-ccd | Camille Mohr-Daurat | |
Fix rigid body ray cast CCD in 2D and 3D Godot Physics | |||
2021-12-10 | Fix rigid body ray cast CCD in 2D and 3D Godot Physics | PouleyKetchoupp | |
For 2D: Raycast CCD now works the same as in 3D, it changes the body's velocity to place it at the impact position instead of generating a contact point that causes a wrong push back. For both 2D and 3D: The raycast CCD process reads and modifies body velocities, so it needs to be moved to pre_solve() instead of setup() to be processed linearly on the main thread, otherwise multithreading can cause some CCD results to be randomly lost when multiple collisions occur. | |||
2021-12-10 | Improve RigidDynamicBody force and torque API | PouleyKetchoupp | |
Makes the API for forces and impulses more flexible, easier to understand and harmonized between 2D and 3D. Rigid bodies now have 3 sets of methods for forces and impulses: -apply_impulse() for impulses (one-shot and time independent) -apply_force() for forces (time dependent) applied for the current step -add_constant_force() for forces that keeps being applied each step Also updated the documentation to clarify the different methods and parameters in rigid body nodes, body direct state and physics servers. | |||
2021-12-10 | Merge pull request #55702 from nekomatata/physics-solver-settings | Rémi Verschelde | |
2021-12-10 | Rename `hint_aniso` to `hint_anisotropy` in the shader language | Hugo Locurcio | |
The word "anisotropy" is used in full form in BaseMaterial3D's anisotropy-related properties. | |||
2021-12-10 | Merge pull request #55623 from Chaosus/shader_refactor_const_suffix | Yuri Roubinsky | |
2021-12-10 | Refactor constant suffix parsing in a shader | Yuri Roubinsky | |
2021-12-10 | Merge pull request #55762 from nekomatata/body-motion-no-margin | Rémi Verschelde | |
2021-12-10 | Merge pull request #55572 from aaronfranke/ci-double | Rémi Verschelde | |
2021-12-10 | Merge pull request #55763 from Chaosus/shader_hint_completion | Yuri Roubinsky | |
2021-12-10 | Merge pull request #43181 from nathanfranke/string-empty | Rémi Verschelde | |
Replace String comparisons with "", String() to is_empty() | |||
2021-12-10 | Added completion for uniform hints in a shader | Yuri Roubinsky | |
2021-12-09 | Handle test body motion with 0 margin | PouleyKetchoupp | |
Margin needs to have a high enough value for test body motion to work properly (separate using the margin, move without then gather rest info with the margin again). Fixes issues with test motion returning no collision in some cases with margin equal to 0. | |||
2021-12-09 | Merge pull request #55714 from Geometror/fix-fog-spotlight | Rémi Verschelde | |
2021-12-09 | Add a double-precision editor build to CI | Aaron Franke | |
2021-12-09 | Replace String comparisons with "", String() to is_empty() | Nathan Franke | |
Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings | |||
2021-12-09 | align to horizontal_alignment, valign to vertical_alignment, related | Nathan Franke | |
2021-12-08 | Fix volumetric fog in combination with spotlights | Hendrik Brucker | |
2021-12-08 | Make `compile` shader function to use struct instead long parameter list | Yuri Roubinsky | |
2021-12-07 | Add physics solver settings to project settings | PouleyKetchoupp | |
Helps with discovery and setup of physics solver settings, in a specific project settings section for both 2D and 3D. Other changes for cleanup: -Removed unused space parameters in 3D SPACE_PARAM_BODY_ANGULAR_VELOCITY_DAMP_RATIO SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS -Added custom solver bias for Shape3D (same as Shape2D) -Improved documentation for solver settings | |||
2021-12-07 | Merge pull request #35901 from nathanfranke/pool-byte-array-subarray-exclusive | Rémi Verschelde | |
2021-12-06 | Rename `VideoPlayer` to `VideoStreamPlayer` for consistency | Rémi Verschelde | |
It's a player for `VideoStream` resources, just like `AudioStreamPlayer` is a player for `AudioStream` resources. Closes https://github.com/godotengine/godot-proposals/issues/3624. | |||
2021-12-06 | Merge pull request #55602 from nekomatata/improve-rigidbody-contacts | Rémi Verschelde | |
2021-12-05 | Remove or make verbose some debugging prints | Hugo Locurcio | |
The message about SpatialMaterial conversion was turned into a warning, as it can potentially interfere with porting projects from Godot 3.x (if there's a bug in the conversion code). | |||
2021-12-03 | Update space parameters in 2D and 3D | PouleyKetchoupp | |
Clarified space parameters for contacts and added missing ones. List of changes: -Add contact bias to space parameters -Add solver iterations to space parameters, instead of a specific physics server function -Renamed BODY_MAX_ALLOWED_PENETRATION to CONTACT_MAX_ALLOWED_PENETRATION to make it consistent with other contact parameters | |||
2021-12-03 | Improve RigidDynamicBody contacts in 2D and 3D | PouleyKetchoupp | |
Changed the algorithm for solving contacts to keep previous contacts as long as they are under the max separation threshold to keep contact impulses more consistent and contacts more stable. Also made 2D consistent with 3D and changed some default parameters: -Contact bias is now 0.8 instead of 0.3 to avoid springy contacts -Solver iterations are 16 instead of 8 by default for better stability Performance considerations: Tested with stress tests that include lots of contacts from overlapping bodies. 3D: There's no measurable difference in performance. 2D: Performance is a bit lower (close to 10% slower in extreme cases) The benefit for 2D physics to be much more stable outweighs the slight decrease in performance, and this could be alleviated by changing the algorithm to use jacobians for contact solving to help with cache efficiency and memory allocations. | |||
2021-12-03 | Fix `^=` operator in shaders | Yuri Roubinsky | |
2021-12-02 | Merge pull request #55474 from akien-mga/copy-operators-no-reference | Rémi Verschelde | |
2021-12-02 | Merge pull request #53904 from ↵ | Rémi Verschelde | |
ChristopheClaustre/bugfix_shader_compile_spirv_from_source | |||
2021-12-02 | Merge pull request #55402 from TokageItLab/fixed-immediatemesh-minimum-aabb | Rémi Verschelde | |
Fixed minimum size of `AABB` in `ImmediateMesh` to draw only one vertex | |||
2021-12-02 | Fixed minimum size of aabb in ImmediateMesh to draw only one vertex | Silc 'Tokage' Renew | |
2021-12-01 | Fix shader crash when using existed constant name for struct | Yuri Roubinsky | |
2021-12-01 | Fix declaring array size twice in global shader constant | Yuri Roubinsky | |
2021-12-01 | Allow using empty statements in the shader, added formatting warning | Yuri Roubinsky | |
2021-11-30 | Merge pull request #55490 from Chaosus/fix_shader_crash | Rémi Verschelde | |
2021-11-30 | Merge pull request #55431 from Chaosus/shader_fix_constants | Rémi Verschelde | |
2021-11-30 | Fix shader crash when assigning array to non-array in global constant | Yuri Roubinsky | |
2021-11-30 | Don't return reference on copy assignment operators | Rémi Verschelde | |
We prefer to prevent using chained assignment (`T a = b = c = T();`) as this can lead to confusing code and subtle bugs. According to https://en.wikipedia.org/wiki/Assignment_operator_(C%2B%2B), C++ allows any arbitrary return type, so this is standard compliant. This could be re-assessed if/when we have an actual need for a behavior more akin to that of the C++ STL, for now this PR simply changes a handful of cases which were inconsistent with the rest of the codebase (`void` return type was already the most common case prior to this commit). | |||
2021-11-29 | Fix `INDEX` built-in in a process function of particle shader | Yuri Roubinsky | |
2021-11-29 | Fix built-in(PI, TAU, E) assignment to a global constant in a shader | Yuri Roubinsky | |
2021-11-26 | PackedByteArray, Array slice end exclusive, rename subarray to slice | Nathan Franke | |
2021-11-26 | Fix `TIME` using in custom functions of particle shader | Yuri Roubinsky | |