godot/servers/rendering/renderer_rd
jfons e69d762dd0 Add color pass flags to Forward Clustered renderer
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-04-01 12:12:49 +02:00
..
forward_clustered Add color pass flags to Forward Clustered renderer 2022-04-01 12:12:49 +02:00
forward_mobile Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
shaders Add color pass flags to Forward Clustered renderer 2022-04-01 12:12:49 +02:00
storage_rd Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
SCsub Split dummy renderer classes into separate files 2022-03-16 17:43:10 +11:00
cluster_builder_rd.cpp Add a UniformSet cache 2022-03-06 13:03:33 +01:00
cluster_builder_rd.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
effects_rd.cpp Add a UniformSet cache 2022-03-06 13:03:33 +01:00
effects_rd.h Implementing OpenXR driver 2022-02-23 12:02:24 +01:00
pipeline_cache_rd.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
pipeline_cache_rd.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
renderer_canvas_render_rd.cpp Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
renderer_canvas_render_rd.h Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
renderer_compositor_rd.cpp Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
renderer_compositor_rd.h Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
renderer_scene_environment_rd.cpp add support for glow maps 2022-01-20 16:47:25 +01:00
renderer_scene_environment_rd.h Merge pull request #39965 from Calinou/tweak-sdfgi-defaults 2022-02-10 17:31:54 +01:00
renderer_scene_gi_rd.cpp Replace DirectionalLight3D's `use_in_sky_only` with `sky_mode` enum 2022-03-17 14:00:02 -07:00
renderer_scene_gi_rd.h Split dummy renderer classes into separate files 2022-03-16 17:43:10 +11:00
renderer_scene_render_rd.cpp Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
renderer_scene_render_rd.h Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
renderer_scene_sky_rd.cpp Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
renderer_scene_sky_rd.h Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
renderer_storage_rd.cpp Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
renderer_storage_rd.h Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
shader_rd.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
shader_rd.h Style: Remove inconsistently used `@author` docstrings 2022-01-04 20:42:50 +01:00
uniform_set_cache_rd.cpp Fix typos with codespell 2022-03-31 14:07:29 +02:00
uniform_set_cache_rd.h Add a UniformSet cache 2022-03-06 13:03:33 +01:00