Yuri Roubinsky
4d6790e9df
Add _get_func_code/_is_available
virtual functions to custom nodes
2022-03-08 16:23:44 +03:00
Markus Sauermann
79a75cd683
simplify calculation of max in grayscale
2022-02-20 18:36:46 +01: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
Yuri Roubinsky
59af063636
Add support for 2D vector type to visual shaders
2022-02-02 19:59:34 +03:00
Yuri Roubinsky
88b2afa28f
[VisualShader] Merge scalar and vector derivative functions into one
2022-01-28 22:19:10 +03:00
Yuri Roubinsky
538cff1351
Fix default input port hints for some modes in visual shader
2022-01-22 11:12:56 +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
1eb40904ce
Add texture filtering properties to VisualShaderNodeTextureUniform
2021-12-16 11:50:33 +03:00
Hugo Locurcio
92e9cca5be
Rename hint_aniso
to hint_anisotropy
in the shader language
...
The word "anisotropy" is used in full form in BaseMaterial3D's
anisotropy-related properties.
2021-12-10 17:41:17 +01: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
Yuri Roubinsky
b12fea5b52
Add bitwise operators to VisualShaderNodeIntOp
2021-12-03 12:48:35 +03:00
Yuri Roubinsky
d0fbc467a6
Fix editor crash due incorrect setup of default texture in visual shader
2021-11-12 18:23:45 +03: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
80b563672b
Added MeshEmitter
node for particles in visual shader
2021-11-06 17:45:38 +03:00
Yuri Roubinsky
e270644b20
Add a default input parameter field to CurveTexture (in visual shaders)
2021-10-13 15:25:12 +03:00
Yuri Roubinsky
e537a1f10e
Added missed limiters for Visual Shader node enums
2021-08-15 19:10:51 +03:00
Rémi Verschelde
24ec20414a
Merge pull request #50114 from Chaosus/vs_constants
...
Few improvements for constants in visual shader
2021-08-13 14:45:13 +02:00
Rémi Verschelde
f0e420e981
Merge pull request #51519 from Chaosus/vs_transform_operator
...
Changed `TransformMult` node to `TransformOp` in visual shaders
2021-08-13 14:44:14 +02:00
Yuri Roubinsky
c43b7c113f
Fix printing error about unsupported modifier on TransformUniform
2021-08-12 19:40:45 +03:00
Yuri Roubinsky
9cf158019d
Changed TransformMult
node to TransformOp
in visual shaders
2021-08-11 22:05:04 +03:00
Yuri Roubinsky
0eb97c11cf
Few improvements for constants in visual shader
2021-08-11 13:14:16 +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
Rémi Verschelde
536825d004
Rename Curve3Texture to CurveXYZTexture
...
Neither name is a perfect match but `Curve3Texture` looked too similar to
`CurveTexture` and `Curve3D`, which made things confusing when picking a
texture type or browsing the API reference.
2021-07-14 00:30:58 +02:00
Yuri Roubinsky
4cf2f79892
Added Curve3Texture to Visual Shaders
2021-07-04 12:21:19 +03:00
Yuri Roubinsky
f632e36ae5
Continuation of work on visual particles system
2021-06-07 20:33:17 +03:00
Yuri Roubinsky
b2d2822a39
Adds UVFunc
for panning/scaling on UV's to VisualShader's.
2021-06-07 08:31:48 +03:00
Aaron Franke
08a85352fb
Rename Variant TRANSFORM to TRANSFORM3D
...
Also _transform to _transform3d
2021-06-03 07:30:01 -04:00
Aaron Franke
de3f6699a5
Rename Transform to Transform3D in core
2021-06-03 07:30:01 -04:00
Yuri Roubinsky
f06db8b778
Added Billboard Node to Visual Shaders
2021-05-28 09:24:06 +03:00
Yuri Roubinsky
0b4b1f872c
Merge pull request #49056 from Chaosus/vs_color
2021-05-26 11:07:22 +03:00
Yuri Roubinsky
8f9b91dab1
Implements expandable color ports in visual shaders
2021-05-26 10:45:53 +03:00
Hugo Locurcio
87f503310b
Tweak dozens of editor property hints for consistency
...
- Update Viewport MSAA property hints to match the currently
exposed values.
- Add some performance hints to property hints.
2021-05-25 02:50:35 +02:00
Rémi Verschelde
d83761ba80
Style: Apply clang-tidy's readability-braces-around-statements
2021-04-05 14:09:59 +02:00
Yuri Roubinsky
44af52d62c
Prevents TextureUniform in visual shaders from conversion to constant
2021-04-04 17:32:44 +03:00
Rémi Verschelde
1eaa89a008
Merge pull request #46539 from Chaosus/vs_fix_return
...
Removes redundant code from get_input/output_port_type (visual shaders)
2021-03-01 09:44:20 +01:00
Yuri Roubinsky
6f9bdaf656
Fix incorrect switching port type in VisualShaderNodeStep
2021-03-01 08:45:49 +03:00
Yuri Roubinsky
9aca12a1af
Removes redundant code from get_input/output/_port_type (visual shaders)
2021-03-01 08:34:39 +03:00
Yuri Roubinsky
de5a8128d7
Unified several visual shader nodes
2021-01-18 13:32:12 +03:00
Rémi Verschelde
c7fb7674c8
Merge pull request #44805 from Chaosus/vs_convert
...
Add convert options between constants and uniforms in visual shaders
2021-01-15 16:58:26 +01:00
Rémi Verschelde
b5334d14f7
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 🎆
2021-01-01 20:19:21 +01:00
Yuri Roubinsky
c98c6eadbe
Add convert options between constants and uniforms in visual shaders
2020-12-30 13:07:08 +03:00
Marcel Admiraal
b4a190e0bc
Consistently use normal_map
2020-12-29 08:04:19 +00:00
Yuri Roubinsky
3e1e01b7ab
Added extra warning to VisualShaderNodeTexture + fix warning appearing
2020-11-26 14:53:47 +03:00
Yuri Roubinsky
f402e1e675
Added VisualShaderNodeCurve to easy gather data from a CurveTexture
2020-10-18 09:57:15 +03:00
Yuri Roubinsky
2d45f7ac87
Fix typo in VisualShaderNodeSample3D::generate_code
2020-10-04 10:34:58 +03:00
Yuri Roubinsky
e3006d4064
Fix def parameter in Texture visual shader nodes for sky/particles modes
2020-10-03 22:20:45 +03:00
Rémi Verschelde
bebf424c80
Merge pull request #42078 from Chaosus/vs_rename_type
...
Renames Type to OpType in VisualShaderNodeMultiplyAdd
2020-09-29 10:34:22 +02:00
Yuri Roubinsky
07fb960a88
Fix some bugs in visual shader editor
2020-09-21 22:19:20 +03:00
Yuri Roubinsky
f137f14e1c
Renames Type to OpType in VisualShaderNodeMultiplyAdd
...
To prevent possible conflicts with C# and other languages.
2020-09-15 11:06:18 +03:00
Yuri Roubinsky
ca9b3e929b
Fix triplanar texture code generation in visual shaders
2020-09-11 18:23:26 +03:00
Yuri Roubinsky
5ba8246cfb
Added Texture3D to visual shaders
2020-09-10 07:40:06 +03:00
Yuri Roubinsky
e2aca7e047
Fix some broken visual shader nodes
2020-09-07 12:39:20 +03:00
Yuri Roubinsky
f188c41ffd
Cleanup constructor code in visual shader nodes
2020-09-05 16:13:38 +03:00
Yuri Roubinsky
8fefdcf113
Added default value for uniforms in visual shaders
2020-07-27 15:44:22 +03:00
Yuri Roubinsky
167f033782
Optimize code generation for fresnel node in visual shaders
2020-07-27 11:35:53 +03:00
Yuri Roubinsky
5dfef9d8bc
Removes redundant code generation in VisualShaderNodeTextureUniform
2020-07-26 04:28:07 +03:00
Yuri Roubinsky
ecb5f7ea23
Added 'fma' function to shader language
2020-07-10 19:58:03 +03:00
Yuri Roubinsky
cb9cbf840d
Added Texture2DArray support to visual shaders
2020-06-19 18:02:05 +03:00
Rémi Verschelde
0ee0fa42e6
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
2020-05-14 21:57:34 +02:00
Rémi Verschelde
0be6d925dc
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
...
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.
This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.
There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).
Part of #33027 .
2020-05-14 16:54:55 +02:00
Rémi Verschelde
69de7ce38c
Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine
...
Part of #33027 .
2020-05-10 13:13:54 +02:00
Yuri Roubinsky
082542b525
Added uniform qualifiers to visual shaders
2020-05-05 11:25:48 +03:00
Yuri Roubinsky
4a3d277623
Add support for integer type in visual shaders
2020-02-26 10:12:06 +03:00
Juan Linietsky
33b5c57199
Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.
...
- Renames PackedIntArray to PackedInt32Array.
- Renames PackedFloatArray to PackedFloat32Array.
- Adds PackedInt64Array and PackedFloat64Array.
- Renames Variant::REAL to Variant::FLOAT for consistency.
Packed arrays are for storing large amount of data and creating stuff like
meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of
memory. That said, many users requested the ability to have 64 bits packed
arrays for their games, so this is just an optional added type.
For Variant, the float datatype is always 64 bits, and exposed as `float`.
We still have `real_t` which is the datatype that can change from 32 to 64
bits depending on a compile flag (not entirely working right now, but that's
the idea). It affects math related datatypes and code only.
Neither Variant nor PackedArray make use of real_t, which is only intended
for math precision, so the term is removed from there to keep only float.
2020-02-25 12:55:53 +01:00
Juan Linietsky
3f335ce3d4
Texture refactor
...
-Texture renamed to Texture2D
-TextureLayered as base now inherits 2Darray, cubemap and cubemap array
-Removed all references to flags in textures (they will go in the shader)
-Texture3D gone for now (will come back later done properly)
-Create base rasterizer for RenderDevice, RasterizerRD
2020-02-11 11:53:26 +01:00
Yuri Roubinsky
22ad83edae
Implemented hint_range for VisualShaderNodeScalarUniform
2020-02-07 17:04:24 +03:00
Yuri Roubinsky
c8639a0013
Added missing '\n' in visual shader fresnel node code generation
2020-02-03 12:33:37 +03:00
Yuri Roubinsky
b0f166f0c5
Few extra formatting fixes for visual shader node generation
...
For 'If' and 'Switch' nodes
2020-02-01 17:41:49 +03:00
Yuri Roubinsky
bfec48abf1
Better visual shader code generation
2020-02-01 15:53:02 +03:00
Yuri Roubinsky
4912d4c6e4
Added missed bracket to VisualShaderNodeCubeMap
2020-01-27 13:09:15 +03:00
Yuri Roubinsky
4445f892d2
Fix VisualShaderNodeCubeMap generation
2020-01-27 12:17:06 +03:00
Yuri Roubinsky
ce43c92208
Docs for some nodes in visual shader
...
Fix typo in `VisualShaderNodeCompare.ComparisonType` name.
2020-01-23 22:39:00 +01:00
Yuri Roubinsky
ed22a4c454
Merge pull request #33817 from Chaosus/vs_fresnel
...
Make Fresnel node in visual shaders to use default NORMAL/VIEW
2020-01-08 12:15:46 +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
Yuri Roubinsky
57441ab2c6
Added missed enum constant VisualShaderNodeTexture::SOURCE_PORT
2019-12-12 12:05:54 +03:00
Yuri Roubinsky
7abb09ecf4
Makes Fresnel node in visual shaders to use default NORMAL/VIEW
2019-11-22 18:28:59 +03:00
Yuri Roubinsky
8243afb0e9
Added sampler inputs for visual shaders
2019-11-03 17:59:15 +03:00
Rafał Mikrut
9ddb3265e1
Fix some crashes, overflows and using variables without values
2019-11-01 16:16:31 +01: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
d2fd2f32fc
Uses LoD even if UV slot is not used in visual shader textures
2019-10-10 13:11:04 +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
Chaosus
f14bcd8cc5
Added sampler port type for visual shaders
2019-10-01 13:20:08 +03:00
Yuri Rou
6dcd4379ca
Some formatting fixes in visual_shader_nodes.cpp
2019-09-18 19:04:40 +03:00
Chaosus89
c188c5597f
Removed useless code from Switch in visual shader
2019-09-05 09:07:13 +03:00
Chaosus89
a79d8e3b8f
Some improvements for Switch node in visual shaders
2019-09-03 15:11:02 +03:00
Yuri Roubinski
d0dc195da8
Some improvements to Mix visual shader function
2019-08-06 08:06:49 +03:00
Chaosus
c34d75b678
Fix outerProduct function in visual shaders
2019-08-01 08:29:05 +03:00
Rémi Verschelde
9384b6ab0e
i18n: Sync translation template with current source
...
Fix a few typos in new strings.
2019-07-19 16:08:40 +02:00
Rémi Verschelde
23f5154de7
Merge pull request #30532 from Chaosus/vs_triplanar
...
Added triplanar uniform texture node to visual shaders
2019-07-15 07:56:06 +02:00
Chaosus
9d6e1e3109
Added "Is" and "Compare" functions to visual shaders
2019-07-12 13:43:37 +03:00
Chaosus
0727caadd1
Added triplanar uniform texture node to visual shaders
2019-07-12 12:14:34 +03:00
Chaosus
670d8127da
Added DEPTH_TEXTURE to visual shaders
2019-07-05 12:19:20 +03:00
Chaosus
719a9a9c1c
Added Fresnel and OneMinus to visual shaders
2019-05-19 13:44:30 +03:00
Chaosus
4131b2b891
Renames captions of Scalar/VectorInterp in Visual Shaders
2019-04-29 21:04:11 +03:00
Chaosus
87f87839a6
Added conditional nodes to visual shaders
2019-04-13 18:17:20 +03:00
Chaosus
5fd671b8a7
Major improvements for visual shader system
2019-04-07 08:17:38 +03:00