Commit Graph

190 Commits

Author SHA1 Message Date
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
Yuri Roubinsky 7d34701d63 Auto-set a first compatible uniform on dragging to create a UniformRef 2021-07-12 11:19:42 +03:00
Yuri Roubinsky 46cd36f009 Fix auto-connection from output node to input (VisualShaders) 2021-06-28 14:38:08 +03:00
Lightning_A e28fd07b2b Rename `instance()`->`instantiate()` when it's a verb 2021-06-19 20:49:18 -06:00