Rémi Verschelde
d05c7da1aa
Merge pull request #42949 from DavidSichma/shaderglobals
...
Shader globals bugfixes
2020-10-22 09:53:49 +02:00
clayjohn
6299575250
Add sky_only setting to DirectionalLight3Ds
2020-10-21 23:28:08 -07:00
Yuri Roubinsky
433183147e
Fix textureSize & texelFetch shader compilation errors
2020-10-21 17:45:40 +03:00
David Sichma
5d33cd94c8
Shader globals bugfixes
...
- shader globals editor displays properties correctly
- fixed some errors how globals were transferred
2020-10-21 01:34:25 +02:00
Hugo Locurcio
195540ab90
Remove unused #define
from the tonemap shader
...
It was a leftover from an earlier version of the debanding PR
which used a simpler (but less effective) algorithm.
2020-10-20 19:59:50 +02:00
Rémi Verschelde
7d4921db1a
Merge pull request #42915 from Yetizone/negative_lights_behavior
...
tonemap.glsl: Ensure color parameter of tonemap_reinhard() is positive
2020-10-19 23:50:49 +02:00
Rémi Verschelde
cf3a4cb091
Merge pull request #42913 from Calinou/debanding-fix-brightness
...
Fix debanding slightly brightening the whole viewport
2020-10-19 23:18:24 +02:00
Yetizone
ffc4151f29
tonemap.glsl: Ensure color parameter of tonemap_reinhard() is positive
...
Color values can become negative in the case of negative lights which
leads to undesired behaviour.
2020-10-20 00:08:44 +03:00
Hugo Locurcio
15d033e25f
Fix debanding slightly brightening the whole viewport
...
Thanks to Mikkel Gjoel on Twitter for the tip :)
2020-10-19 22:53:28 +02:00
reduz
dd0b097e44
Fix invalid buffer updates in SDFGI
2020-10-19 17:39:09 -03:00
Juan Linietsky
5d120f9ffb
Merge pull request #42046 from Chaosus/fix_default_texture
...
Fix setting the default texture to shader
2020-10-19 15:50:21 -03:00
Juan Linietsky
85ebf40b6c
Merge pull request #38097 from Calinou/add-viewport-debanding
...
Add a debanding property to Viewport
2020-10-19 14:15:44 -03:00
Juan Linietsky
53d5a252bb
Revert "Replace SAO implementation with MSSAO"
2020-10-18 19:27:51 -03:00
Juan Linietsky
d98261ab8f
Merge pull request #42077 from clayjohn/MSSAO
...
Replace SAO implementation with MSSAO
2020-10-18 18:34:43 -03:00
Juan Linietsky
6e5f137c01
Merge pull request #41415 from clayjohn/VULKAN-shader-overrides
...
Add FOG, RADIANCE, and IRRADIANCE shader overrides
2020-10-18 18:33:41 -03:00
Juan Linietsky
e799a2ba45
Merge pull request #42201 from clayjohn/Vulkan-new-glow
...
Optimize Glow with local memory
2020-10-18 18:32:36 -03:00
clayjohn
366ee46774
Replace SAO implementation with MSSAO
2020-10-18 13:15:51 -07:00
clayjohn
f46932feab
Add FOG, RADIANCE, and IRRADIANCE shader overrides
2020-10-18 12:06:51 -07:00
Yuri Roubinsky
d0f85b9321
Fix setting the default texture to shader
2020-10-18 21:59:37 +03:00
clayjohn
63a34b93aa
Optimize Glow with local memory
2020-10-18 11:37:12 -07:00
Juan Linietsky
4467412c9f
Merge pull request #38949 from puchik/ssr-fix-cutoff
...
Continue tracing screen space reflection after encountering sky
2020-10-18 14:45:33 -03:00
Rémi Verschelde
d9e5c355e5
Merge pull request #41418 from clayjohn/Vulkan-aerial
...
Add aerial perspective to fixed fog
2020-10-18 17:32:19 +02:00
reduz
ee06a70ea6
Refactor MethodBind to use variadic templates
...
Removed make_binders and the old style generated binders.
2020-10-18 12:28:44 +02:00
clayjohn
8c21c26fb5
Add aerial perspective to fixed fog
2020-10-17 10:53:07 -07:00
Hugo Locurcio
4357506e64
Fix "fixed" fog drawing in front of volumetric fog with a sky background
...
This closes #42820 .
Co-authored-by: Clay John <claynjohn@gmail.com>
2020-10-15 21:59:08 +02:00
Yuri Roubinsky
1dbfd4c3e8
Merge pull request #42763 from Chaosus/shader_emit_autocompletion
...
Fix autocompletion for emit_particle in shader editor
2020-10-13 16:01:37 +03:00
Yuri Roubinsky
6914597026
FIx autocompletion for emit_particle in shader editor
2020-10-13 14:12:51 +03:00
Rafał Mikrut
84a1817a75
Fixes leaks with shader and material
2020-10-12 18:06:47 +02:00
unknown
1d3aec4230
Free a SortShader and a ParticlesCopyShader
2020-10-12 13:25:24 +05:30
reduz
26f5bd245c
Implement GPU Particle Collisions
...
-Sphere Attractor
-Box Attractor
-Vector Field
-Sphere Collider
-Box Collider
-Baked SDF Collider
-Heightmap Collider
2020-10-09 13:25:47 -03:00
Rémi Verschelde
e9ff08692c
Merge pull request #42548 from pezcode/lights-metallic
...
Add METALLIC to light() built-ins
2020-10-09 14:41:53 +02:00
clayjohn
bde2f9b46b
Return proper texture view format for decals
2020-10-03 22:56:00 -07:00
Pablo Escobar
1300fc7307
Add METALLIC to light() built-ins
2020-10-04 04:16:16 +02:00
John Pennycook
8d3afa985b
Make YSort stable
...
Keeps track of the order in which items are collected by
_collect_ysort_children, and uses that order to break
ties between items with similar Y positions.
2020-09-27 10:58:54 -07:00
Yuri Roubinsky
53740c69df
Forbids varying declaration in particles and sky shaders
2020-09-22 10:35:52 +03:00
Rémi Verschelde
3e78963bb9
Fix typos with codespell
...
Using codespell 1.17.1.
Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2020-09-18 13:44:25 +02:00
Haoyu Qiu
38147da819
Fixes crash when saving scene
2020-09-13 16:15:46 +08:00
Lyuma
2f888d2987
Fix ATTENUATION and implement SHADOW_ATTENUATION.
2020-09-10 15:45:56 -07:00
clayjohn
fbff7d424b
Set repeat in all 3 dimensions in 3d textures
2020-09-09 17:59:51 -07:00
reduz
a674da4eec
Implement 3D textures as import and resource format.
2020-09-09 13:50:21 -03:00
Marcel Admiraal
08bedf68ff
Clarify comparison precedence when enabling or disabling back buffer.
2020-09-07 11:00:00 +01:00
Rémi Verschelde
53d83c4575
Merge pull request #41781 from AnilBK/fix-typo
...
Fixed Some typos.
2020-09-07 08:31:51 +02:00
reduz
d0bddf53c5
Implement manual particle emission and particle sub emitters.
2020-09-06 10:29:27 -03:00
Yuri Roubinsky
b1351fe781
Fix crash regression in the shader function validation
...
introduced in #41780
2020-09-05 13:49:50 +03:00
Yuri Roubinsky
ab9978697e
Improve messages in shader function validation
2020-09-05 13:19:38 +03:00
Anilforextra
5705e0d309
Fixed Some typos.
2020-09-05 14:31:56 +05:45
Rémi Verschelde
6a03aed5a4
Merge pull request #40958 from clayjohn/VULKAN-shadow-noise
...
Improve the quick hash function for all GPUs
2020-09-04 10:53:01 +02:00
bruvzg
80b8eff6aa
[Complex Test Layouts] Change String
to use UTF-32 encoding on all platforms.
2020-09-03 19:56:24 +03:00
Yuri Roubinsky
2a00c868de
Fix particles shader to use built-ins
2020-09-02 22:54:41 +03:00
Juan Linietsky
f5f27bacdb
Re-Implement GPU particles on master.
...
-No new features yet
-Unlike godot 3.x, sorting happens using GPU
2020-09-02 21:37:11 +02:00
Rémi Verschelde
23ce1dbfd5
Merge pull request #41668 from clayjohn/GLOW-HQ
...
Add high quality glow mode
2020-09-01 21:04:07 +02:00
JFonS
8ab510a130
Fix typo in SDF jumpflood shader
2020-09-01 14:40:59 +02:00
clayjohn
8da3c739bf
Add high quality glow mode
2020-08-31 23:16:41 -07:00
clayjohn
d069cc9cf2
Fix recent glow regressions
2020-08-29 11:27:43 -07:00
Yetizone
118a7bc53f
rasterizer_rd.cpp: Correct small typo
2020-08-27 12:44:18 +03:00
clayjohn
9d341acf2d
Add fog to sky shaders
2020-08-19 22:58:14 -07:00
Hugo Locurcio
8891579068
Add a debanding property to Viewport
...
It can be enabled in the Project Settings
(`rendering/quality/screen_filters/use_debanding`). It's disabled
by default as it has a small performance impact and can make
PNG screenshots much larger (due to how dithering works).
It will also slightly brighten the scene's dark areas.
As a result, it should be enabled only when banding is noticeable enough.
This closes #17006 .
2020-08-14 23:12:33 +02:00
Juan Linietsky
6a5ecfdef1
Restored fog (non volumetric).
...
Uses a simpler and more intuitive implementation based on density.
Its less flexible than before, but its easier to get nice results.
2020-08-13 22:09:22 -03:00
Juan Linietsky
079ca220e1
Added volumetric fog effect.
2020-08-13 11:28:45 -03:00
clayjohn
cf07a58a5f
Improve the quick hash function for all GPUs
2020-08-01 17:48:40 -07:00
Brian Semrau
63dfe79fbe
Fixed next_pass materials not being drawn
2020-07-28 10:51:41 -04:00
Aaron Franke
56e2c6c704
Make all String float conversion methods be 64-bit
2020-07-27 18:38:53 -04:00
Juan Linietsky
acf32e87d5
Fixes RenderingServer crashes reported by #39951
...
Supersedes #40026
2020-07-23 07:58:23 -03:00
Juan Linietsky
ee7c98da7c
Refactor light clustering
...
Move from high end to shared, so all renderers use clustering.
2020-07-22 20:39:51 -03:00
Rémi Verschelde
a5fb445121
Merge pull request #40450 from asmaloney/spelling
...
Fix spelling & grammar in comments, docs, and messages
2020-07-21 22:14:04 +02:00
Andy Maloney
4dda62f591
Fix spelling & grammar in comments, docs, and messages
2020-07-21 15:17:23 -04:00
Andy Maloney
8b949918b1
Fix spelling of a var, a struct, and message output
2020-07-17 12:02:06 -04:00
Yuri Roubinsky
01950553f2
Fix some incorrect conversions which lead to crash in shaders
2020-07-14 21:04:12 +03:00
Rémi Verschelde
9678a41b19
Merge pull request #40272 from clayjohn/VULKAN-time-slicing
...
Add incremental update mode to sky
2020-07-11 10:00:39 +02:00
clayjohn
a54f93c169
Add incremental update mode to sky
2020-07-11 00:10:15 -07:00
Yuri Roubinsky
3eeb272b2e
Enables 'fma' for GLES2
2020-07-10 22:21:22 +03:00
Yuri Roubinsky
ecb5f7ea23
Added 'fma' function to shader language
2020-07-10 19:58:03 +03:00
Rémi Verschelde
9000e59650
Merge pull request #40016 from akien-mga/environment-code-cleanup
...
Environment: Refactor code for readability + more
2020-07-01 16:28:48 +02:00
Rémi Verschelde
a8a2769bb6
Merge pull request #38713 from aaronfranke/string-64bit
...
Make all String integer conversion methods be 64-bit
2020-07-01 16:01:05 +02:00
Rémi Verschelde
372136fe75
Environment: Refactor code for readability + more
...
- Makes all boolean setters/getters consistent.
- Fixes bug where `glow_hdr_bleed_scale` was not used.
- Split CameraEffects to their own source file.
- Reorder all Environment method and properties declarations,
definitions and bindings to be consistent with each other
and with the order of property bindings.
- Bind missing enum values added with SDFGI.
- Remove unused SDFGI enhance_ssr boolean.
- Sync doc changes after SDFGI merge and other misc changes.
2020-07-01 14:44:45 +02:00
Yuri Roubinsky
c554d9e556
Added const qualifier support for function arguments in shaders
2020-07-01 12:55:00 +03:00
Ignacio Etcheverry
7c3ff85c71
Fix missing DEFVAL in RenderingDevice.storage_buffer_create
2020-06-29 17:13:09 +02:00
Juan Linietsky
b1aa24ea3c
Slight occlusion improvements.
2020-06-28 09:11:21 -03:00
Rémi Verschelde
ff0583770a
Merge pull request #39869 from Chaosus/shader_fix_return
...
Prevents usage of return in main shader functions
2020-06-27 17:03:42 +02:00
Yuri Roubinsky
2ce77e4b57
Prevents usage of return in main shader functions
2020-06-27 17:36:45 +03:00
qarmin
997d367b51
Fixes recently introduced shader leaks
2020-06-27 15:08:20 +02:00
Juan Linietsky
201d606b3d
Addition of SDFGI for open world global illumination
...
Move GI to a deferred pass
2020-06-26 11:06:48 -03:00
Yuri Roubinsky
b6ca9536f2
Fix few places in shaders where const passing still incorrect
2020-06-25 10:40:19 +03:00
Yuri Roubinsky
636a9d9f50
Implemented global const array to shaders
2020-06-19 16:04:54 +03:00
jfons
af3f9a854e
Minor fix on GLSL shader parser
2020-06-06 19:53:16 +02:00
Yuri Roubinsky
1a7e101324
Fix shader's length() function parsing in expressions
2020-06-03 19:39:48 +03:00
Aaron Franke
e5ae89775a
Remove 32-bit String hex_to_int method
2020-06-03 00:03:34 -04:00
lawnjelly
61b3eb3b28
Light2D shadow mask construction fix
...
When using the default setting (layer 1 set only) nothing is stored in the tscn file for a Light2D, hence it relies on the value in the constructor.
The problem is the constructed value is 1 in Light2D, and -1 in RasterizerCanvas::Light. -1 results in all bits being set so all occluders are shown, rather than just those in layer 1.
This PR changes Rasterizer::Canvas constructor to set to 1. An alternative is to have -1 as the value for layer 1 throughout.
(cherry picked from commit bf54fa5a62
)
2020-06-02 10:37:01 +02:00
Andrii Doroshenko (Xrayez)
69d5de632e
Split Geometry
singleton into Geometry2D
and Geometry3D
...
Extra `_2d` suffixes are removed from 2D methods accoringly.
2020-05-27 14:28:34 +03:00
Arman
48a59e6c4a
Continue tracing screen space reflection after encountering sky
...
Instead of breaking the whole trace when encountering the sky/camera far clip, continue tracing and check if "hits" are sky/far clip or not. Prevents some objects not being reflected due to gaps.
2020-05-22 00:12:42 -07:00
Rémi Verschelde
c74d65cec8
GLSL: Change shader type specifier from [vertex] to #[vertex]
...
The added `#` prevents clang-format from misinterpreting the meaning
of this statement and thus messing up the formatting of the next
lines up until the first `layout` statement.
Similarly, a semicolon is now enforced on `versions` defines to
prevent clang-format from messing up formatting and putting them
all on a single line. Note: In its current state the code will
ignore chained statements on a single line separated by a semicolon.
Also removed some extraneous lines missed in previous style changes
or added by mistake with said changes (e.g. after uniform definitions
that clang-format messes up somewhat too, but we live with it).
2020-05-18 10:58:14 +02:00
Rémi Verschelde
0ee0fa42e6
Style: Enforce braces around if blocks and loops
...
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14 21:57:34 +02:00
Rémi Verschelde
07bc4e2f96
Style: Enforce separation line between function definitions
...
I couldn't find a tool that enforces it, so I went the manual route:
```
find -name "thirdparty" -prune \
-o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \
-o -name "*.glsl" > files
perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files)
misc/scripts/fix_style.sh -c
```
This adds a newline after all `}` on the first column, unless they
are followed by `#` (typically `#endif`). This leads to having lots
of places with two lines between function/class definitions, but
clang-format then fixes it as we enforce max one line of separation.
This doesn't fix potential occurrences of function definitions which
are indented (e.g. for a helper class defined in a .cpp), but it's
better than nothing. Also can't be made to run easily on CI/hooks so
we'll have to be careful with new code.
Part of #33027 .
2020-05-14 16:54:55 +02:00
Rémi Verschelde
0be6d925dc
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
...
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.
This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.
There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).
Part of #33027 .
2020-05-14 16:54:55 +02:00
Rémi Verschelde
dcd1151d77
Enforce use of bool literals instead of integers
...
Using clang-tidy's `modernize-use-bool-literals`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-bool-literals.html
2020-05-14 13:45:01 +02:00
Rémi Verschelde
1a8167867b
Modernize remaining uses of 0/NULL instead of nullptr (C++11)
...
Using clang-tidy's `modernize-use-nullptr`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2020-05-14 13:45:01 +02:00
Rémi Verschelde
1f6f364a56
Port member initialization from constructor to declaration (C++11)
...
Using `clang-tidy`'s `modernize-use-default-member-init` check and
manual review of the changes, and some extra manual changes that
`clang-tidy` failed to do.
Also went manually through all of `core` to find occurrences that
`clang-tidy` couldn't handle, especially all initializations done
in a constructor without using initializer lists.
2020-05-14 10:01:56 +02:00
qarmin
d27f640a32
Fixes memory leak with lightmap part 2
2020-05-12 10:11:17 +02:00
qarmin
84867275bb
Fix memory leak with light maps
2020-05-11 21:04:39 +02:00
Juan Linietsky
1bea8e1eac
New lightmapper
...
-Added LocalVector (needed it)
-Added stb_rect_pack (It's pretty cool, we could probably use it for other stuff too)
-Fixes and changes all around the place
-Added library for 128 bits fixed point (required for Delaunay3D)
2020-05-10 15:59:09 -03:00