diff options
| author | Bastiaan Olij <mux213@gmail.com> | 2021-05-11 23:08:38 +1000 |
|---|---|---|
| committer | Bastiaan Olij <mux213@gmail.com> | 2021-05-12 22:52:28 +1000 |
| commit | 02980be83443ab685651cec7967f1e939351e55e (patch) | |
| tree | b12e6dbf54c96d77075d19cf5e47eb774d99e5d2 /servers/rendering/renderer_rd/renderer_compositor_rd.h | |
| parent | 0c693f878147d6c1e1a5fc48a92a40b189c915ad (diff) | |
| download | redot-engine-02980be83443ab685651cec7967f1e939351e55e.tar.gz | |
Implementing blit shader with versions
Diffstat (limited to 'servers/rendering/renderer_rd/renderer_compositor_rd.h')
| -rw-r--r-- | servers/rendering/renderer_rd/renderer_compositor_rd.h | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/servers/rendering/renderer_rd/renderer_compositor_rd.h b/servers/rendering/renderer_rd/renderer_compositor_rd.h index b3865de2bf..52552f7ee3 100644 --- a/servers/rendering/renderer_rd/renderer_compositor_rd.h +++ b/servers/rendering/renderer_rd/renderer_compositor_rd.h @@ -38,6 +38,7 @@ #include "servers/rendering/renderer_rd/forward_mobile/render_forward_mobile.h" #include "servers/rendering/renderer_rd/renderer_canvas_render_rd.h" #include "servers/rendering/renderer_rd/renderer_storage_rd.h" +#include "servers/rendering/renderer_rd/shaders/blit.glsl.gen.h" class RendererCompositorRD : public RendererCompositor { protected: @@ -45,11 +46,35 @@ protected: RendererStorageRD *storage; RendererSceneRenderRD *scene; - RID copy_viewports_rd_shader; - RID copy_viewports_rd_pipeline; - RID copy_viewports_rd_index_buffer; - RID copy_viewports_rd_array; - RID copy_viewports_sampler; + enum BlitMode { + BLIT_MODE_NORMAL, + BLIT_MODE_USE_LAYER, + BLIT_MODE_LENS, + BLIT_MODE_MAX + }; + + struct BlitPushConstant { + float rect[4]; + + float eye_center[2]; + float k1; + float k2; + + float upscale; + float aspect_ratio; + uint32_t layer; + uint32_t pad1; + }; + + struct Blit { + BlitPushConstant push_constant; + BlitShaderRD shader; + RID shader_version; + RID pipelines[BLIT_MODE_MAX]; + RID index_buffer; + RID array; + RID sampler; + } blit; Map<RID, RID> render_target_descriptors; |
