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/rendering_method.h | |
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/rendering_method.h')
-rw-r--r-- | servers/rendering/rendering_method.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/servers/rendering/rendering_method.h b/servers/rendering/rendering_method.h index be14a50eec..4569846752 100644 --- a/servers/rendering/rendering_method.h +++ b/servers/rendering/rendering_method.h @@ -47,6 +47,7 @@ public: virtual void camera_set_cull_mask(RID p_camera, uint32_t p_layers) = 0; virtual void camera_set_environment(RID p_camera, RID p_env) = 0; virtual void camera_set_camera_attributes(RID p_camera, RID p_attributes) = 0; + virtual void camera_set_compositor(RID p_camera, RID p_compositor) = 0; virtual void camera_set_use_vertical_aspect(RID p_camera, bool p_enable) = 0; virtual bool is_camera(RID p_camera) const = 0; @@ -60,6 +61,7 @@ public: virtual void scenario_set_environment(RID p_scenario, RID p_environment) = 0; virtual void scenario_set_camera_attributes(RID p_scenario, RID p_attributes) = 0; virtual void scenario_set_fallback_environment(RID p_scenario, RID p_environment) = 0; + virtual void scenario_set_compositor(RID p_scenario, RID p_compositor) = 0; virtual void scenario_set_reflection_atlas_size(RID p_scenario, int p_reflection_size, int p_reflection_count) = 0; virtual bool is_scenario(RID p_scenario) const = 0; virtual RID scenario_get_environment(RID p_scenario) = 0; @@ -117,6 +119,27 @@ public: virtual void sky_set_material(RID p_sky, RID p_material) = 0; virtual Ref<Image> sky_bake_panorama(RID p_sky, float p_energy, bool p_bake_irradiance, const Size2i &p_size) = 0; + /* COMPOSITOR EFFECT API */ + + virtual RID compositor_effect_allocate() = 0; + virtual void compositor_effect_initialize(RID p_rid) = 0; + + virtual bool is_compositor_effect(RID p_compositor) const = 0; + + virtual void compositor_effect_set_enabled(RID p_compositor, bool p_enabled) = 0; + + virtual void compositor_effect_set_callback(RID p_compositor, RS::CompositorEffectCallbackType p_callback_type, const Callable &p_callback) = 0; + virtual void compositor_effect_set_flag(RID p_compositor, RS::CompositorEffectFlags p_flag, bool p_set) = 0; + + /* COMPOSITOR API */ + + virtual RID compositor_allocate() = 0; + virtual void compositor_initialize(RID p_rid) = 0; + + virtual bool is_compositor(RID p_compositor) const = 0; + + virtual void compositor_set_compositor_effects(RID p_env, const TypedArray<RID> &p_effects) = 0; + /* ENVIRONMENT API */ virtual RID environment_allocate() = 0; |