Rémi Verschelde
bdd118e765
Merge pull request #55431 from Chaosus/shader_fix_constants
2021-11-30 19:40:52 +01:00
Yuri Roubinsky
be7c03779a
Fix shader crash when assigning array to non-array in global constant
2021-11-30 21:28:55 +03:00
Yuri Roubinsky
5b4d8545ed
Fix INDEX
built-in in a process function of particle shader
2021-11-29 12:54:24 +03:00
Yuri Roubinsky
6e80e97b0f
Fix built-in(PI, TAU, E) assignment to a global constant in a shader
2021-11-29 10:32:36 +03:00
Hugo Locurcio
36106dba3b
Remove unused struct fields in VoxelGIData
...
This reduces the struct size from 112 bytes to 96 bytes.
2021-11-28 23:09:51 +01:00
Hugo Locurcio
0beacf2ce8
Remove unused code in GI shaders
2021-11-28 22:58:54 +01:00
Hugo Locurcio
565f9c0448
Use 16-bit depth to improve dynamic VoxelGI performance
...
In a complex scene with several dynamic emissive objects, this
saves over 1 ms of GPU time on a GTX 1080 in 2560×1440.
2021-11-28 18:51:36 +01:00
Hugo Locurcio
989a7d9270
Allow disabling the depth prepass in the Vulkan Clustered backend
...
In scenes that have little to no overdraw, disabling the depth prepass
can give a small performance boost. Nonetheless, in most other scenarios,
the depth prepass should be left enabled as it improves performance
significantly.
2021-11-27 17:54:45 +01:00
Nathan Franke
dd30253cdc
PackedByteArray, Array slice end exclusive, rename subarray to slice
2021-11-26 22:13:12 -06:00
Yuri Roubinsky
0f1f002e74
Fix TIME
using in custom functions of particle shader
2021-11-26 19:03:01 +03:00
Rémi Verschelde
4813abc6e7
Merge pull request #55311 from Chaosus/fix_uniform_array
...
Fix uniform array alignment to fix a bug
2021-11-26 08:25:14 +01:00
Hugo Locurcio
079ae6a03f
Use WARN_PRINT_ONCE()
for FSR-related warning messages
...
`print_error()` should generally not be used directly. Also,
falling back is best done by printing a warning message instead
of an error message.
2021-11-25 22:47:11 +01:00
Yuri Roubinsky
43d999e346
Fix uniform array alignment to fix a bug
2021-11-25 23:38:08 +03:00
Hugo Locurcio
c73a51fd55
Remove disabled debug code in ClusterBuilderRD
2021-11-25 20:28:50 +01:00
Yuri Roubinsky
9b1f8f7a96
Revert "Pushes array of uniforms to first place in the buffer"
2021-11-25 16:13:19 +03:00
bruvzg
b7e6e50dd2
[macOS / iOS] Use non atomic operation to store facing bits on MoltenVK.
2021-11-25 12:43:45 +02:00
Rémi Verschelde
547c270777
Merge pull request #51679 from Je06jm/fsr
...
AMD FidelityFX Super Resolution
2021-11-24 22:34:48 +01:00
Rémi Verschelde
3e3300637e
Merge pull request #55281 from bruvzg/mvk_fog_volumes
2021-11-24 16:59:20 +01:00
bruvzg
5e0a034524
[macOS / iOS] Use storage buffers instead of unsupported images for the volumetric fog on MoltenVK.
2021-11-24 09:16:16 +02:00
Lightning_A
e078f970db
Rename remove()
to remove_at()
when removing by index
2021-11-23 18:58:57 -07:00
Je06jm
20deb0917d
Implemented AMD's FSR as a computer shader for upscaling 3D scenes
2021-11-23 14:16:03 -07:00
Yuri Roubinsky
c7043dbfdc
Prevent return statement from using in block in shader main functions
2021-11-23 10:36:33 +03:00
Yuri Roubinsky
f4c0e90fd9
Allow passing non-variable constant to const function param in shaders
2021-11-19 12:14:13 +03:00
Rémi Verschelde
fa11b45961
Merge pull request #55084 from JFonS/fix_depth_prepass
...
Fix Depth-Prepass transparency mode
2021-11-18 17:39:46 +01:00
Rémi Verschelde
3f9c24a8d7
Merge pull request #55085 from JFonS/transparency_fixes
...
Fix transparency state initialization
2021-11-18 17:17:20 +01:00
jfons
4c4b6620a0
Fix Depth-Prepass transparency mode
...
Add mising bits of implementation and ensure depth-prepass objects are
only rendered in the transparency pass.
2021-11-18 12:49:46 +01:00
Rémi Verschelde
c30aa372ca
Merge pull request #55029 from clayjohn/VULKAN-SRGB
...
Add SHADER_IS_SRGB define to Vulkan renderer
2021-11-17 08:46:23 +01:00
clayjohn
358820c4b7
Fix SRGB conversions in Vulkan Renderer
2021-11-16 20:56:13 -08:00
chris.clst
038be68649
Merge branch 'godotengine:master' into bugfix_shader_compile_spirv_from_source
2021-11-14 03:23:22 +01:00
Yuri Roubinsky
df3b42411d
Fix broken light_compute in mobile renderer
2021-11-13 17:24:31 +03:00
Brian Semrau
716e15cd26
Fix multimesh still drawing when visible instances is zero
2021-11-12 21:51:14 -05:00
jfons
dbf20f58a0
Fix transparency state initialization
2021-11-12 12:11:57 +01:00
Yuri Roubinsky
826e781bfa
Fix default_texture_param in shader pipeline to support uniform arrays
2021-11-12 12:53:40 +03:00
Yuri Roubinsky
a45ae7b1c7
Fix shader crashing when using ALBEDO
or ALPHA
in light function
2021-11-11 11:59:30 +03:00
Rémi Verschelde
5cc0ad5393
Merge pull request #54783 from ator-dev/fix-override-exposure
2021-11-10 18:45:04 +01:00
ChristopheClaustre
cc39ba5509
rendering_device: if one compiles with at least on stage without sources, it was always returning an unusable bytecode (because errored)
2021-11-09 22:53:30 +01:00
Dominic-ATOR
d7a4187b05
Implement CameraEffects override_exposure
2021-11-08 21:14:56 +00:00
Yuri Roubinsky
bbfa5f29c7
Pushes array of uniforms to first place in the buffer to prevent bug
2021-11-07 23:30:09 +03:00
clayjohn
0eff109a21
Added SSIL post processing effect
2021-11-06 12:43:19 -07:00
Brian Semrau
ac24070056
Use Callable in RS::request_frame_drawn_callback
2021-11-05 01:59:38 -04:00
Hugo Locurcio
c012fbc8b2
Rename PROPERTY_USAGE_NOEDITOR
to PROPERTY_USAGE_NO_EDITOR
...
This is consistent with other constants that include `NO`,
such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
2021-11-03 23:06:17 +01:00
Rémi Verschelde
02ae47154c
Merge pull request #54356 from Chaosus/shader_fix_matrix_autocompletion
2021-11-01 14:06:04 +01:00
Rémi Verschelde
d86b680e07
Merge pull request #54480 from timothyqiu/texture-replace
2021-11-01 12:56:05 +01:00
Haoyu Qiu
10818cfc10
Fix memory leak when using CurveTexture.set_texture_mode
2021-11-01 18:57:59 +08:00
Rémi Verschelde
210e6cc167
Merge pull request #54459 from rxlecky/fix-multimesh-buffer-overflow-53603
2021-11-01 11:18:11 +01:00
SeleckyErik
6b04f08b28
Fix multimesh buffer overflow in RendererStorageRD
2021-10-31 18:48:51 +01:00
Rémi Verschelde
1aef3a42b2
Merge pull request #54448 from CakHuri/treshold-to-threshold
...
Repair mistyped of 'threshold' on several files.
2021-10-31 18:32:18 +01:00
Rémi Verschelde
16dc607f8a
Merge pull request #54307 from Calinou/add-opengl-renderer-squash
...
Add OpenGL renderer (squashed)
2021-10-31 18:30:38 +01:00
M. Huri
4052d85d05
Repaired mistyped of 'threshold' on several files.
2021-10-31 22:11:42 +07:00
Clay John
8a10bb7d0d
Use OpenGL 3.3 core profile instead of compatibility profile
...
- Rename OpenGL to GLES3 in the source code per community feedback.
- The renderer is still exposed as "OpenGL 3" to the user.
- Hide renderer selection dropdown until OpenGL support is more mature.
- The renderer can still be changed in the Project Settings or using
the `--rendering-driver opengl` command line argument.
- Remove commented out exporter code.
- Remove some OpenGL/DisplayServer-related debugging prints.
2021-10-31 15:56:45 +01:00
Rémi Verschelde
d6f972fad4
Merge pull request #54403 from briansemrau/fix-small-fogvolume
...
FogVolume don't dispatch compute with zero-dimension groups
2021-10-31 09:12:10 +01:00
Brian Semrau
8f75ad4df2
Don't use Texture image caches if they are rendered to
2021-10-30 13:34:39 -04:00
Rémi Verschelde
6b0b1a4c04
Merge pull request #54405 from JFonS/fix_instance_index
...
Fix instance index in forward clustered shader
2021-10-30 14:22:22 +02:00
Brian Semrau
346e497959
Disallow compute dispatch with zero dimensions.
2021-10-30 02:39:25 -04:00
clayjohn
4d1d2b3900
Weight glow samples to reduce fireflies
2021-10-29 21:41:57 -07:00
jfons
6db13d3231
Fix instance index in forward clustered shader
2021-10-30 02:53:09 +02:00
Hugo Locurcio
ce97ddbcb1
Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3
...
- Use lowercase driver names for the `--rendering-driver`
command line argument.
2021-10-30 02:05:49 +02:00
lawnjelly
e3491a3744
Add GLES2 2D renderer + Linux display manager
...
First implementation with Linux display manager.
- Add single-threaded mode for EditorResourcePreview (needed for OpenGL).
Co-authored-by: clayjohn <claynjohn@gmail.com>
Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
2021-10-30 02:05:48 +02:00
Yuri Roubinsky
4da0de0085
Fix error spammed to output if FogVolume
is setted to scene
2021-10-29 23:24:01 +03:00
Yuri Roubinsky
a6ddfecc9f
Fix crash when opening a converted FogMaterial
2021-10-29 14:18:38 +03:00
clayjohn
1b2cd9f251
Addition of FogVolumes, FogShaders, FogMaterial, and overhaul of VolumetricFog
...
Co-authored-by: Brian Semrau <brian.semrau@gmail.com>
2021-10-28 22:02:23 -07:00
Yuri Roubinsky
04a2053f9b
Removed incorrect autocompletion of matrixes in shader
2021-10-28 20:21:18 +03:00
Rémi Verschelde
f7d852b532
Merge pull request #54350 from akien-mga/clang-format-dont-align-operands
2021-10-28 17:10:52 +02:00
Rémi Verschelde
e2deec67b9
Merge pull request #54222 from JFonS/instance-fade
2021-10-28 16:05:55 +02:00
Rémi Verschelde
3a6be64c12
clang-format: Various fixes to comments alignment from clang-format
13
...
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28 15:43:36 +02:00
Rémi Verschelde
3b11e33a09
clang-format: Disable alignment of operands, too unreliable
...
Sets `AlignOperands` to `DontAlign`.
`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 15:19:35 +02:00
Joan Fons
95bc9c40d9
Fix shadow disabling on mobile renderer
2021-10-26 15:37:22 +02:00
jfons
c46d1ea2b2
Fix shadow disabling settings
...
Fixes the SHADOW_CASTING_SETTING_OFF setting in
GeometryInstance3D and the "shadows_disabled" render
mode in spatial materials, which were not working
before.
2021-10-25 16:11:32 +02:00
JFonS
c571e4a7f4
Implement distance fade and transparency
...
The built-in ALPHA in spatial shaders comes pre-set with a per-instance
transparency value. Multiply by it if you want to keep it.
The transparency value of any given GeometryInstance3D is affected by:
- Its new "transparency" property.
- Its own visiblity range when the new "visibility_range_fade_mode"
property is set to "Self".
- Its parent visibility range when the parent's fade mode is
set to "Dependencies".
The "Self" mode will fade-out the instance when reaching the visibility
range limits, while the "Dependencies" mode will fade-in its
dependencies.
Per-instance transparency is only implemented in the forward clustered
renderer, support for mobile should be added in the future.
Co-authored-by: reduz <reduzio@gmail.com>
2021-10-25 11:39:34 +02:00
jfons
88d9914519
Fix state inconsistencies in visibility dependencies.
2021-10-25 11:37:53 +02:00
Rémi Verschelde
3bebbcacdb
Merge pull request #53992 from Calinou/hard-shadow-mapping-allow-dithering
2021-10-22 19:34:09 +02:00
Yuri Roubinsky
bbcf8ac672
Merge pull request #54082 from Chaosus/fix_shader_crash
2021-10-21 21:19:24 +03:00
Yuri Roubinsky
57fd362fe1
Prevent shader crash when passing constant expression to textureGather
2021-10-21 19:46:05 +03:00
Hugo Locurcio
e87ec8ec17
Add Soft Very Low shadow quality mode for 3D
...
This can be used to improve 3D shadow rendering quality at little
performance cost. Unlike the existing Hard setting which is limited
to variable shadow blur only, it works with both fixed blur and
variable blur.
2021-10-21 18:34:26 +02:00
Yuri Roubinsky
9142df46b3
Fix built-in texture samplers passing for spatial shader mode
2021-10-21 12:32:32 +03:00
Yuri Roubinsky
5a354aaf6d
Prevent a rendering crash and error spam for uniform texture array
2021-10-20 21:30:27 +03:00
Rémi Verschelde
244faf5588
Merge pull request #53972 from zedutch/fix-shader-time-update
...
Fix shaders using `TIME` not continuously updating
2021-10-19 16:37:55 +02:00
Rémi Verschelde
85a8939fa2
Merge pull request #53790 from briansemrau/remove-distant-shadowy-void
2021-10-19 15:17:09 +02:00
Rémi Verschelde
4387f9645b
Merge pull request #52940 from groud/toast_notification
2021-10-19 09:57:13 +02:00
Rémi Verschelde
723b988fde
Merge pull request #52210 from BastiaanOlij/enhance_xr_trackers
2021-10-19 08:11:32 +02:00
Robin Arys
0e31465a59
Fix shaders that use TIME do not force editor to continuously update
2021-10-18 22:53:20 +02:00
Haoyu Qiu
2200544141
Validate enum range in RendererViewport::viewport_get_render_info
2021-10-18 22:58:38 +08:00
Bastiaan Olij
5d1ea92daf
Rework XR positional trackers
2021-10-17 12:12:20 +11:00
mennomax
b4eeeb315a
Swap args of Plane(point, normal) constructor
...
Now (normal, point)
2021-10-15 20:49:42 -05:00
Rémi Verschelde
5a276443bd
Merge pull request #53815 from Chaosus/fix_wireframe_render_mode
2021-10-15 16:19:36 +02:00
Yuri Roubinsky
31ad85881d
Fix wireframe
render mode
2021-10-15 06:53:52 +03:00
Brian Semrau
e9f1b0a0b2
Remove incorrect fog height density remapping
2021-10-14 16:09:45 -04:00
Brian Semrau
4fefd7cddd
Fix several issues with directional shadows
...
- Internally disable blend splits in orthogonal directional shadow mode
- Fix soft shadows ignoring fade and blend_splits
- Fix soft shadow edge stability
2021-10-14 11:44:32 -04:00
Gilles Roudière
0587e5e018
Implement toast notifications in the editor
2021-10-14 13:30:54 +02:00
Brian Semrau
a62e240260
Fix the height fog effect
2021-10-14 04:08:39 -04:00
Yuri Roubinsky
e9b7ffd1fa
Added few more built-ins to shader language
2021-10-13 20:27:36 +03:00
Rémi Verschelde
88463c3eee
Merge pull request #53712 from CakHuri/nullptr
...
Replace NULL with nullptr
2021-10-12 22:30:43 +02:00
M. Huri
033dc4dbef
Replaced NULL with nullptr
2021-10-12 20:20:19 +07:00
Aaron Franke
7e51e4cb84
Fix some LGTM errors of "Multiplication result converted to larger type"
2021-10-12 00:17:27 -05:00
Yuri Roubinsky
db2ee03fff
Fix shader crash on using METALLIC and ROUGHNESS built-ins in light func
2021-10-11 13:35:53 +03:00
Rémi Verschelde
09b0293fad
Merge pull request #53066 from Chaosus/shader_funcs
2021-10-10 21:37:07 +02:00
Rémi Verschelde
5ae569560d
Fix missing argument names in bindings
...
While at it, tweak some boolean setters to use `p_enabled` for the bool.
Also renames `draw_minimap()` to `set_draw_minimap()`.
2021-10-09 00:20:10 +02:00
Hugo Locurcio
73c6e19acc
Allow any floating-point value as a 3D rendering scale option
...
This allows for finer control over 3D rendering resolution.
Supersampling can also be performed by setting a 3D rendering
resolution above 1.0, which is useful for offline rendering or
for very high-end GPUs.
2021-10-08 18:22:10 +02:00
Rémi Verschelde
96767c18f8
Merge pull request #53527 from Chaosus/shader_array
2021-10-08 12:37:05 +02:00
Yuri Roubinsky
b1ac3e256f
Allow declare the shader arrays with a size defined before identifier
2021-10-08 10:28:31 +03:00