diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-02-20 23:59:27 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-02-20 23:59:27 +0100 |
commit | 292f4c7f9795dc9296710996ffa8510a02e92b2d (patch) | |
tree | 5b6a2279b994649bc4201bda75f20835d9a918fc /servers/rendering/renderer_scene_render.cpp | |
parent | dc2d1e3f479fb64e6da23c00d38ed030a085fb6c (diff) | |
parent | 5a98845655900a7884bf5a73c5406318f1106d77 (diff) | |
download | redot-engine-292f4c7f9795dc9296710996ffa8510a02e92b2d.tar.gz |
Merge pull request #80214 from BastiaanOlij/rendering_effect
Implement hooks into renderer
Diffstat (limited to 'servers/rendering/renderer_scene_render.cpp')
-rw-r--r-- | servers/rendering/renderer_scene_render.cpp | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/servers/rendering/renderer_scene_render.cpp b/servers/rendering/renderer_scene_render.cpp index 95eb29a891..76c779900f 100644 --- a/servers/rendering/renderer_scene_render.cpp +++ b/servers/rendering/renderer_scene_render.cpp @@ -186,6 +186,64 @@ void RendererSceneRender::CameraData::set_multiview_camera(uint32_t p_view_count } } +/* Compositor effect API */ + +RID RendererSceneRender::compositor_effect_allocate() { + return compositor_storage.compositor_effect_allocate(); +} + +void RendererSceneRender::compositor_effect_initialize(RID p_rid) { + compositor_storage.compositor_effect_initialize(p_rid); +} + +void RendererSceneRender::compositor_effect_free(RID p_rid) { + compositor_storage.compositor_effect_free(p_rid); +} + +bool RendererSceneRender::is_compositor_effect(RID p_effect) const { + return compositor_storage.is_compositor_effect(p_effect); +} + +void RendererSceneRender::compositor_effect_set_enabled(RID p_effect, bool p_enabled) { + compositor_storage.compositor_effect_set_enabled(p_effect, p_enabled); +} + +void RendererSceneRender::compositor_effect_set_callback(RID p_effect, RS::CompositorEffectCallbackType p_callback_type, const Callable &p_callback) { + compositor_storage.compositor_effect_set_callback(p_effect, p_callback_type, p_callback); +} + +void RendererSceneRender::compositor_effect_set_flag(RID p_effect, RS::CompositorEffectFlags p_flag, bool p_set) { + compositor_storage.compositor_effect_set_flag(p_effect, p_flag, p_set); +} + +/* Compositor API */ + +RID RendererSceneRender::compositor_allocate() { + return compositor_storage.compositor_allocate(); +} + +void RendererSceneRender::compositor_initialize(RID p_rid) { + compositor_storage.compositor_initialize(p_rid); +} + +void RendererSceneRender::compositor_free(RID p_rid) { + compositor_storage.compositor_free(p_rid); +} + +bool RendererSceneRender::is_compositor(RID p_rid) const { + return compositor_storage.is_compositor(p_rid); +} + +void RendererSceneRender::compositor_set_compositor_effects(RID p_compositor, const TypedArray<RID> &p_effects) { + Vector<RID> rids; + for (int i = 0; i < p_effects.size(); i++) { + RID rid = p_effects[i]; + rids.push_back(rid); + } + + compositor_storage.compositor_set_compositor_effects(p_compositor, rids); +} + /* Environment API */ RID RendererSceneRender::environment_allocate() { |