summaryrefslogtreecommitdiffstats
path: root/servers/rendering/renderer_rd/storage_rd/texture_storage.h
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-01-20 23:57:55 +0100
committerRémi Verschelde <rverschelde@gmail.com>2023-01-20 23:57:55 +0100
commitd5838a06faabc9c7a5cc35147a63bc2d5caf28e7 (patch)
tree97671b2f1d01589b9af14917c6c2288e7c8da6e5 /servers/rendering/renderer_rd/storage_rd/texture_storage.h
parentde3514b9ab2679a99f2c9231fb5491d98e499cf6 (diff)
parent49bebf2bfb490d9e2e9ae8ce7fd81fb8c1d967ae (diff)
downloadredot-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.h4
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 */