1
0
Fork 0
godot/servers/rendering
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
..
dummy Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
renderer_rd Add color pass flags to Forward Clustered renderer 2022-04-01 12:12:49 +02:00
storage 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
renderer_canvas_cull.cpp Fix canvas_group not being freed in RendererCanvasCull::free 2022-03-29 15:45:27 +03:00
renderer_canvas_cull.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
renderer_canvas_render.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
renderer_canvas_render.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
renderer_compositor.cpp Implementing OpenXR driver 2022-02-23 12:02:24 +01:00
renderer_compositor.h Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
renderer_scene.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
renderer_scene.h Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
renderer_scene_cull.cpp Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
renderer_scene_cull.h Replace DirectionalLight3D's `use_in_sky_only` with `sky_mode` enum 2022-03-17 14:00:02 -07:00
renderer_scene_occlusion_cull.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
renderer_scene_occlusion_cull.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
renderer_scene_render.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
renderer_scene_render.h Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
renderer_storage.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
renderer_storage.h Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
renderer_thread_pool.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
renderer_thread_pool.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
renderer_viewport.cpp Split dummy renderer classes into separate files 2022-03-16 17:43:10 +11:00
renderer_viewport.h Enable 16-bit shadow atlas by default in the RenderingServer methods 2022-02-04 16:41:08 +01:00
rendering_device.cpp Merge pull request #53857 from briansemrau/rd-free-rid-bind-rename 2022-01-20 17:24:34 +01:00
rendering_device.h Add color pass flags to Forward Clustered renderer 2022-04-01 12:12:49 +02:00
rendering_device_binds.cpp String: Add contains(). 2022-02-04 01:28:02 +05:45
rendering_device_binds.h Add a UniformSet cache 2022-03-06 13:03:33 +01:00
rendering_server_default.cpp Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
rendering_server_default.h Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
rendering_server_globals.cpp Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
rendering_server_globals.h Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
shader_compiler.cpp Use Filament specular models and parametrization 2022-02-22 19:39:41 -08:00
shader_compiler.h Optimize include files to improve `shader_language.h` compilation speed 2022-01-12 14:19:12 +03:00
shader_language.cpp Add GDExtension support to Script 2022-03-27 16:13:00 +02:00
shader_language.h Add GDExtension support to Script 2022-03-27 16:13:00 +02:00
shader_types.cpp Remove `SHADOW_ATTENUATION` spatial light shader built-in 2022-03-29 08:43:31 +03:00
shader_types.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
shader_warnings.cpp Add translation links to shader errors 2022-01-19 15:16:32 +03:00
shader_warnings.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00