summaryrefslogtreecommitdiff
path: root/servers/rendering/rasterizer_rd/shaders
AgeCommit message (Collapse)Author
2020-10-18Optimize Glow with local memoryclayjohn
2020-10-15Fix "fixed" fog drawing in front of volumetric fog with a sky backgroundHugo Locurcio
This closes #42820. Co-authored-by: Clay John <claynjohn@gmail.com>
2020-10-09Implement GPU Particle Collisionsreduz
-Sphere Attractor -Box Attractor -Vector Field -Sphere Collider -Box Collider -Baked SDF Collider -Heightmap Collider
2020-09-18Fix typos with codespellRémi Verschelde
Using codespell 1.17.1. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear dof doubleclick fave findn leapyear lod merchantibility nd numer ois ony que seeked synching te uint unselect webp EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
2020-09-06Implement manual particle emission and particle sub emitters.reduz
2020-09-04Merge pull request #40958 from clayjohn/VULKAN-shadow-noiseRémi Verschelde
Improve the quick hash function for all GPUs
2020-09-02Re-Implement GPU particles on master.Juan Linietsky
-No new features yet -Unlike godot 3.x, sorting happens using GPU
2020-09-01Merge pull request #41668 from clayjohn/GLOW-HQRémi Verschelde
Add high quality glow mode
2020-09-01Fix typo in SDF jumpflood shaderJFonS
2020-08-31Add high quality glow modeclayjohn
2020-08-29Fix recent glow regressionsclayjohn
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-08-01Improve the quick hash function for all GPUsclayjohn
2020-07-22Refactor light clusteringJuan Linietsky
Move from high end to shared, so all renderers use clustering.
2020-06-28Slight occlusion improvements.Juan Linietsky
2020-06-26Addition of SDFGI for open world global illuminationJuan Linietsky
Move GI to a deferred pass
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 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-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-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-04-23Fix "redefinition of 'ssr' with a different type" shader compile error.bruvzg
2020-04-17Merge pull request #37949 from reduz/implement-global-shader-uniformsRémi Verschelde
Implement global and per instance shader uniforms.
2020-04-17Add light size to Sky Shadersclayjohn
2020-04-17Implement global and per instance shader uniforms.Juan Linietsky
Adds two keywords to shader language for uniforms: -'global' -'instance' This allows them to reference values outside the material.
2020-04-14Add support for projectors in spot and omni lights.Juan Linietsky
2020-04-14Merge pull request #37861 from reduz/implement-decalsRémi Verschelde
Implement decals
2020-04-14Implement decalsJuan Linietsky
Also implemented decal atlas, so projectors and other stuff can be added. Sidenote: Had to make RID hashable, so some unrelated includes changed in order to include it in hashfuncs.h
2020-04-13Merge pull request #37749 from clayjohn/Vulkan-improved-ssRémi Verschelde
Add vogel filter and settings to soft shadows
2020-04-12Implement MSAAJuan Linietsky
2020-04-12Add screen space AA option, with FXAA implementation.Juan Linietsky
2020-04-11Merge pull request #37808 from reduz/port-effects-to-computeJuan Linietsky
Moved most of the effect code to compute.
2020-04-11Moved most of the effect code to compute.Juan Linietsky
Simplifies it and improves performance. Improves image barrier handling per mipmap on RenderingDeviceVulkan
2020-04-11Merge pull request #37794 from clayjohn/VULKAN-SSS-skyRémi Verschelde
Fix SSS affecting Sky
2020-04-11Fix SSS affecting Skyclayjohn
2020-04-10Add proper quality settings to soft shadowsclayjohn
2020-04-09Support light size and soft shadowsJuan Linietsky
2020-04-08Refactored shadowmapping.Juan Linietsky
- Made shadow bias size independent, so it will remain when changing light or camera size. - Implemented normal offset bias, which greatly enhances quality. - Added transmission to subsurface scattering - Reimplemented shadow filter modes Closes #17260
2020-04-04Re-implement subsurface scattering.Juan Linietsky
The size settings are more "just works", with default scale and depth scale values that don't need much tweaking. Additionally, a "skin" mode was added so skin looks better. EDIT: Cleaned up SSR filter shader a bit.
2020-04-03Merge pull request #37438 from clayjohn/VULKAN-sky-invertRémi Verschelde
Invert Sky subpass cubemap z direction
2020-04-02Re-Added screen space reflection.Juan Linietsky
2020-03-30Invert subpass cubemap z directionclayjohn
2020-03-30SCons: Format buildsystem files with psf/blackRémi Verschelde
Configured for a max line length of 120 characters. psf/black is very opinionated and purposely doesn't leave much room for configuration. The output is mostly OK so that should be fine for us, but some things worth noting: - Manually wrapped strings will be reflowed, so by using a line length of 120 for the sake of preserving readability for our long command calls, it also means that some manually wrapped strings are back on the same line and should be manually merged again. - Code generators using string concatenation extensively look awful, since black puts each operand on a single line. We need to refactor these generators to use more pythonic string formatting, for which many options are available (`%`, `format` or f-strings). - CI checks and a pre-commit hook will be added to ensure that future buildsystem changes are well-formatted.
2020-03-27Renaming of servers for coherency.Juan Linietsky
VisualServer -> RenderingServer PhysicsServer -> PhysicsServer3D Physics2DServer -> PhysicsServer2D NavigationServer -> NavigationServer3D Navigation2DServer -> NavigationServer2D Also renamed corresponding files.