summaryrefslogtreecommitdiff
path: root/servers/rendering/renderer_rd/shaders
AgeCommit message (Collapse)Author
2021-08-18More fixes to mobile rendererreduz
* Specify all precision qualifiers * Makes renderer work on Adreno Vulkan
2021-08-16Merge pull request #51635 from reduz/further-mobile-optimizationsJuan Linietsky
More optimizations on the mobile renderer.
2021-08-14Merge pull request #50998 from BastiaanOlij/single_bokeh_dof_rasterRémi Verschelde
Rewrote raster DOF shader to using BOKEH
2021-08-13More optimizations on the mobile renderer.reduz
* Specialization constants used to disable anything not needed to draw * Added softshadow and projector support on mobile. This new approach ensures mobile shaders are smaller and more efficient, but relies on more pipeline versions compiled on demand. As a result, random stalls can ocur like in Godot 3.x. These will be solved by using background compilation and fallbacks eventually (but needs to be tested first).
2021-08-13Merge pull request #51025 from reduz/fix-directional-shadow-biasRémi Verschelde
Fix directional shadow bias
2021-08-13Implemented raster versions of bokeh shaders to replace broken gaussian ↵Bastiaan Olij
implementation
2021-08-11Merge pull request #51486 from reduz/fixes-to-mobile-rendererRémi Verschelde
Fixes and optimizations to mobile renderer
2021-08-10Use f0 instead of albedo in blinn and phongclayjohn
2021-08-10Fixes and optimizations to mobile rendererreduz
* Only apply final actions to attachments used in the last pass. * Fixes to draw list final action (was using continue instead of read/drop). * Profiling regions inside draw lists now properly throw errors. * Ability to enable gpu profile printing from project settings. (used to debug).
2021-08-10Merge pull request #51411 from clayjohn/VULKAN-blinn-phongRémi Verschelde
[4.0] Make Blinn and Phong specular modes take albedo into account
2021-08-10Merge pull request #51436 from Calinou/tonemap-clamp-negative-colorsRémi Verschelde
Clamp negative colors regardless of the tonemapper to avoid artifacts
2021-08-10Merge pull request #51417 from clayjohn/Vulkan-horizon-soRémi Verschelde
Add horizon specular occlusion
2021-08-09Make Blinn and Phong specular modes PBRclayjohn
2021-08-09Clamp negative colors regardless of the tonemapper to avoid artifactsHugo Locurcio
Color artifacts could be visible when using negative lights with the Filmic and ACES tonemapping operators, as these did not clamp negative colors.
2021-08-09Merge pull request #51155 from Chaosus/shader_fix_specular_modeRémi Verschelde
Fix a default shader specular render mode to `SCHLICK_GGX`
2021-08-08Add horizon specular occlusionclayjohn
2021-08-06Use subpasses to do 3D rendering and resolve in mobile rendererBastiaan Olij
2021-08-06Fix a default shader specular render mode to (`SCHLICK_GGX`/`BLINN`)Yuri Roubinsky
2021-08-01Porting cubemap compute shaders to raster for the mobile rendererBastiaan Olij
2021-07-29Fix directional shadow biasreduz
* Simplified code a lot, bias based on normalized cascade size. * Lets scale cascades, max distance, etc. without creating acne. * Fixed normal biasing in directional shadows. I removed normal biasing in both omni and spot shadows, since the technique can't be easily implemented there. Will need to be replaced by something else.
2021-07-25Fix various typosluz paz
Follow-up typos found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
2021-07-25Merge pull request #50250 from luzpaz/typosRémi Verschelde
Fix various typos
2021-07-25Merge pull request #50644 from BastiaanOlij/mobile_compute_to_fragmentRémi Verschelde
2021-07-25Fix various typos with codespellluz paz
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
2021-07-25Use fragment shader instead of compute shader for effects for mobile rendererBastiaan Olij
2021-07-19Implement more rendering options as specialization constantsreduz
* Shadow quality settings now specialization constant. * Decal and light projector filters can be set. * Changing those settings forces re-creation of the pipelines. These changes should help improve performance related to shadow mapping, and allows improving performance by sacrificing decal and light projector quality.
2021-07-15Fixes to forward mobilereduz
* use valid format for framebuffer: VK_FORMAT_A2B10G10R10_UNORM_PACK32 * Unfortunately cant be used for compute. * Mobile will need to do refprobe, sky, mipmapblurring using raster.
2021-07-12Use specialization constants in clustered rendererreduz
* Keep track of when projector, softshadow or directional sofshadow were enabled. * Enable them via specializaton constant where it makes sense. * Re-implements soft shadows. * Re-implements light projectors.
2021-07-05Fix Subsurface Scatteringreduz
* Works again * Transmittance also works again * Removed the curve patamter, exp() function is good enough.
2021-07-03Fix SSRreduz
* Was broken at some point long time ago, this restores it.
2021-07-01Clean up RenderingServer and its bindingsreduz
* Rewrote bindings for RenderingServer. * They are now all up to date. * Several unused methods and deprecated features were cleaned up.
2021-06-29Fix non uniform scaling in 3D objectsreduz
* Flag was there, but not implemented. * Fixed issue with base flags not being initialized.
2021-06-23Fixes Mesh2D drawn without modulationGilles Roudière
2021-06-15Fix typo in CUSTOM_IRRADIANCE calculationsKodi
2021-06-13Add stereoscopic rendering through multiviewBastiaan Olij
2021-06-12Make shader compiler again after roughness limiter fixreduz
Fix shader compilation error after merging #49549
2021-06-12Fix roughness limiter derivativeclayjohn
2021-06-09Fix shader compilation with render_mode: `specular_phong`Yuri Roubinsky
2021-06-08Removes deleted OrenNayar mode from shaders and materialsYuri Roubinsky
2021-06-05Rename GI Classesreduz
* GIProbe is now VoxelGI * BakedLightmap is now LightmapGI As godot adds more ways to provide GI (as an example, SDFGI in 4.0), the different techniques (which have different pros/cons) need to be properly named to avoid confusion.
2021-05-23Support for 2D particles to collide against SDFreduz
-Added SDF collision support for 2D particles -Changed the SDF generation to be fully signed
2021-05-20Fix typos with codespellRémi Verschelde
Using codespell 2.0.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear dof doubleclick fave findn GIRD 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 ```
2021-05-12Implementing blit shader with versionsBastiaan Olij
2021-05-11Fixes missng 2D engine bitsreduz
-Mesh2D now works -MultiMesh2D now works -Polygon2D now works -Added hooks for processing 2D particles -Skeleton2D now works 2D particles still not working, but stuff needed for it is now implemented.
2021-05-03Assorted fixes to UV unwrapping and GPU lightmapperjfons
Various fixes to UV2 unwrapping and the GPU lightmapper. Listed here for context in case of git blame/bisect: * Fix UV2 unwrapping on import, also cleaned up the unwrap cache code. * Fix saving of RGBA images in EXR format. * Fixes to the GPU lightmapper: - Added padding between atlas elements, avoids bleeding. - Remove old SDF generation code. - Fix baked attenuation for Omni/Spot lights. - Fix baking of material properties onto UV2 (wireframe was wrongly used before). - Disable statically baked lights for objects that have a lightmap texture to avoid applying the same light twice. - Fix lightmap pairing in RendererSceneCull. - Fix UV2 array generated from `RenderingServer::mesh_surface_get_arrays()`. - Port autoexposure fix for OIDN from 3.x. - Save debug textures as EXR when using floating point format.
2021-05-03Create mobile rendererBastiaan Olij
2021-04-30Implement Particle Trailsreduz
-Enable the trails and set the length in seconds -Provide a mesh with a skeleton and a skin -Or, alternatively use one of the built-in TubeTrailMesh/RibbonTrailMesh -Works deterministically -Fixed particle collisions (were broken) -Not working in 2D yet (that will happen next)
2021-04-21Fix reflection probeBastiaan Olij
2021-04-17Split particle shader entry pointsreduz
* Particle shaders now have start() and process() * Particle collision happens between them. * The RESTART property is kept, so porting an old shader is still possible. This fixes the problem of particle collisions not functioning on the first particle frame.
2021-04-14Refactor GLSL shader compilationreduz
-Used a more consistent set of keywords for the shader -Remove all harcoded entry points -Re-wrote the GLSL shader parser, new system is more flexible. Allows any entry point organization. -Entry point for sky shaders is now sky(). -Entry point for particle shaders is now process().