summaryrefslogtreecommitdiff
path: root/servers/rendering/renderer_rd
AgeCommit message (Collapse)Author
2022-04-25Merge pull request #60407 from JFonS/fix_color_pass_lmRémi Verschelde
2022-04-22Implement Label3D node.bruvzg
Add "generate_mipmap" font import option. Add some missing features to the Sprite3D. Move BiDi override code from Control to TextServer. Add functions to access TextServer font cache textures. Add MSDF related flags and shader to the standard material. Change standard material cache to use HashMap instead of Vector.
2022-04-21Add missing color pass flags to the valid listJoan Fons
Some valid flag combinations were missing, causing error spam in certain situations.
2022-04-19Merge pull request #60214 from JFonS/fix_depth_prepassClay John
Fix depth pre-pass on all face cull modes
2022-04-17Moved particles into ParticlesStorageBastiaan Olij
2022-04-17Move light, reflection probe and lightmap into LightStorageBastiaan Olij
2022-04-17Merge canvas and decal into TextureStorage and add render targetBastiaan Olij
2022-04-13Merge pull request #60213 from JFonS/fix_depth_stateRémi Verschelde
2022-04-13Fix depth pre-pass on all face cull modesJoan Fons
The default shadow material was used for depth rendering disregarding the cull mode of the original material. This commit adds a check so the default shadow material is only used when the original material has back-face culling.
2022-04-13Fix regression in rasterizer stateJoan Fons
Fixes a regression introduced by the color pass flags rework. The various rasterizer state structs were not being reset for each flag combination, which meant some state changes were wrongly applied to some flag combinations.
2022-04-13Color: Rename `to_srgb`/`to_linear` to include base color spaceRémi Verschelde
This helps reduce confusion around sRGB <> Linear conversions by making both input and output color spaces explicit.
2022-04-11Use less blur for distant directional shadow splitsHugo Locurcio
This makes the transition between shadow splits less noticeable, specially when the expensive Blend Splits property is disabled.
2022-04-11Merge pull request #60137 from JFonS/fix_default_shadow_texRémi Verschelde
Fix Vulkan validation errors on default depth textures
2022-04-11Merge pull request #60138 from JFonS/fix_spec_constantsRémi Verschelde
2022-04-11Fix specialization constant updates in color passesjfons
The color pass specialization constants were not being updated after splitting them to their own array.
2022-04-11Make FileAccess and DirAccess classes reference counted.bruvzg
2022-04-11Fix Vulkan validation errors on default depth texturesjfons
The validation layers were complaining that we use DEFAULT_RD_TEXTURE_WHITE (which is RGBA8) in places where it's sampled as a depth texture. This commit adds the new default texture DEFAULT_RD_TEXTURE_DEPTH and uses it where needed.
2022-04-06Fix some issues found by cppcheck.bruvzg
2022-04-04Zero initialize all pointer class and struct membersRémi Verschelde
This prevents the pitfall of UB when checking if they have been assigned something valid by comparing to nullptr.
2022-04-02Move storage for Mesh, MeshInstance, MultiMesh and Skeleton into MeshStorageBastiaan Olij
2022-04-01Add color pass flags to Forward Clustered rendererjfons
This commit removes a lot of enum values related to the color render pass in favor of a new flag-bases approach. This means instead of hard-coding all the possible option combinations into enums, we can write our logic by checking a bit-mask. The changes in rendering_device_vulkan.cpp add support for unused attachments. That means RenderingDeviceVulkan::framebuffer_create() can take null RIDs in the attachments vector, which will result in VK_ATTACHMENT_UNUSED entries in the render pass. This is used in this same PR to establish fixed locations for the color pass attachments (only color and separate specular so far, but TAA will add motion vectors as well). This way the attachment locations in the shader can stay the same regardless of which attachments are actually used. Right now all the combinations of flags are generated, but we will need to add a way to limit the amount of combinations in the future.
2022-03-31Merge pull request #59385 from BastiaanOlij/extract_shader_storageRémi Verschelde
2022-03-31Fix typos with codespellRémi Verschelde
Using codespell 2.2-dev from current git. Fix a couple incorrect uses of gendered pronouns.
2022-03-31Extract global variable, shader and material storageBastiaan Olij
2022-03-29Remove `SHADOW_ATTENUATION` spatial light shader built-inYuri Roubinsky
2022-03-25Fix shader undefined variablenevarek
2022-03-21Extract Decal and Decal atlas from Storage classBastiaan Olij
2022-03-20Call the correct texture free method on texture storage cleanupBastiaan Olij
2022-03-18Add inverse projection matrix to fragment shader globalsnevarek
2022-03-18Rename several transform built-ins in shadersYuri Roubinsky
2022-03-18Merge pull request #59087 from clayjohn/sky-modeRémi Verschelde
Replace DirectionalLight3D's `use_in_sky_only` with `sky_mode` enum
2022-03-17Merge pull request #58954 from Ansraer/alpha_scissorRémi Verschelde
[4.0] Fix alpha scissor support
2022-03-17Replace DirectionalLight3D's `use_in_sky_only` with `sky_mode` enumHugo Locurcio
3 options are available: - Light and Sky (default) - Light Only (new) - Sky Only (equivalent to `use_in_sky_only = true`) Co-authored by: clayjohn <claynjohn@gmail.com>
2022-03-17Another `-Wsign-compare` fixRémi Verschelde
Fixing CI while afk, fun.
2022-03-17Fix `-Wsign-compare` warning after #58993Rémi Verschelde
2022-03-17Merge pull request #58993 from notSanil/device-limit-exceeded-fixRémi Verschelde
2022-03-17Fix alpha scissor supportAnsraer
2022-03-16Fix device limit exceeding for uniform buffernotSanil
2022-03-16Split dummy renderer classes into separate filesBastiaan Olij
Split canvas_texture_storage and texture_storage from render_storage class
2022-03-16Merge pull request #49092 from BastiaanOlij/multiview_clusteredRémi Verschelde
Add multiview support to the clustered forward renderer
2022-03-15Merge pull request #45263 from KoBeWi/😕Rémi Verschelde
2022-03-14Fix D_GGX code which can cause divide-by-zero valsnowapril
When given roughness is lower than 0.01, d value in original code will be zero. This can make last return value as NAN because of divide-by-zero. This is well addressed in issue #56373. Modified code is referenced on D_GGX function of google/filament (https://github.com/google/filament/blob/main/shaders/src/brdf.fs#L54-L79) Signed-off-by: snowapril <sinjihng@gmail.com>
2022-03-13Merge pull request #58819 from vreon/fix-eyedir-zRémi Verschelde
Fix flipped EYEDIR.z in sky shaders
2022-03-09Change some math macros to constexprkobewi
Changes `MAX`, `MIN`, `ABS`, `CLAMP` and `SIGN`.
2022-03-08Sky renderer: Only flip Z when calculating panorama_coordsJesse Dubay
2022-03-08Merge pull request #49447 from Calinou/remove-shadow-color-propertyRémi Verschelde
Remove unused `shadow_color` property from Light3D
2022-03-07Merge pull request #58779 from techiepriyansh/forward-mobile-ambient-accumRémi Verschelde
2022-03-06Sky renderer: Don't invert Z component of light directionJesse Dubay
2022-03-06Add a UniformSet cachereduz
* Changed syntax usage for RD::Uniform to create faster with a single RID * Converted render pass setup to use this in clustered renderer to test. This is the first step into creating a proper uniform set cache system to simplify large parts of the codebase.
2022-03-05Fix flipped EYEDIR.z in sky shadersJesse Dubay