Add stencil buffer usage with object layer information

#3080 #967
This commit is contained in:
Wojtek Figat
2025-10-07 18:07:23 +02:00
parent 823ed247d2
commit 361fc3ecfb
36 changed files with 291 additions and 65 deletions

View File

@@ -0,0 +1,23 @@
// Copyright (c) Wojciech Figat. All rights reserved.
#ifndef __STENCIL__
#define __STENCIL__
#include "./Flax/Common.hlsl"
// Stencil bits usage (must match RenderBuffers.h)
// [0] | Object Layer
// [1] | Object Layer
// [2] | Object Layer
// [3] | Object Layer
// [4] | Object Layer
// [5] | <unsued>
// [6] | <unsued>
// [7] | <unsued>
#define STENCIL_BUFFER_OBJECT_LAYER(stencil) uint(stencil & 0x1f)
#ifndef STENCIL_BUFFER_SWIZZLE
#define STENCIL_BUFFER_SWIZZLE .g
#endif
#define STENCIL_BUFFER_LOAD(rt, pos) rt.Load(int3(pos, 0)) STENCIL_BUFFER_SWIZZLE
#endif