Commit graph

149 commits

Author SHA1 Message Date
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
Windy Darian
52538b200f Fix saturate ScalarFunc in Visual Shader
Was getting this error when using a saturate node. This change fixes it.
```
 :39 - Invalid arguments for built-in function: max(float,int)
 drivers\gles3\rasterizer_storage_gles3.cpp:2150 - Condition ' err != OK ' is true.
```
2019-02-25 23:30:03 -05:00
clayjohn
b78a384921 change hint_color to hint_albedo for sampler2ds 2019-02-04 22:12:25 -08:00
Juan Linietsky
3eb0757552 Modified code generation to be more friendly to previews, fixes #25094 2019-01-21 16:10:23 -03:00
Rémi Verschelde
b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Rémi Verschelde
9eb4d4ab2d Add missing copyright headers 2018-08-29 22:41:17 +02:00
Marcelo Fernandez
e4db15471b Fix some missing BIND_ENUM_CONSTANT for visual_shader_nodes.cpp 2018-07-17 18:31:22 -03:00
Chaosus
3af81427a1 Several name fixes for visual shader 2018-07-15 17:28:06 +03:00
Juan Linietsky
f6ce73f724 Visual Shaders are back. 2018-07-14 18:16:18 -03:00