summaryrefslogtreecommitdiff
path: root/servers/rendering/rasterizer_rd/shaders
AgeCommit message (Collapse)Author
2020-11-28Merge pull request #42761 from fire/color-grading-3dRémi Verschelde
Environment brightness, contrast, saturation restore with 3d LUT.
2020-11-28Environment brightness, contrast, saturation restore with color correction.clayjohn
Allow gradients and 2d images. Use shader versions for LUT in tonemap Co-authored-by: alex-poe <3957610+CptPotato@users.noreply.github.com> Co-authored-by: QbieShay <cislaghi.ilaria@gmail.com> Co-authored-by: Clay John <claynjohn@gmail.com>
2020-11-26Implement signed distance fields for 2D shadersreduz
2020-11-16Remove empty lines around braces with the formatting scriptAaron Franke
2020-11-04Implement DirectionalLight2Dreduz
Also separated Light2D in PointLight2D and DirectionalLight2D. Used PointLight2D because its more of a point, and it does not work the same as OmniLight (as shape depends on texture). Added a few utility methods to Rect2D I needed.
2020-11-02Alpha Hash and Alpha2Coverage ImplementationMarios Staikopoulos
2020-10-30Refactor pixel snapping.reduz
-Rename pixel_snap to snap_2d_to_vertices -Added snap_2d_to_transforms which is more useful Fixes #41814 Solves proposal https://github.com/godotengine/godot-proposals/issues/1666 Supersedes #35606, supersedes #41535, supersedes #41534
2020-10-28Implement CanvasGroup and CanvasItem clippingreduz
-Allows merging several 2D objects into a single draw operation -Use current node to clip children nodes -Further fixes to Vulkan barriers -Changed font texture generation to white, fixes dark eges when blurred -Other small misc fixes to backbuffer code.
2020-10-25Merge pull request #43058 from clayjohn/VULKAN-FXAA-bugRémi Verschelde
[4.0]Remove extra exposure multiply in FXAA
2020-10-24Remove extra exposure multiply in FXAAclayjohn
2020-10-24Refactored 2D shader and lighting systemreduz
-Removed normal/specular properties from nodes -Create CanvasTexture, which can contain normal/specular channels -Refactored, optimized and simplified 2D shaders -Use atlas for light textures. -Use a shadow atlas for shadow textures. -Use both items aboves to make light rendering stateless (faster). -Reorganized uniform sets for more efficiency.
2020-10-20Remove unused `#define` from the tonemap shaderHugo Locurcio
It was a leftover from an earlier version of the debanding PR which used a simpler (but less effective) algorithm.
2020-10-19Merge pull request #42915 from Yetizone/negative_lights_behaviorRémi Verschelde
tonemap.glsl: Ensure color parameter of tonemap_reinhard() is positive
2020-10-20tonemap.glsl: Ensure color parameter of tonemap_reinhard() is positiveYetizone
Color values can become negative in the case of negative lights which leads to undesired behaviour.
2020-10-19Fix debanding slightly brightening the whole viewportHugo Locurcio
Thanks to Mikkel Gjoel on Twitter for the tip :)
2020-10-19Merge pull request #38097 from Calinou/add-viewport-debandingJuan Linietsky
Add a debanding property to Viewport
2020-10-18Revert "Replace SAO implementation with MSSAO"Juan Linietsky
2020-10-18Merge pull request #42077 from clayjohn/MSSAOJuan Linietsky
Replace SAO implementation with MSSAO
2020-10-18Merge pull request #41415 from clayjohn/VULKAN-shader-overridesJuan Linietsky
Add FOG, RADIANCE, and IRRADIANCE shader overrides
2020-10-18Merge pull request #42201 from clayjohn/Vulkan-new-glowJuan Linietsky
Optimize Glow with local memory
2020-10-18Replace SAO implementation with MSSAOclayjohn
2020-10-18Add FOG, RADIANCE, and IRRADIANCE shader overridesclayjohn
2020-10-18Optimize Glow with local memoryclayjohn
2020-10-18Merge pull request #38949 from puchik/ssr-fix-cutoffJuan Linietsky
Continue tracing screen space reflection after encountering sky
2020-10-17Add aerial perspective to fixed fogclayjohn
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-14Add a debanding property to ViewportHugo Locurcio
It can be enabled in the Project Settings (`rendering/quality/screen_filters/use_debanding`). It's disabled by default as it has a small performance impact and can make PNG screenshots much larger (due to how dithering works). It will also slightly brighten the scene's dark areas. As a result, it should be enabled only when banding is noticeable enough. This closes #17006.
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-22Continue tracing screen space reflection after encountering skyArman
Instead of breaking the whole trace when encountering the sky/camera far clip, continue tracing and check if "hits" are sky/far clip or not. Prevents some objects not being reflected due to gaps.
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.