diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-01-20 23:57:55 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-01-20 23:57:55 +0100 |
commit | d5838a06faabc9c7a5cc35147a63bc2d5caf28e7 (patch) | |
tree | 97671b2f1d01589b9af14917c6c2288e7c8da6e5 /servers/rendering/renderer_rd/storage_rd/texture_storage.h | |
parent | de3514b9ab2679a99f2c9231fb5491d98e499cf6 (diff) | |
parent | 49bebf2bfb490d9e2e9ae8ce7fd81fb8c1d967ae (diff) | |
download | redot-engine-d5838a06faabc9c7a5cc35147a63bc2d5caf28e7.tar.gz |
Merge pull request #71709 from clayjohn/decals-lights-sorting
Sort decals and lights based on camera origin
Diffstat (limited to 'servers/rendering/renderer_rd/storage_rd/texture_storage.h')
-rw-r--r-- | servers/rendering/renderer_rd/storage_rd/texture_storage.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/servers/rendering/renderer_rd/storage_rd/texture_storage.h b/servers/rendering/renderer_rd/storage_rd/texture_storage.h index 1558342c3b..ea0df0b459 100644 --- a/servers/rendering/renderer_rd/storage_rd/texture_storage.h +++ b/servers/rendering/renderer_rd/storage_rd/texture_storage.h @@ -258,6 +258,7 @@ private: struct DecalInstance { RID decal; Transform3D transform; + float sorting_offset = 0.0; uint32_t cull_mask = 0; RendererRD::ForwardID forward_id = -1; }; @@ -646,6 +647,7 @@ public: virtual RID decal_instance_create(RID p_decal) override; virtual void decal_instance_free(RID p_decal_instance) override; virtual void decal_instance_set_transform(RID p_decal_instance, const Transform3D &p_transform) override; + virtual void decal_instance_set_sorting_offset(RID p_decal_instance, float p_sorting_offset) override; _FORCE_INLINE_ RID decal_instance_get_base(RID p_decal_instance) const { DecalInstance *di = decal_instance_owner.get_or_null(p_decal_instance); @@ -677,7 +679,7 @@ public: void free_decal_data(); void set_max_decals(const uint32_t p_max_decals); RID get_decal_buffer() { return decal_buffer; } - void update_decal_buffer(const PagedArray<RID> &p_decals, const Transform3D &p_camera_inverse_xform); + void update_decal_buffer(const PagedArray<RID> &p_decals, const Transform3D &p_camera_xform); /* RENDER TARGET API */ |