summaryrefslogtreecommitdiff
path: root/servers/rendering
AgeCommit message (Collapse)Author
2020-08-29Fix recent glow regressionsclayjohn
2020-08-27rasterizer_rd.cpp: Correct small typoYetizone
2020-08-19Add fog to sky shadersclayjohn
2020-08-13Restored fog (non volumetric).Juan Linietsky
Uses a simpler and more intuitive implementation based on density. Its less flexible than before, but its easier to get nice results.
2020-08-13Added volumetric fog effect.Juan Linietsky
2020-07-28Fixed next_pass materials not being drawnBrian Semrau
2020-07-27Make all String float conversion methods be 64-bitAaron Franke
2020-07-23Fixes RenderingServer crashes reported by #39951Juan Linietsky
Supersedes #40026
2020-07-22Refactor light clusteringJuan Linietsky
Move from high end to shared, so all renderers use clustering.
2020-07-21Merge pull request #40450 from asmaloney/spellingRémi Verschelde
Fix spelling & grammar in comments, docs, and messages
2020-07-21Fix spelling & grammar in comments, docs, and messagesAndy Maloney
2020-07-17Fix spelling of a var, a struct, and message outputAndy Maloney
2020-07-14Fix some incorrect conversions which lead to crash in shadersYuri Roubinsky
2020-07-11Merge pull request #40272 from clayjohn/VULKAN-time-slicingRémi Verschelde
Add incremental update mode to sky
2020-07-11Add incremental update mode to skyclayjohn
2020-07-10Enables 'fma' for GLES2Yuri Roubinsky
2020-07-10Added 'fma' function to shader languageYuri Roubinsky
2020-07-01Merge pull request #40016 from akien-mga/environment-code-cleanupRémi Verschelde
Environment: Refactor code for readability + more
2020-07-01Merge pull request #38713 from aaronfranke/string-64bitRémi Verschelde
Make all String integer conversion methods be 64-bit
2020-07-01Environment: Refactor code for readability + moreRémi Verschelde
- Makes all boolean setters/getters consistent. - Fixes bug where `glow_hdr_bleed_scale` was not used. - Split CameraEffects to their own source file. - Reorder all Environment method and properties declarations, definitions and bindings to be consistent with each other and with the order of property bindings. - Bind missing enum values added with SDFGI. - Remove unused SDFGI enhance_ssr boolean. - Sync doc changes after SDFGI merge and other misc changes.
2020-07-01Added const qualifier support for function arguments in shadersYuri Roubinsky
2020-06-29Fix missing DEFVAL in RenderingDevice.storage_buffer_createIgnacio Etcheverry
2020-06-28Slight occlusion improvements.Juan Linietsky
2020-06-27Merge pull request #39869 from Chaosus/shader_fix_returnRémi Verschelde
Prevents usage of return in main shader functions
2020-06-27Prevents usage of return in main shader functionsYuri Roubinsky
2020-06-27Fixes recently introduced shader leaksqarmin
2020-06-26Addition of SDFGI for open world global illuminationJuan Linietsky
Move GI to a deferred pass
2020-06-25Fix few places in shaders where const passing still incorrectYuri Roubinsky
2020-06-19Implemented global const array to shadersYuri Roubinsky
2020-06-06Minor fix on GLSL shader parserjfons
2020-06-03Fix shader's length() function parsing in expressionsYuri Roubinsky
2020-06-03Remove 32-bit String hex_to_int methodAaron Franke
2020-06-02Light2D shadow mask construction fixlawnjelly
When using the default setting (layer 1 set only) nothing is stored in the tscn file for a Light2D, hence it relies on the value in the constructor. The problem is the constructed value is 1 in Light2D, and -1 in RasterizerCanvas::Light. -1 results in all bits being set so all occluders are shown, rather than just those in layer 1. This PR changes Rasterizer::Canvas constructor to set to 1. An alternative is to have -1 as the value for layer 1 throughout. (cherry picked from commit bf54fa5a62a980f5c4339137f9e2c6147642962c)
2020-05-27Split `Geometry` singleton into `Geometry2D` and `Geometry3D`Andrii Doroshenko (Xrayez)
Extra `_2d` suffixes are removed from 2D methods accoringly.
2020-05-18GLSL: Change shader type specifier from [vertex] to #[vertex]Rémi Verschelde
The added `#` prevents clang-format from misinterpreting the meaning of this statement and thus messing up the formatting of the next lines up until the first `layout` statement. Similarly, a semicolon is now enforced on `versions` defines to prevent clang-format from messing up formatting and putting them all on a single line. Note: In its current state the code will ignore chained statements on a single line separated by a semicolon. Also removed some extraneous lines missed in previous style changes or added by mistake with said changes (e.g. after uniform definitions that clang-format messes up somewhat too, but we live with it).
2020-05-14Style: Enforce braces around if blocks and loopsRémi Verschelde
Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14Style: Enforce separation line between function definitionsRémi Verschelde
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-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
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-14Enforce use of bool literals instead of integersRémi Verschelde
Using clang-tidy's `modernize-use-bool-literals`. https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-bool-literals.html
2020-05-14Modernize remaining uses of 0/NULL instead of nullptr (C++11)Rémi Verschelde
Using clang-tidy's `modernize-use-nullptr`. https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2020-05-14Port member initialization from constructor to declaration (C++11)Rémi Verschelde
Using `clang-tidy`'s `modernize-use-default-member-init` check and manual review of the changes, and some extra manual changes that `clang-tidy` failed to do. Also went manually through all of `core` to find occurrences that `clang-tidy` couldn't handle, especially all initializations done in a constructor without using initializer lists.
2020-05-12Fixes memory leak with lightmap part 2qarmin
2020-05-11Fix memory leak with light mapsqarmin
2020-05-10New lightmapperJuan Linietsky
-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-10Revert "Renamed plane's d to distance"Rémi Verschelde
This reverts commit ec7b481170dcd6a7b4cf0e6c1221e204ff7945f3. This was wrong, `d` is not a distance but the `d` constant in the parametric equation `ax + by + cz = d` describing the plane.
2020-05-10Style: clang-format: Disable AllowShortCaseLabelsOnASingleLineRémi Verschelde
Part of #33027.
2020-05-10Style: clang-format: Disable AllowShortIfStatementsOnASingleLineRémi Verschelde
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-10Style: Add missing copyright headersRémi Verschelde
2020-05-10Renamed plane's d to distanceMarcus Elg
2020-05-08Turn the anisotropic filtering setting into an enumHugo Locurcio
Since it only accepts power-of-two values, exposing it as an enum makes more sense. This also allows for adding property hints to indicate the performance cost of each value. This also improves property hints for MSAA and FXAA.