summaryrefslogtreecommitdiff
path: root/scene/3d
AgeCommit message (Collapse)Author
2020-04-14Merge pull request #37887 from reduz/implement-projectorsRémi Verschelde
Add support for projectors in spot and omni lights.
2020-04-14Add support for projectors in spot and omni lights.Juan Linietsky
2020-04-14Merge pull request #37316 from nekomatata/physical-bone-settingsRémi Verschelde
Add PhysicalBone rotation, damping, axis lock & can sleep
2020-04-14Merge pull request #37861 from reduz/implement-decalsRémi Verschelde
Implement decals
2020-04-14Implement decalsJuan Linietsky
Also implemented decal atlas, so projectors and other stuff can be added. Sidenote: Had to make RID hashable, so some unrelated includes changed in order to include it in hashfuncs.h
2020-04-14Add PhysicalBone rotation, damping, axis lock & can sleepPouleyKetchoupp
2020-04-13Handle huge offset values in Path2D and Path3D set_offsetMickeMakaron
2020-04-13Merge pull request #37749 from clayjohn/Vulkan-improved-ssRémi Verschelde
Add vogel filter and settings to soft shadows
2020-04-10Add proper quality settings to soft shadowsclayjohn
2020-04-10Merge pull request #37722 from reduz/implement-softshadowsRémi Verschelde
Support light size and soft shadows
2020-04-09Support light size and soft shadowsJuan Linietsky
2020-04-09Renaming all ARVR nodes to XRBastiaan Olij
2020-04-08Refactored shadowmapping.Juan Linietsky
- Made shadow bias size independent, so it will remain when changing light or camera size. - Implemented normal offset bias, which greatly enhances quality. - Added transmission to subsurface scattering - Reimplemented shadow filter modes Closes #17260
2020-04-02Replace more occurrences of NULL with nullptrRémi Verschelde
2020-04-02Replace NULL with nullptrlupoDharkael
2020-04-02Merge pull request #37504 from qarmin/out_of_bound_cursorRémi Verschelde
Fix array out of bounds access caused by uninitialised variables
2020-04-01Fix out of bound array access caused by unassigned variableRafał Mikrut
2020-03-30Add a method to retrieve active material from MeshInstanceclayjohn
2020-03-30Merge pull request #37436 from akien-mga/doc-node-renamesRémi Verschelde
doc: Update classref with node renames
2020-03-30Fix another batch of -Wmaybe-uninitialized warningsRémi Verschelde
And simplify code in CSGShape.
2020-03-30doc: Update classref with node renamesRémi Verschelde
A few extra renames for classes which were missed in last week's PRs.
2020-03-30SCons: Format buildsystem files with psf/blackRémi Verschelde
Configured for a max line length of 120 characters. psf/black is very opinionated and purposely doesn't leave much room for configuration. The output is mostly OK so that should be fine for us, but some things worth noting: - Manually wrapped strings will be reflowed, so by using a line length of 120 for the sake of preserving readability for our long command calls, it also means that some manually wrapped strings are back on the same line and should be manually merged again. - Code generators using string concatenation extensively look awful, since black puts each operand on a single line. We need to refactor these generators to use more pythonic string formatting, for which many options are available (`%`, `format` or f-strings). - CI checks and a pre-commit hook will be added to ensure that future buildsystem changes are well-formatted.
2020-03-28Fixed missed occurrences in #37361 renamings.dankan1890
2020-03-27Renaming of servers for coherency.Juan Linietsky
VisualServer -> RenderingServer PhysicsServer -> PhysicsServer3D Physics2DServer -> PhysicsServer2D NavigationServer -> NavigationServer3D Navigation2DServer -> NavigationServer2D Also renamed corresponding files.
2020-03-27Rename more 2D and 3D nodes to follow conventionRémi Verschelde
Rename editor plugins to match the new node names.
2020-03-27Fix build with disable_3d=yes, remove dependency on WorldEnvironmentRémi Verschelde
2020-03-27Renamed 2D and 3D nodes to make their types explicitJuan Linietsky
Fixes #30736.
2020-03-26Refactored input, goes all via windows now.Juan Linietsky
Also renamed Input to InputFilter because all it does is filter events.
2020-03-26Added a Window node, and made it the scene root.Juan Linietsky
Still a lot of work to do.
2020-03-26Effective DisplayServer separation, rename X11 -> LinuxBSDJuan Linietsky
2020-03-26Refactored Input, create DisplayServer and DisplayServerX11Juan Linietsky
2020-03-25Fix volume interpolation in positional audio nodesWaridley
Fixes #22016
2020-03-24Fixed IK rotation issueAndrea Catania
2020-03-20Merge pull request #37169 from AndreaCatania/AndreaCatania-patch-2Rémi Verschelde
Fixes navigation path reset
2020-03-19Fixes navigation path resetAndrea Catania
2020-03-17Fix visibility enabler flag togglingTomasz Chabora
2020-03-17Style: Set clang-format Standard to Cpp11Rémi Verschelde
For us, it practically only changes the fact that `A<A<int>>` is now used instead of the C++03 compatible `A<A<int> >`. Note: clang-format 10+ changed the `Standard` arguments to fully specified `c++11`, `c++14`, etc. versions, but we can't use `c++17` now if we want to preserve compatibility with clang-format 8 and 9. `Cpp11` is still supported as deprecated alias for `Latest`.
2020-03-08Complete NavigationMeshInstance renamelupoDharkael
2020-03-07ARVRController.is_button_pressed requires to return a booleanBastiaan Olij
2020-03-05Add a new configuration warning to CollisionShapePierre Caye
In the case where a ConcavePolygonShape is used as a shape for a RigidBody in another mode than static, a configuration warning will appear in the editor.
2020-02-28Merge pull request #36640 from reduz/resource-loader-refactorRémi Verschelde
Removed ResourceInteractiveLoader, add built-in threaded loading.
2020-02-28Removed interactive loader, added proper thread loading.Juan Linietsky
2020-02-28Signals: Port more uses of connect_compatRémi Verschelde
Those were problematic as they call a method of their parent class, but callable_mp does not allow that unless it's public. To solve it, we declare a local class that calls the parent class' method, which now needs to be protected to be accessible in the derived class.
2020-02-28Signals: Manually port most of remaining connect_compat usesRémi Verschelde
It's tedious work... Some can't be ported as they depend on private or protected methods of different classes, which is not supported by callable_mp (even if it's a class inherited by the current one).
2020-02-28Signals: Port connect calls to use callable_mpRémi Verschelde
Remove now unnecessary bindings of signal callbacks in the public API. There might be some false positives that need rebinding if they were meant to be public. No regular expressions were harmed in the making of this commit. (Nah, just kidding.)
2020-02-28Merge pull request #36388 from AndreaCatania/some_renamesRémi Verschelde
Rename Navigation{Mesh,Polygon}Instance and PlaneShape for clarity
2020-02-28Renamed NavigationPolygonInstance to NavigationRegion2DAndrea Catania
2020-02-27Renamed PlaneShape to WorldMarginShapeAndrea Catania
2020-02-27Renamed NavigationMeshInstance to NavigationRegionAndrea Catania
2020-02-26Reimplement Mutex with C++'s <mutex>Pedro J. Estébanez
Main: - It's now implemented thanks to `<mutex>`. No more platform-specific implementations. - `BinaryMutex` (non-recursive) is added, as an alternative for special cases. - Doesn't need allocation/deallocation anymore. It can live in the stack and be part of other classes. - Because of that, it's methods are now `const` and the inner mutex is `mutable` so it can be easily used in `const` contexts. - A no-op implementation is provided if `NO_THREADS` is defined. No more need to add `#ifdef NO_THREADS` just for this. - `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`. - Thread-safe utilities are therefore simpler now. Misc.: - `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same. - Every case of lock, do-something, unlock is replaced by `MutexLock` (complex cases where it's not straightfoward are kept as as explicit lock and unlock). - `ShaderRD` contained an `std::mutex`, which has been replaced by `Mutex`.