Kiri Jolly
459cab99f4
Fixed unbounded dual-paraboloid shadow map culling.
...
Dual paraboloid shadowmaps were ending up with infinitely large volumes of area behind the hemisphere un-culled.
This change just adds a back plane to the convex shape used for the culling volume.
2020-04-29 19:24:43 -07:00
Rémi Verschelde
58435b0c91
Merge pull request #20371 from aaronfranke/vector-lerp
...
[Core] [Mono] [GDNative] Rename "linear_interpolate" methods to "lerp"
2020-04-29 15:50:00 +02:00
Rémi Verschelde
1d45a269f8
Merge pull request #38302 from qarmin/format_set
...
RasterizerStorageRD: Don't override format value
2020-04-29 14:16:52 +02:00
Aaron Franke
540156b387
[Core] Rename linear_interpolate to lerp
2020-04-29 04:02:49 -04:00
Rémi Verschelde
0bf6a86db4
Merge pull request #37795 from Chaosus/shader_fix_const_order2
...
Fix shader constant sorting
2020-04-29 09:41:34 +02:00
qarmin
ad6bcea49d
Don't override format value
2020-04-28 18:51:17 +02:00
qarmin
0e9942a671
Fix copy paste array index bug
2020-04-28 18:26:57 +02:00
bruvzg
2bb119c088
Fix "redefinition of 'ssr' with a different type" shader compile error.
2020-04-23 13:56:04 +03:00
Ignacio Etcheverry
c5a721f58d
Fix missing DEFVAL for RenderingDevice.index_buffer_create
2020-04-22 16:52:04 +02:00
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
Juan Linietsky
49d0c6a5c9
Ability to create local RenderingDevice instances.
2020-04-18 21:47:17 -03: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
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
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
16ae2cc1bf
Add screen space AA option, with FXAA implementation.
2020-04-12 10:57:18 -03: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
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
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
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
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
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
clayjohn
be9235e499
Invert subpass cubemap z direction
2020-03-30 10:42:45 -07: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
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
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