clayjohn
016946b552
Write out render_mode even when mode is set to default in VisualShaders
2023-04-11 18:03:00 -07:00
Yuri Rubinsky
faf62ba0cc
Add DEPTH to the visual shader output (for spatial mode)
2023-02-21 20:19:37 +03:00
Yuri Rubinsky
c0a3129210
Prevent preview error for the instance parameter in visual shader
2023-02-03 15:28:04 +03:00
Rémi Verschelde
e8240031e7
Merge pull request #71479 from raulsntos/virtual-return-type
...
Use enum instead of int in virtual methods return type
2023-02-01 07:45:28 +01:00
Rémi Verschelde
ab4d8df163
Merge pull request #72485 from BastiaanOlij/add_eye_matrix_access
...
Expose EYE_OFFSET to gdshader code
2023-02-01 07:33:18 +01:00
Bastiaan Olij
8c77aea9ab
Expose EYE_OFFSET to gdshader code
2023-02-01 12:39:13 +11:00
Marius Hanl
a59819630d
Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal and GPUParticles*3D
...
- Extents are replaced by Size (Size is Extents * 2)
- The UI text displays 'Size'
- Snapping is adjusted to work with Size
- _set and _get handle extents for compatibility
Co-authored-by: ator-dev <dominic.codedeveloper@gmail.com>
2023-01-31 20:04:11 +01:00
Raul Santos
9e9eac4676
Use enum instead of int in virtual methods return type
2023-01-31 19:06:49 +01:00
Aaron Franke
2bc0bcbd26
PropertyUsage: Rename "DO_NOT_SHARE_ON_DUPLICATE" to "ALWAYS_DUPLICATE"
2023-01-24 16:05:07 -06:00
Yuri Rubinsky
7cbe2b939e
Some refactoring for visual shader texture functions
2023-01-20 12:54:20 +03:00
clayjohn
faea9f5c10
Remove SCREEN_TEXTURE, DEPTH_TEXTURE, and NORMAL_ROUGHNESS_TEXTURE
...
in favour of texture hints
2023-01-18 19:52:47 -08:00
Yuri Rubinsky
87eafe48b8
Add few improvements for `VisualShaderNodeParticleRandomness`
2023-01-09 20:33:45 +03:00
Yuri Rubinsky
f101add78b
Add `uint` type support to visual shaders
2023-01-06 10:35:25 +03:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
...
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.
It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).
We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).
Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Yuri Rubinsky
952015df13
Add missing CUSTOM inputs for the spatial/vertex mode of visual shader
2022-12-26 14:09:07 +03:00
Yuri Rubinsky
bd08f89fd2
Optimize a code generation of visual shader particles
2022-12-11 12:35:48 +03:00
NumbuhFour
1b09fd5410
Implement CAMERA_VISIBLE_LAYERS as built-in shader variable
2022-12-03 22:41:27 -08:00
kobewi
d06a8320e5
Simplify GDVIRTUAL_CALL calls
2022-10-19 00:05:48 +02:00
Rémi Verschelde
8017827144
SCons: Re-enable treating `#warning` as error with `werror`
...
Replace all TODO uses of `#warning` by proper TODO comments, and will open
matching bug reports to keep track of them.
We don't have a great track record fixing TODOs, but I'd wager we're even
worse for fixing these "TODO #warning" so we should prohibit this usage.
2022-10-10 16:12:26 +02:00
bruvzg
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4.
2022-10-07 11:32:33 +03:00
Yuri Rubinsky
a656dcec01
Fix boolean connection to ports of other types in visual shader
2022-10-03 20:20:00 +03:00
clayjohn
1a0890122f
Clean up canvas light shader API.
...
Expose LIGHT_ENERGY and LIGHT_IS_DIRECTIONAL.
Add LIGHT_DIRECTION
2022-09-28 11:46:58 -07:00
Yuri Rubinsky
09c98cdde9
Add conversion for uniform_name property in visual shader
2022-09-07 08:19:02 +03:00
Rémi Verschelde
c82bbc38a5
Merge pull request #64952 from Chaosus/vs_rename_uniform_to_param
2022-09-02 13:49:53 +02:00
Johan Aires Rastén
b7e2d45233
Replace Vector2(i) with Size2(i) for methods returning a size
2022-09-01 20:04:17 +02:00
Yuri Rubinsky
8191b3c110
Rename `uniform` to `parameter` across the engine
2022-09-01 11:42:57 +03:00
Yuri Rubinsky
d4a10e7e04
Allow using integer varyings with `flat` interpolation modifier
2022-08-25 13:21:02 +03:00
kobewi
1abdffe7a0
Replace Array return types with TypedArray 2
2022-08-23 23:21:32 +02:00
Yuri Sizov
1a24c9e14b
Make `_validate_property` a multilevel method
2022-08-22 18:35:11 +03:00
QbieShay
ecbeb8de1b
Improve visual shader defaults for quality of life
...
- multiply part of addmultiply defaults to 1
- curvetexture's repeat is turned off
- vectors into float takes first component instead of average
2022-08-12 19:39:56 +02:00
Patrick Exner
fe5901310e
Add spatial built-ins (camera-pos, object-pos, camera-eye etc.)
2022-08-02 17:30:41 +02:00
Hugo Locurcio
4b42379c8f
Rename RenderingServer global shader uniform methods to be more explicit
...
The `global_shader_uniform` name is longer, but it makes it much
easier to find the methods when searching in the class reference.
2022-07-28 18:46:59 +02:00
Yuri Rubinsky
2f43398182
Add a check to prevent duplicating connections in visual shader
2022-07-27 08:06:34 +03:00
Yuri Rubinsky
f05fce405e
Fix visual shader graph not correctly updating when multiple tabs opened
2022-07-16 16:43:06 +03:00
Rémi Verschelde
1767507e69
Merge pull request #61888 from Chaosus/vs_remove_engine_version
...
Remove engine version from visual shader
2022-06-16 18:19:03 +02:00
Yuri Rubinsky
f4b4294c5f
Revert vector4 output ports in visual shaders
2022-06-11 10:36:11 +03:00
Yuri Rubinsky
d6622330d7
Remove engine version from visual shader
2022-06-10 13:17:16 +03:00
clayjohn
4f82b1bd20
Use IGN instead of white noise for sky dithering
2022-05-24 10:57:07 -07:00
Yuri Rubinsky
0778c7a19e
Fix connection of subports after uniform->constant conversion in vshader
2022-05-23 14:09:59 +03:00
reduz
45af29da80
Add a new HashSet template
...
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00
Aaron Record
900c676b02
Use range iterators for RBSet in most cases
2022-05-19 12:09:16 +02:00
Haoyu Qiu
fc3b845c07
Add dedicated macros for property name extraction
...
* Replace case-by-case extraction with PNAME & GNAME
* Fix group handling when group hint begins with property name
* Exclude properties that are PROPERTY_USAGE_NO_EDITOR
* Extract missing ADD_ARRAY*, ADD_SUBGROUP* macros
2022-05-19 14:08:47 +08:00
Rémi Verschelde
7b571ab8f7
Merge pull request #60986 from fire-forge/capitalism
2022-05-16 13:49:14 +02:00
reduz
746dddc067
Replace most uses of Map by HashMap
...
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
(order matters) but use is discouraged.
There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
FireForge
584a646f50
Capitalize output port names in visual shader
2022-05-13 00:53:09 -05:00
FireForge
88a8038387
Capitalize/fix some property enum hints
2022-05-12 15:03:16 -05:00
Yuri Roubinsky
8bf632240d
Continue to improve vector4 type in visual shaders
2022-04-22 22:29:26 +03:00
Hendrik Brucker
cf58d23a72
Add Vector4 to VisualShader
2022-04-12 19:09:29 +02:00
Yuri Roubinsky
509598e8c0
Remove `SHADOW_ATTENUATION` spatial light shader built-in
2022-03-29 08:43:31 +03:00
Rémi Verschelde
f3bd700767
Merge pull request #59619 from Chaosus/vs_input_desc
2022-03-28 22:32:11 +02:00
Yuri Roubinsky
9edbdc4f36
Add refs to shading language to the desciption of input nodes in vshader
2022-03-28 22:01:10 +03:00
Rémi Verschelde
7119d355eb
String: Remove TTR and DTR defines in non-tools build
...
This ensures we don't use TTR in runtime code, as it's specifically meant
to source translations for the editor.
2022-03-28 20:26:35 +02:00
Yuri Roubinsky
0d9aecd967
Rename several transform built-ins in shaders
2022-03-18 12:10:55 +03:00
Yuri Roubinsky
4d6790e9df
Add `_get_func_code/_is_available` virtual functions to custom nodes
2022-03-08 16:23:44 +03:00
Rémi Verschelde
eb8ce0ce68
Merge pull request #58750 from Chaosus/vs_varyings
...
Add varying support to visual shaders
2022-03-07 07:41:11 +01:00
Yuri Roubinsky
15a87f8e92
Add varying support to visual shaders
2022-03-04 23:30:47 +03:00
Yuri Roubinsky
2f8cb76899
Adds few more input/output built-ins to visual shader
2022-03-03 21:28:23 +03:00
clayjohn
fe49244611
Use Filament specular models and parametrization
2022-02-22 19:39:41 -08:00
Yuri Roubinsky
a6e280c5de
Add some more fixes to visual shader
2022-02-07 11:28:42 +03:00
Yuri Roubinsky
db18faf660
Rename `PORT_TYPE_VECTOR` to `PORT_TYPE_VECTOR_3D`
2022-02-06 20:15:28 +03:00
bruvzg
244db37508
Cleanup and move char functions to the `char_utils.h` header.
2022-02-04 11:35:01 +02:00
Rémi Verschelde
f8f19b313d
Merge pull request #57562 from AnilBK/string-add-contains
...
String: Add contains().
2022-02-03 22:21:24 +01:00
Anilforextra
adbe948bda
String: Add contains().
2022-02-04 01:28:02 +05:45
Yuri Roubinsky
59af063636
Add support for 2D vector type to visual shaders
2022-02-02 19:59:34 +03:00
Rémi Verschelde
ee253163ab
Merge pull request #57056 from Chaosus/vs_fix_defaults
2022-01-23 00:27:48 +01:00
Yuri Roubinsky
56a6e95d6a
Remove transform input from fog mode in visual shaders
2022-01-22 16:31:06 +03:00
Yuri Roubinsky
538cff1351
Fix default input port hints for some modes in visual shader
2022-01-22 11:12:56 +03:00
Yuri Roubinsky
cd5b681997
Fix undo after non-last port removal in `VisualShaderNodeExpression`
2022-01-21 15:21:41 +03:00
Arnav Vijaywargiya
0c46f73b5e
Fixed incorrect property types
2022-01-11 17:17:11 +05:30
Yuri Roubinsky
21cfcaa129
Add a GDScript template for `VisualShaderNodeCustom`
2022-01-06 12:06:33 +03:00
Rémi Verschelde
fe52458154
Update copyright statements to 2022
...
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
Yuri Roubinsky
e8a457ba89
Refactor render_mode in shaders, forbid declaring duplicates
2021-12-21 22:20:09 +03:00
Nathan Franke
49403cbfa0
Replace String comparisons with "", String() to is_empty()
...
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
2021-12-09 04:48:38 -06:00
Lightning_A
e078f970db
Rename `remove()` to `remove_at()` when removing by index
2021-11-23 18:58:57 -07:00
Yuri Roubinsky
0270144644
Enchance `VisualShaderNodeMeshEmitter`, add more ports and fix bugs
2021-11-18 14:02:15 +03:00
Yuri Roubinsky
826e781bfa
Fix default_texture_param in shader pipeline to support uniform arrays
2021-11-12 12:53:40 +03:00
Rémi Verschelde
2beaae4b6f
String: Remove `erase` method, bindings can't mutate String
2021-11-11 11:23:32 +01:00
Rémi Verschelde
a6412e132a
Merge pull request #54660 from Chaosus/vs_particles_mesh_emitter
2021-11-10 19:55:25 +01:00
Rémi Verschelde
f253f7b6e6
VisualShader: Document enum args for virtual methods
...
Fixes #31563 .
2021-11-10 13:22:58 +01:00
Yuri Roubinsky
80b563672b
Added `MeshEmitter` node for particles in visual shader
2021-11-06 17:45:38 +03:00
Yuri Roubinsky
dcdf59cd73
Added 2D boolean hint for particle emitters in visual shaders
2021-11-05 12:45:57 +03: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
Yuri Roubinsky
2d0aa5ebc4
Repair Fog mode in visual shaders
2021-10-29 17:09:03 +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
c299c54023
Make port previews in visual shader visible in other shader modes
2021-10-11 22:19:08 +03:00
Lightning_A
c63b18507d
Use range iterators for `Map`
2021-09-30 15:09:12 -06:00
Haoyu Qiu
eba7265a1c
Fix misspelled "overriden"
...
In recent GDVIRTUAL PR and SkeletonModification3DJiggle doc.
2021-08-26 01:44:01 +08:00
reduz
3682978aee
Replace BIND_VMETHOD by new GDVIRTUAL syntax
...
* New syntax is type safe.
* New syntax allows for type safe virtuals in native extensions.
* New syntax permits extremely fast calling.
Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`.
These will require API rework on a separate PR as they work different than the rest of the functions.
Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
2021-08-22 08:23:58 -03:00
Yuri Roubinsky
e537a1f10e
Added missed limiters for Visual Shader node enums
2021-08-15 19:10:51 +03:00
Yuri Roubinsky
c43b7c113f
Fix printing error about unsupported modifier on `TransformUniform`
2021-08-12 19:40:45 +03:00
Yuri Roubinsky
47a6bb2f28
Fix a default shader specular render mode to (`SCHLICK_GGX`/`BLINN`)
2021-08-06 16:01:58 +03:00
Yuri Roubinsky
a34a91a30b
Added more input/output built-ins to visual shaders
2021-08-03 09:32:40 +03:00
Yuri Roubinsky
94c6817b51
Makes dictionary instead of string for visual shader version
...
Update doc/classes/VisualShader.xml
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2021-08-02 21:34:19 +03:00
Rémi Verschelde
ac3322b0af
Use const references where possible for List range iterators
2021-07-25 12:22:25 +02:00
Aaron Franke
4e6efd1b07
Use C++ iterators for Lists in many situations
2021-07-23 17:38:28 -04:00
Yuri Roubinsky
40419a394d
Fix function code generation for uniform triplanar node in visual shader
2021-07-21 13:02:23 +03:00
Rémi Verschelde
394191c02f
Merge pull request #50605 from Calinou/tweak-shader-code-style
...
Use C++11 raw literals for shader code to improve readability
2021-07-20 10:05:13 +02:00
Hugo Locurcio
abc38b8d66
Use C++11 raw literals for shader code to improve readability
...
In files that have lots of branching, `\t` was replaced with a
tab character instead.
2021-07-19 08:19:50 +02:00
reduz
6631f66c2a
Optimize StringName usage
...
* Added a new macro SNAME() that constructs and caches a local stringname.
* Subsequent usages use the cached version.
* Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time.
* Replaced all theme usages by this new macro.
* Replace all signal emission usages by this new macro.
* Replace all call_deferred usages by this new macro.
This is part of ongoing work to optimize GUI and the editor.
2021-07-18 21:20:02 -03:00
Yuri Roubinsky
d63a284dff
Prevent function gen in visual shader if no out connection is provided
2021-07-17 22:51:22 +03:00