Pedro J. Estébanez
4c710780d4
Implement async shader compilation plus caching for GL ES 3
...
Async. compilation via ubershader is currently available in the scene and particles shaders only.
Bonus:
- Use `#if defined()` syntax for not true conditionals, so they don't unnecessarily take a bit in the version flagset.
- Remove unused `ENABLE_CLIP_ALPHA` from scene shader.
- Remove unused `PARTICLES_COPY` from the particles shader.
- Remove unused uniform related code.
- Shader language/compiler: use ordered hash maps for deterministic code generation (needed for caching).
2021-11-09 12:19:12 +01:00
Rémi Verschelde
140350d767
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
2021-05-05 15:02:01 +02:00
Rémi Verschelde
a828398655
Style: Replaces uses of 0/NULL by nullptr (C++11)
...
Using clang-tidy's `modernize-use-nullptr`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2021-05-04 16:30:23 +02:00
Rémi Verschelde
b5e1e05ef2
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
2021-05-04 14:45:16 +02:00
Rémi Verschelde
64a63e0861
Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine
2021-05-04 14:45:15 +02:00
Yuri Roubinsky
ac91e2ca0d
[3.2] Prevents default values of VSNodeCustom from overriding by a script
2021-04-12 14:52:19 +03:00
Delf Neumärker
4065fa0bcf
Fix crash when calling connect_nodes_forced with invalid params
...
(cherry picked from commit 4a468171e5
)
2021-02-19 15:54:00 +01:00
Pedro J. Estébanez
4485b43a57
Modernize atomics
...
- Based on C++11's `atomic`
- Reworked `SafeRefCount` (based on the rewrite by @hpvb)
- Replaced free atomic functions by the new `SafeNumeric<T>`
- Replaced wrong cases of `volatile` by the new `SafeFlag`
- Platform-specific implementations no longer needed
Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2021-02-18 12:23:25 +01:00
andybarcia
61c00938a2
Fixes crash when calling VisualShader::set_mode
...
(cherry picked from commit f455f873c7
)
2021-02-18 00:35:57 +01:00
kleonc
31744577b3
VisualShader::_input_type_changed Fix index out of bounds crash.
...
(cherry picked from commit 7d451c0040
)
2021-02-16 14:27:39 +01:00
Yuri Roubinsky
34d3235c84
[3.2] Visual Shader Parenthesis fix
2021-02-08 19:37:50 +03:00
Yuri Roubinsky
8689c1178d
Adds Metallic to spatial light input of visual shaders
...
(cherry picked from commit f4eef287f9
)
2021-02-02 13:02:46 +01:00
Rémi Verschelde
49646383f1
Update copyright statements to 2021
...
Happy new year to the wonderful Godot community!
2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.
We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)
Here's to a great year 2021 for all Godot users 🎆
(cherry picked from commit b5334d14f7
)
2021-01-13 16:17:06 +01:00
Yuri Roubinsky
ec7228a675
[3.2] Optimizations for Fresnel and Texture nodes in visual shaders
2020-10-02 08:42:06 +03:00
Rémi Verschelde
ef223f3aa7
Merge pull request #41185 from Chaosus/vs_uniform_ref_3.2
...
[3.2] Added UniformRef visual shader node
2020-10-01 13:50:08 +02:00
Rémi Verschelde
4a9264271d
doc: Sync classref with current source
2020-09-08 14:20:53 +02:00
Yuri Roubinsky
7facd00ace
[3.2] Fix specular render_mode for visual shaders
2020-08-28 13:06:55 +03:00
Yuri Roubinsky
d0c705781c
[3.2] Added UniformRef visual shader node
2020-08-11 15:04:06 +03:00
Yuri Roubinsky
87ebc29d8e
Use path instead classname to prevent errors for exported visual shaders
2020-06-15 21:33:32 +03:00
Yuri Roubinsky
1f89c3bfeb
(3.2) Some fixes for canvas item visual shader inputs
2020-05-05 12:21:25 +03:00
Pedro J. Estébanez
d8be5a9986
Add MODULATE builtin to canvas item shaders
2020-05-04 00:10:24 +02:00
Yuri Roubinsky
e10b0c9eaa
Added missing '\n' in visual shader expression node code generation
...
(cherry picked from commit 6e1187ad2f
)
2020-02-14 16:13:44 +01:00
Yuri Roubinsky
1f4885fe49
Added missing '\n' in visual shader custom node code generation
...
(cherry picked from commit 9d8b59e86a
)
2020-02-14 16:13:44 +01:00
Yuri Roubinsky
fb56d93163
Better visual shader code generation
...
(cherry picked from commit bfec48abf1
)
2020-02-14 16:13:44 +01:00
Yuri Roubinsky
72f7e4efe0
Fix canvas_item light alpha output in visual shaders
...
(cherry picked from commit b822da00f8
)
2020-02-06 13:02:07 +01:00
Yuri Roubinsky
9705d5587e
Hide "control" methods from VisualShaderNodeGroupBase
2020-01-28 10:24:59 +03:00
Yuri Roubinsky
274f1d8610
Hide "editable" property from VisualShaderNodeGroupBase public interface
2020-01-28 09:43:07 +03:00
Yuri Roubinsky
796484d761
Added missing property "size" to VisualShaderNodeGroupBase
2020-01-27 19:18:48 +03:00
Yuri Roubinsky
3479cf4b42
Removed unused method "build" from VisualShaderNodeExpression
2020-01-27 18:24:39 +03:00
Yuri Roubinsky
86cdccebe6
Hide "default_input_values" property in VisualShaderNode.
2020-01-23 11:18:51 +03:00
Yuri Roubinsky
a8ab4e3357
Forbid recursive connections in visual shader
2020-01-20 18:15:45 +03:00
Rémi Verschelde
a7f49ac9a1
Update copyright statements to 2020
...
Happy new year to the wonderful Godot community!
We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.
Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Haoyu Qiu
024c25426b
Fixes crash when shader inputs/outputs is invalid string
2019-12-10 17:04:18 +08:00
Yuri Roubinsky
f5ffc1aedc
Fix invalid casting on visual shader sampler
2019-11-04 18:50:33 +03:00
Yuri Roubinsky
8243afb0e9
Added sampler inputs for visual shaders
2019-11-03 17:59:15 +03:00
Yuri Roubinsky
9086e7330f
Removes translations from generated visual shader code
2019-10-29 09:26:05 +03:00
Yuri Roubinsky
b217babca2
[VShaders] Added sampler port to CubeMap, fixed parsing in expresssion s
2019-10-11 10:36:04 +03:00
Yuri Roubinsky
0ec352213d
Removed "rebuild" function from public interface of VisualShader
2019-10-10 12:15:55 +03:00
Yuri Roubinsky
fec8da3c5e
Makes cube maps to be works in visual shaders
2019-10-09 12:13:53 +03:00
Yuri Roubinsky
b11d15d5c3
Makes Texture and TextureUniform in visual shaders to use UV by default
2019-10-03 16:59:49 +03:00
Yuri Roubinsky
31ada3b685
Fix global code in visual shaders if two or more custom nodes are used
2019-10-02 17:13:19 +03:00
Chaosus
f14bcd8cc5
Added sampler port type for visual shaders
2019-10-01 13:20:08 +03:00
Rémi Verschelde
4f294b958f
doc: Sync classref with current source
...
Fix a few missing bindings or unspecified argument names and default values.
2019-09-24 11:52:06 +02:00
Chaosus89
bd507739ea
Fix formatting error for bool in resulted code of visual shader
2019-09-05 08:32:24 +03:00
Chaosus89
bf3024c172
Added missing OUTPUT_IS_SRGB and FRONT_FACING to visual shaders
2019-09-04 18:24:44 +03:00
Chaosus89
54f0889f20
Fix parsing array indexing symbol in visual shader expression
2019-09-04 16:01:41 +03:00
Chaosus89
a68ea5721f
Fix semicolon parsing in visual shader expression
2019-09-01 13:12:33 +03:00
Chaosus89
466a9ffdc6
Fix visual shader expression parsing
2019-09-01 12:14:20 +03:00
Yuri Roubinski
725e5d15ff
Added "editable" property to VisualShaderGroupNode
2019-08-22 15:12:18 +03:00
Yuri Roubinski
1e3fb6d760
Fix preview for global expressions in visual shaders
2019-08-20 19:34:09 +03:00