Commit Graph

327 Commits

Author SHA1 Message Date
d0bddf53c5 Implement manual particle emission and particle sub emitters. 2020-09-06 10:29:27 -03:00
b1351fe781 Fix crash regression in the shader function validation
introduced in #41780
2020-09-05 13:49:50 +03:00
ab9978697e Improve messages in shader function validation 2020-09-05 13:19:38 +03:00
80b8eff6aa [Complex Test Layouts] Change String to use UTF-32 encoding on all platforms. 2020-09-03 19:56:24 +03:00
2a00c868de Fix particles shader to use built-ins 2020-09-02 22:54:41 +03:00
56e2c6c704 Make all String float conversion methods be 64-bit 2020-07-27 18:38:53 -04:00
01950553f2 Fix some incorrect conversions which lead to crash in shaders 2020-07-14 21:04:12 +03:00
3eeb272b2e Enables 'fma' for GLES2 2020-07-10 22:21:22 +03:00
ecb5f7ea23 Added 'fma' function to shader language 2020-07-10 19:58:03 +03:00
a8a2769bb6 Merge pull request #38713 from aaronfranke/string-64bit
Make all String integer conversion methods be 64-bit
2020-07-01 16:01:05 +02:00
c554d9e556 Added const qualifier support for function arguments in shaders 2020-07-01 12:55:00 +03:00
2ce77e4b57 Prevents usage of return in main shader functions 2020-06-27 17:36:45 +03:00
b6ca9536f2 Fix few places in shaders where const passing still incorrect 2020-06-25 10:40:19 +03:00
636a9d9f50 Implemented global const array to shaders 2020-06-19 16:04:54 +03:00
e5ae89775a Remove 32-bit String hex_to_int method 2020-06-03 00:03:34 -04:00
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
07bc4e2f96 Style: Enforce separation line between function definitions
I couldn't find a tool that enforces it, so I went the manual route:
```
find -name "thirdparty" -prune \
  -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \
  -o -name "*.glsl" > files
perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files)
misc/scripts/fix_style.sh -c
```

This adds a newline after all `}` on the first column, unless they
are followed by `#` (typically `#endif`). This leads to having lots
of places with two lines between function/class definitions, but
clang-format then fixes it as we enforce max one line of separation.

This doesn't fix potential occurrences of function definitions which
are indented (e.g. for a helper class defined in a .cpp), but it's
better than nothing. Also can't be made to run easily on CI/hooks so
we'll have to be careful with new code.

Part of #33027.
2020-05-14 16:54:55 +02:00
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
1bea8e1eac New lightmapper
-Added LocalVector (needed it)
-Added stb_rect_pack (It's pretty cool, we could probably use it for other stuff too)
-Fixes and changes all around the place
-Added library for 128 bits fixed point (required for Delaunay3D)
2020-05-10 15:59:09 -03:00
69de7ce38c Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine
Part of #33027.
2020-05-10 13:13:54 +02:00
e956e80c1f Style: clang-format: Disable AllowShortIfStatementsOnASingleLine
Part of #33027, also discussed in #29848.

Enforcing the use of brackets even on single line statements would be
preferred, but `clang-format` doesn't have this functionality yet.
2020-05-10 13:12:16 +02:00
0bf6a86db4 Merge pull request #37795 from Chaosus/shader_fix_const_order2
Fix shader constant sorting
2020-04-29 09:41:34 +02:00
0e1c66d9fc Implement global and per instance shader uniforms.
Adds two keywords to shader language for uniforms:
-'global'
-'instance'

This allows them to reference values outside the material.
2020-04-17 12:35:41 -03:00
bc30f541e6 Fix shader constant sorting 2020-04-11 12:40:17 +03:00
95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
aa33db056a Prevent shader crash if multiple variables has been declared in 'for' 2020-03-28 19:51:42 +03:00
a6f3bc7c69 Renaming of servers for coherency.
VisualServer -> RenderingServer
PhysicsServer -> PhysicsServer3D
Physics2DServer -> PhysicsServer2D
NavigationServer -> NavigationServer3D
Navigation2DServer -> NavigationServer2D

Also renamed corresponding files.
2020-03-27 15:21:27 -03:00