clayjohn
076908bed9
Environment brightness, contrast, saturation restore with color correction.
...
Allow gradients and 2d images.
Use shader versions for LUT in tonemap
Co-authored-by: alex-poe <3957610+CptPotato@users.noreply.github.com>
Co-authored-by: QbieShay <cislaghi.ilaria@gmail.com>
Co-authored-by: Clay John <claynjohn@gmail.com>
2020-11-28 07:37:49 -08:00
Yuri Roubinsky
4a3588a51a
Merge pull request #43828 from Chaosus/restore_line_antialiasing
...
Restored antialiased lines by emulation using triangle strips
2020-11-28 11:32:16 +03:00
Rémi Verschelde
94341ac547
Merge pull request #42987 from clayjohn/VULKAN-sky-only
...
Add sky_only setting to DirectionalLight3Ds
2020-11-28 09:07:09 +01:00
Yuri Roubinsky
3ec972fc95
Restored antialiased lines by emulation using triangle strips
2020-11-27 20:45:59 +03:00
reduz
1bcf3c305b
Implement signed distance fields for 2D shaders
2020-11-26 10:49:50 -03:00
Jordan Schidlowsky
8150f07a0b
fix for two incorrectly bound texture formats
2020-11-19 14:20:29 -06:00
Nick Swoboda
bce3e2c3f6
Check uniform set validity before freeing
2020-11-18 16:53:11 -08:00
Aaron Franke
02161aad5a
Remove empty lines around braces with the formatting script
2020-11-16 23:38:11 -05:00
Rémi Verschelde
a78d96086f
Fix new transform to pixel snapping logic
...
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2020-11-15 10:52:15 +01:00
Rafał Mikrut
925ae37d8d
Remove Attempted to free invalid ID error
2020-11-10 14:22:41 +01:00
reduz
127458ed17
Reorganized core/ directory, it was too fatty already
...
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
Hugo Locurcio
7b8fd6ba9e
Fix "unifom" typo in RasterizerStorageRD method
2020-11-06 18:12:00 +01:00
reduz
f123981a96
Implement DirectionalLight2D
...
Also separated Light2D in PointLight2D and DirectionalLight2D.
Used PointLight2D because its more of a point, and it does not work
the same as OmniLight (as shape depends on texture).
Added a few utility methods to Rect2D I needed.
2020-11-04 10:03:01 -03:00
Marios Staikopoulos
e5d7c7d5fc
Alpha Hash and Alpha2Coverage Implementation
2020-11-02 20:11:20 -08:00
reduz
0e6664539d
Refactor pixel snapping.
...
-Rename pixel_snap to snap_2d_to_vertices
-Added snap_2d_to_transforms which is more useful
Fixes #41814
Solves proposal https://github.com/godotengine/godot-proposals/issues/1666
Supersedes #35606 , supersedes #41535 , supersedes #41534
2020-10-30 08:57:32 -03:00
reduz
8ab9b39707
Implement CanvasGroup and CanvasItem clipping
...
-Allows merging several 2D objects into a single draw operation
-Use current node to clip children nodes
-Further fixes to Vulkan barriers
-Changed font texture generation to white, fixes dark eges when blurred
-Other small misc fixes to backbuffer code.
2020-10-28 18:53:32 -03:00
Rémi Verschelde
6c173e2f7f
Merge pull request #43058 from clayjohn/VULKAN-FXAA-bug
...
[4.0]Remove extra exposure multiply in FXAA
2020-10-25 00:35:12 +02:00
clayjohn
8e3e9e3755
Remove extra exposure multiply in FXAA
2020-10-24 13:00:39 -07:00
reduz
84d734da0e
Refactored 2D shader and lighting system
...
-Removed normal/specular properties from nodes
-Create CanvasTexture, which can contain normal/specular channels
-Refactored, optimized and simplified 2D shaders
-Use atlas for light textures.
-Use a shadow atlas for shadow textures.
-Use both items aboves to make light rendering stateless (faster).
-Reorganized uniform sets for more efficiency.
2020-10-24 15:57:25 -03:00
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