Juan Linietsky
f8ef38efed
Add proper type to most public API uses of Array
2020-04-21 12:16:45 -03:00
Juan Linietsky
ae09b55a19
Exposed RenderingDevice to script API
...
Also added an easier way to load native GLSL shaders.
Extras:
Had to fix no-cache for subresources in resource loader, it was not properly working, making shaders not properly reload.
Note:
The precommit hooks are broken because they don't seem to support enums from one class being used in another.
Feel free to fix this after merging this PR.
2020-04-20 21:21:58 -03:00
Rémi Verschelde
2905367fed
Merge pull request #37970 from SkyLucilfer/ServerTypo
...
Correct typo mistake of profiler_add_frame_data argument in physics 3d server
2020-04-20 23:49:36 +02:00
Rémi Verschelde
9cf48b3e99
Merge pull request #38039 from akien-mga/docdata-skip-unexposed
...
DocData: Skip unexposed classes
2020-04-20 15:21:49 +02:00
Rémi Verschelde
0ef8bcac4d
DocData: Skip unexposed classes
...
Properly expose classes that we actually want accessible.
2020-04-20 12:51:10 +02:00
Rémi Verschelde
b7b46093d8
doc: Sync classref with current source
...
Add missing enum bindings.
2020-04-20 11:48:00 +02:00
Rémi Verschelde
088c2a0870
Merge pull request #37947 from clayjohn/DOCS-rendering-update
...
Update many docs with recent rendering changes
2020-04-20 11:16:12 +02:00
Juan Linietsky
49d0c6a5c9
Ability to create local RenderingDevice instances.
2020-04-18 21:47:17 -03:00
SkyJJ
0991cdc975
Correct typo mistake of profiler_add_frame_data argument in physics 3d server
2020-04-17 21:56:25 +02:00
clayjohn
b50d954cb0
Update many docs with recent rendering changes
2020-04-17 09:47:59 -07:00
Rémi Verschelde
17304f1aae
Merge pull request #37949 from reduz/implement-global-shader-uniforms
...
Implement global and per instance shader uniforms.
2020-04-17 18:36:06 +02:00
Rémi Verschelde
cfda0e3770
Merge pull request #37953 from clayjohn/VULKAN-sky-sun-size
...
Add light size to Sky Shaders
2020-04-17 18:35:45 +02:00
clayjohn
7cd2ff309c
Add light size to Sky Shaders
2020-04-17 09:32:24 -07:00
Juan Linietsky
0e1c66d9fc
Implement global and per instance shader uniforms.
...
Adds two keywords to shader language for uniforms:
-'global'
-'instance'
This allows them to reference values outside the material.
2020-04-17 12:35:41 -03:00
clayjohn
0ff929a926
Use sky properly for ambient and reflections
2020-04-16 23:45:30 -07:00
Rémi Verschelde
4f2c1feab5
Merge pull request #37869 from madmiraal/fix-36533
...
Assign zero to range when ConvexPolygonShape2D is empty.
2020-04-16 11:39:18 +02:00
clayjohn
61d86190e0
Fix texture check in decal setup
2020-04-15 12:06:02 -07:00
Juan Linietsky
6f293ed795
Add support for projectors in spot and omni lights.
2020-04-14 17:05:45 -03:00
Rémi Verschelde
5e5103f460
Merge pull request #37861 from reduz/implement-decals
...
Implement decals
2020-04-14 17:13:20 +02:00
Juan Linietsky
5944eb6e7f
Implement decals
...
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-14 11:13:34 -03:00
Marcel Admiraal
88d307df14
Assign zero to range when ConvexPolygonShape2D is empty.
2020-04-14 12:53:32 +01:00
Rémi Verschelde
e0eb9a8ae4
Merge pull request #37826 from nekomatata/direct-body-state-sleep
...
Fix set_sleep_state in Bullet body direct state
2020-04-14 12:53:20 +02:00
PouleyKetchoupp
30b184cb06
Fix set_sleep_state in Bullet body direct state
...
It was inverted, it should set the body to be active when sleep is disabled.
2020-04-14 11:39:34 +02:00
qarmin
88c0a9e3de
Fixes leak with CopyToFbShaderRD
2020-04-13 11:39:44 +02:00
Rémi Verschelde
06748a2b5f
Merge pull request #37749 from clayjohn/Vulkan-improved-ss
...
Add vogel filter and settings to soft shadows
2020-04-13 00:39:37 +02:00
Juan Linietsky
a57dc398db
Implement MSAA
2020-04-12 15:33:57 -03:00
Juan Linietsky
d160644c88
Merge pull request #37819 from reduz/implement-fxaa
...
Add screen space AA option, with FXAA implementation.
2020-04-12 11:46:14 -03:00
Juan Linietsky
16ae2cc1bf
Add screen space AA option, with FXAA implementation.
2020-04-12 10:57:18 -03:00
Rémi Verschelde
1846d33b5f
Merge pull request #37822 from nekomatata/rigid-body-force-pos
...
Fix add_force in Godot Physics RigidBody
2020-04-12 11:46:22 +02:00
PouleyKetchoupp
4a0d15f91c
Fix add_force in Godot Physics RigidBody
...
Now takes the center of mass into account for calculating the applied
torque, like apply_impulse does.
2020-04-12 11:20:32 +02:00
Juan Linietsky
9dc19f7619
Merge pull request #37808 from reduz/port-effects-to-compute
...
Moved most of the effect code to compute.
2020-04-11 23:38:05 -03:00
Juan Linietsky
d81911490b
Moved most of the effect code to compute.
...
Simplifies it and improves performance.
Improves image barrier handling per mipmap on RenderingDeviceVulkan
2020-04-11 19:44:07 -03:00
Rémi Verschelde
636d4bad99
Merge pull request #37794 from clayjohn/VULKAN-SSS-sky
...
Fix SSS affecting Sky
2020-04-11 16:30:51 +02:00
Yuri Roubinsky
bc30f541e6
Fix shader constant sorting
2020-04-11 12:40:17 +03:00
clayjohn
e3a9af2db1
Fix SSS affecting Sky
2020-04-11 01:20:24 -07:00
clayjohn
621f6f09a8
Add proper quality settings to soft shadows
2020-04-10 23:09:17 -07:00
Juan Linietsky
d06f8ef75a
Shows proper scene render time in editor info
...
Also fixed GPU profiler, which was not working on nvidia hardware.
2020-04-10 14:19:30 -03:00
Rémi Verschelde
1e5f0d402b
Merge pull request #37383 from WARIO-MDMA/godotphysics-rename
...
Rename "GodotPhysics" to "GodotPhysics{2D,3D}"
2020-04-10 12:39:26 +02:00
Rémi Verschelde
a152ef9a10
Merge pull request #37662 from qarmin/rasterizer_server_last
...
Free items before finishing rendering server
2020-04-10 11:50:13 +02:00
Rémi Verschelde
c2f0d58c36
Merge pull request #37722 from reduz/implement-softshadows
...
Support light size and soft shadows
2020-04-10 10:24:57 +02:00
Juan Linietsky
6a730ffeab
Support light size and soft shadows
2020-04-09 15:11:15 -03:00
Bastiaan Olij
afc8c6391c
Renaming all ARVR nodes to XR
2020-04-09 15:33:01 +10:00
Rémi Verschelde
23d786d6fb
Merge pull request #36919 from nekomatata/android-vulkan-rendering
...
Vulkan rendering support on Android
2020-04-09 00:16:26 +02:00
WARIO-MDMA
6d5c6ffbe0
Rename "GodotPhysics" to "GodotPhysics{2D,3D}"
2020-04-09 03:13:33 +10:00
Juan Linietsky
4ffc0d6b3f
Refactored shadowmapping.
...
- 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-08 11:19:43 -03:00
PouleyKetchoupp
e167af3737
Display Server support
2020-04-08 01:47:09 +02:00
Hugo Locurcio
bcaf853767
Tweak rendering quality property hint strings for consistency
...
- Include a performance indication for all hints, not just for
non-default values.
- Fix leading/trailing whitespace in some property hints.
2020-04-07 20:01:13 +02:00
qarmin
b5fd03fc36
Free items before finishing rendering server
2020-04-07 19:12:07 +02:00
qarmin
853f677c7e
Fixed leak with SpecularMergeShaderRD
2020-04-04 17:48:30 +02:00
Juan Linietsky
c54f80d35c
Re-implement subsurface scattering.
...
The size settings are more "just works", with default scale and depth scale
values that don't need much tweaking.
Additionally, a "skin" mode was added so skin looks better.
EDIT: Cleaned up SSR filter shader a bit.
2020-04-04 11:44:28 -03:00
Rémi Verschelde
aeb95ef006
Merge pull request #37438 from clayjohn/VULKAN-sky-invert
...
Invert Sky subpass cubemap z direction
2020-04-03 15:59:26 +02:00
Ignacio Etcheverry
27ddb27da8
Fix C# bindings after recent breaking changes
2020-04-03 01:38:48 +02:00
Rémi Verschelde
6a38ce1b31
Merge pull request #37512 from reduz/implement-ssr
...
Re-Added screen space reflection.
2020-04-02 17:17:27 +02:00
Juan Linietsky
87c658b304
Re-Added screen space reflection.
2020-04-02 11:25:21 -03:00
lupoDharkael
95a1400a2a
Replace NULL with nullptr
2020-04-02 13:38:00 +02:00
Rémi Verschelde
5f11e15571
Merge pull request #37504 from qarmin/out_of_bound_cursor
...
Fix array out of bounds access caused by uninitialised variables
2020-04-02 13:07:55 +02:00
Rafał Mikrut
359bebd8c0
Fix out of bound array access caused by unassigned variable
2020-04-01 19:29:35 +02:00
Rémi Verschelde
516b3bb88f
Fix Clang warnings on Windows
...
Fixes #37490 .
2020-04-01 16:28:20 +02:00
Rémi Verschelde
96e654335a
Merge pull request #37481 from ThakeeNathees/bind-method-typo
...
some typo in method binds fixed
2020-04-01 12:57:26 +02:00
Thakee Nathees
cb53b1d88e
some typo in method binds fixed
2020-04-01 14:01:18 +05:30
Rémi Verschelde
0a2fa4d892
Fix more -Wmaybe-uninitialized warnings with target=release_debug
...
I have no idea why those don't get triggered in target=debug builds.
Fixes #37461 .
2020-03-31 13:52:42 +02:00
Rémi Verschelde
e5033d3952
doc: Sync classref with DisplayServer/Window changes
2020-03-31 11:56:58 +02:00
Rémi Verschelde
f3c74afd28
Merge pull request #37436 from akien-mga/doc-node-renames
...
doc: Update classref with node renames
2020-03-30 20:32:11 +02:00
clayjohn
be9235e499
Invert subpass cubemap z direction
2020-03-30 10:42:45 -07:00
Rémi Verschelde
eaaee63b62
doc: Update classref with node renames
...
A few extra renames for classes which were missed in last week's PRs.
2020-03-30 18:23:02 +02:00
Juan Linietsky
89e1263117
Move glow upscale quality to a global setting, for consistency
2020-03-30 10:46:03 -03:00
Rémi Verschelde
cd4e46ee65
SCons: Format buildsystem files with psf/black
...
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-30 09:05:53 +02:00
Yuri Roubinsky
aa33db056a
Prevent shader crash if multiple variables has been declared in 'for'
2020-03-28 19:51:42 +03:00
Rémi Verschelde
3f7fa93179
Merge pull request #37362 from reduz/audioserver-memory-cleanup
...
Remove the audio memory allocator, use regular one instead.
2020-03-28 15:49:48 +01:00
Rémi Verschelde
60d486acc8
Fix copyright headers for recently added files
2020-03-28 13:29:29 +01:00
Rémi Verschelde
0c320a6bf3
More server renames for consistency after #37361
2020-03-28 13:20:48 +01:00
Juan Linietsky
16245f2c29
Remove the audio memory allocator, use regular one instead.
2020-03-27 20:36:43 -03:00
Juan Linietsky
a6f3bc7c69
Renaming of servers for coherency.
...
VisualServer -> RenderingServer
PhysicsServer -> PhysicsServer3D
Physics2DServer -> PhysicsServer2D
NavigationServer -> NavigationServer3D
Navigation2DServer -> NavigationServer2D
Also renamed corresponding files.
2020-03-27 15:21:27 -03:00
Juan Linietsky
307b1b3a58
Merge pull request #37340 from reduz/rename-3d-nodes
...
Make 2D and 3D node names more explicit
2020-03-27 13:47:15 -03:00
Rémi Verschelde
d1acbbce7f
Rename more 2D and 3D nodes to follow convention
...
Rename editor plugins to match the new node names.
2020-03-27 16:26:34 +01:00
Rémi Verschelde
f48aeeeeef
Merge pull request #37347 from akien-mga/displayserver-fix-create-func
...
DisplayServer: Fix registration of GetRenderingDriversFunction
2020-03-27 15:51:29 +01:00
Juan Linietsky
eaae4b6408
Renamed 2D and 3D nodes to make their types explicit
...
Fixes #30736 .
2020-03-27 14:54:04 +01:00
Rémi Verschelde
f725bd99f4
Fix some -Wmaybe-uninitialized warnings
...
Namely:
```
modules/basis_universal/register_types.cpp: In function 'Ref<Image> basis_universal_unpacker(const Vector<unsigned char>&)':
modules/basis_universal/register_types.cpp:266:15: warning: 'imgfmt' may be used uninitialized in this function [-Wmaybe-uninitialized]
266 | image->create(info.m_width, info.m_height, info.m_total_levels > 1, imgfmt, gpudata);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
modules/basis_universal/register_types.cpp:255:39: warning: 'format' may be used uninitialized in this function [-Wmaybe-uninitialized]
255 | bool ret = tr.transcode_image_level(ptr, size, 0, i, dst + ofs, level.m_total_blocks - i, format);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
```
servers/visual_server.cpp: In member function 'Error VisualServer::_surface_set_data(Array, uint32_t, uint32_t*, uint32_t, Vector<unsigned char>&, int, Vector<unsigned char>&, int, AABB&, Vector<AABB>&)':
servers/visual_server.cpp:636:15: warning: 'iw' may be used uninitialized in this function [-Wmaybe-uninitialized]
636 | copymem(&iw[i * 2], &v, 2);
| ^
```
```
core/image.cpp: In member function 'Error Image::generate_mipmap_roughness(Image::RoughnessChannel, const Ref<Image>&)':
core/image.cpp:1683:11: warning: 'roughness' may be used uninitialized in this function [-Wmaybe-uninitialized]
1683 | float roughness;
| ^~~~~~~~~
```
2020-03-27 14:33:06 +01:00
Martin Liska
c554677c95
Fix various -Wmaybe-uninitialized ( #37352 ).
2020-03-27 13:57:20 +01:00
Rémi Verschelde
fe3566e190
DisplayServer: Fix registration of GetRenderingDriversFunction
...
Also improve `--help` output.
2020-03-27 11:07:32 +01:00
bruvzg
15a9f94346
Add macOS DisplayServer implementation.
...
Change global menu to use Callable, add support for check items and submenus.
2020-03-26 16:24:05 +01:00
Juan Linietsky
197cb4e771
Fixes to X11, still pretty broken
2020-03-26 15:50:00 +01:00
Juan Linietsky
9a5d15a2dc
Implemented drag and drop across windows, both OS and embedded.
2020-03-26 15:49:46 +01:00
Juan Linietsky
047e0b7de5
Reworked tooltips to use the popup system.
2020-03-26 15:49:45 +01:00
Juan Linietsky
b3080bc2f4
Popups have also been converted to windows
...
Controls using the old modal API have been replaced to use popups.
2020-03-26 15:49:44 +01:00
Juan Linietsky
c7b4dcae2f
Open sub-windows as embedded if the OS does not support them
2020-03-26 15:49:43 +01:00
Juan Linietsky
543fb1c4da
Separate DisplayServer from OS on Windows
2020-03-26 15:49:41 +01:00
Juan Linietsky
f51fdc6eef
Support for transient windows
2020-03-26 15:49:39 +01:00
Juan Linietsky
8e6960a69e
Refactored input, goes all via windows now.
...
Also renamed Input to InputFilter because all it does is filter events.
2020-03-26 15:49:39 +01:00
Juan Linietsky
9e08742de8
Added a Window node, and made it the scene root.
...
Still a lot of work to do.
2020-03-26 15:49:38 +01:00
Juan Linietsky
f8a79a97c7
Effective DisplayServer separation, rename X11 -> LinuxBSD
2020-03-26 15:49:34 +01:00
Juan Linietsky
4396e98834
Refactored Input, create DisplayServer and DisplayServerX11
2020-03-26 15:49:32 +01:00
bruvzg
1ee27a6d9f
Rename conflicting variable to fix MoltenVK shader compilation.
2020-03-26 09:02:36 +02:00
Rémi Verschelde
641c85a54f
Merge pull request #37268 from clayjohn/VULKAN-sky-color
...
Replace subpass textures with color in sky shader
2020-03-24 19:22:55 +01:00
clayjohn
61c67cd5e1
Replace subpass textures with color in sky shader
2020-03-24 10:11:00 -07:00
Rémi Verschelde
9d24541597
Remove unused classes and stray headers
...
Found by reviewing headers with 1 or less matching includes:
```
find -name thirdparty -prune -o -name "*.h" -exec basename {} \; | sort -u > headers
for header in $(cat headers); do echo "$header: "; rg -l "#include \"(.*/)?$header\"" | wc -l; done > list-includes
```
2020-03-24 09:50:51 +01:00
Rémi Verschelde
ed9a0d0484
Merge pull request #37179 from clayjohn/VULKAN-sky-shader
...
Implement Sky Shaders
2020-03-22 20:03:35 +01:00
clayjohn
61a74739ca
Working sky shader implementation
2020-03-21 20:43:44 -07:00
Aaron Franke
7dbe8b65ae
Make file formatting comply with POSIX and Unix standards
...
UTF-8, LF, no BOM, and newlines at the end of files
2020-03-21 17:41:03 -04:00
Yuri Roubinsky
50729e4e35
Fix incorrect shader block parsing
2020-03-20 17:24:00 +03:00