Blender V5.0
eevee_shadow_shared.hh File Reference

Go to the source code of this file.

Classes

struct  blender::eevee::ShadowTileMapData
struct  blender::eevee::ShadowRenderView
struct  blender::eevee::ShadowTileMapClip
struct  blender::eevee::ShadowPagesInfoData
struct  blender::eevee::ShadowStatistics
struct  blender::eevee::ShadowTileData
struct  blender::eevee::ShadowSamplingTile

Namespaces

namespace  blender
namespace  blender::eevee

Shadows

Shadow data for either a directional shadow or a punctual shadow.

A punctual shadow is composed of 1, 5 or 6 shadow regions. Regions are sorted in this order -Z, +X, -X, +Y, -Y, +Z. Face index is computed from light's object space coordinates.

A directional light shadow is composed of multiple clip-maps with each level covering twice as much area as the previous one.

#define ShadowTileDataPacked   uint
#define ShadowSamplingTilePacked   uint
enum  blender::eevee::eCubeFace : uint32_t {
  blender::eevee::Z_NEG = 0u , blender::eevee::X_POS = 1u , blender::eevee::X_NEG = 2u , blender::eevee::Y_POS = 3u ,
  blender::eevee::Y_NEG = 4u , blender::eevee::Z_POS = 5u
}
enum  blender::eevee::eShadowProjectionType : uint32_t { blender::eevee::SHADOW_PROJECTION_CUBEFACE = 0u , blender::eevee::SHADOW_PROJECTION_CLIPMAP = 1u , blender::eevee::SHADOW_PROJECTION_CASCADE = 2u }
enum  blender::eevee::eShadowFlag : uint32_t {
  blender::eevee::SHADOW_NO_DATA = 0u , blender::eevee::SHADOW_IS_CACHED = (1u << 27u) , blender::eevee::SHADOW_IS_ALLOCATED = (1u << 28u) , blender::eevee::SHADOW_DO_UPDATE = (1u << 29u) ,
  blender::eevee::SHADOW_IS_RENDERED = (1u << 30u) , blender::eevee::SHADOW_IS_USED = (1u << 31u)
}
static int2 blender::eevee::shadow_cascade_grid_offset (int2 base_offset, int level_relative)
static uint blender::eevee::shadow_page_pack (uint3 page)
static uint3 blender::eevee::shadow_page_unpack (uint data)
static ShadowTileData blender::eevee::shadow_tile_unpack (ShadowTileDataPacked data)
static ShadowTileDataPacked blender::eevee::shadow_tile_pack (ShadowTileData tile)
static uint blender::eevee::shadow_lod_offset_pack (uint2 ofs)
static uint2 blender::eevee::shadow_lod_offset_unpack (uint data)
static ShadowSamplingTile blender::eevee::shadow_sampling_tile_unpack (ShadowSamplingTilePacked data)
static ShadowSamplingTilePacked blender::eevee::shadow_sampling_tile_pack (ShadowSamplingTile tile)
static ShadowSamplingTile blender::eevee::shadow_sampling_tile_create (ShadowTileData tile_data, uint lod)

Macro Definition Documentation

◆ ShadowSamplingTilePacked

#define ShadowSamplingTilePacked   uint
Note
Stored packed as a uint.

Definition at line 278 of file eevee_shadow_shared.hh.

Referenced by blender::eevee::shadow_sampling_tile_pack(), and blender::eevee::shadow_sampling_tile_unpack().

◆ ShadowTileDataPacked

#define ShadowTileDataPacked   uint
Note
Stored packed as a uint.

Definition at line 199 of file eevee_shadow_shared.hh.

Referenced by blender::eevee::shadow_tile_pack(), and blender::eevee::shadow_tile_unpack().