Blender V5.0
blender::eevee Namespace Reference

Namespaces

namespace  do_not_use
namespace  lut

Classes

class  AmbientOcclusion
class  Camera
struct  CameraData
class  Cryptomatte
struct  DepthOfFieldBuffer
class  DepthOfField
struct  DepthOfFieldData
struct  ScatterRect
struct  Engine
class  Film
struct  FilmSample
struct  FilmData
class  GBuffer
class  HiZBuffer
struct  HiZData
struct  UniformDataModule
class  Instance
 A running instance of the engine. More...
struct  Light
class  LightModule
struct  LightLocalData
struct  LightSpotData
struct  LightCullingData
class  LightBake
struct  SphereProbeAtlasCoord
struct  LightProbe
struct  VolumeProbe
struct  SphereProbe
struct  PlanarProbe
class  LightProbeModule
class  PlanarProbeModule
struct  ReflectionProbeLowFreqLight
struct  SphereProbeUvArea
struct  SphereProbePixelArea
struct  SphereProbeData
struct  SphereProbeDisplayData
struct  SphereProbeHarmonic
struct  SphereProbeSunLight
struct  PlanarProbeData
struct  PlanarProbeDisplayData
struct  VolumeProbeData
struct  IrradianceBrick
struct  SurfelRadiance
struct  Surfel
struct  CaptureInfoData
struct  SurfelListInfoData
class  SphereProbeModule
class  IrradianceBake
class  VolumeProbeModule
struct  LookdevParameters
class  LookdevWorld
class  LookdevModule
struct  MaterialKey
struct  ShaderKey
struct  MaterialPass
struct  Material
struct  MaterialArray
class  MaterialModule
class  MotionBlurModule
struct  MotionBlurData
class  BackgroundPipeline
class  WorldPipeline
class  WorldVolumePipeline
class  ShadowPipeline
class  ForwardPipeline
struct  DeferredLayerBase
class  DeferredLayer
class  DeferredPipeline
struct  VolumeObjectBounds
class  VolumeLayer
class  VolumePipeline
class  DeferredProbePipeline
class  PlanarProbePipeline
class  CapturePipeline
class  UtilityTexture
class  PipelineModule
class  Precompute
struct  RayTraceBuffer
class  RayTraceResultTexture
struct  RayTraceResult
class  RayTraceModule
struct  RayTraceData
struct  AOData
class  RenderBuffers
struct  AOVsInfoData
struct  RenderBuffersInfoData
class  Sampling
struct  SamplingData
class  SamplerSlots
struct  CallbackThunk
class  ShaderModule
struct  ShadowTileMap
struct  ShadowTileMapPool
struct  ShadowObject
class  ShadowModule
class  ShadowPunctual
class  ShadowDirectional
struct  ShadowTileMapData
struct  ShadowRenderView
struct  ShadowTileMapClip
struct  ShadowPagesInfoData
struct  ShadowStatistics
struct  ShadowTileData
struct  ShadowSamplingTile
struct  SubsurfaceModule
struct  SubsurfaceData
struct  BaseHandle
struct  ObjectHandle
struct  WorldHandle
struct  SceneHandle
class  SyncModule
struct  Transform
struct  ShadowSceneData
struct  ClampData
struct  PipelineInfoData
struct  UniformData
struct  ClipPlaneData
class  VelocityModule
struct  VelocityObjectIndex
struct  VelocityGeometryIndex
struct  VelocityIndex
class  ShadingView
class  MainView
class  CaptureView
class  LookdevView
class  VolumeModule
struct  VolumesInfoData
class  World
class  AxisSigned
struct  CartesianBasis
class  Framebuffer
class  ResourceHandleRange
class  Texture
class  View

Typedefs

using UniformDataBuf = draw::UniformBuffer<UniformData>
using CaptureInfoBuf = draw::StorageBuffer<CaptureInfoData>
using IrradianceBrickBuf = draw::StorageVectorBuffer<IrradianceBrickPacked, 16>
using SurfelBuf = draw::StorageArrayBuffer<Surfel, 64>
using SurfelListInfoBuf = draw::StorageBuffer<SurfelListInfoData>
using VolumeProbeDataBuf = draw::UniformArrayBuffer<VolumeProbeData, IRRADIANCE_GRID_MAX>
using RayTraceTileBuf = draw::StorageArrayBuffer<uint, 1024, true>
using SamplingDataBuf = draw::StorageBuffer<SamplingData>
using StaticShader = gpu::StaticShader
using ShadowStatisticsBuf = draw::StorageBuffer<ShadowStatistics>
using ShadowPagesInfoDataBuf = draw::StorageBuffer<ShadowPagesInfoData>
using ShadowPageHeapBuf = draw::StorageVectorBuffer<uint, SHADOW_MAX_PAGE>
using ShadowPageCacheBuf = draw::StorageArrayBuffer<uint2, SHADOW_MAX_PAGE, true>
using ShadowTileMapDataBuf = draw::StorageVectorBuffer<ShadowTileMapData, SHADOW_MAX_TILEMAP>
using ShadowTileMapClipBuf = draw::StorageArrayBuffer<ShadowTileMapClip, SHADOW_MAX_TILEMAP, true>
using ShadowTileDataBuf = draw::StorageArrayBuffer<ShadowTileDataPacked, SHADOW_MAX_TILE, true>
using ShadowRenderViewBuf = draw::StorageArrayBuffer<ShadowRenderView, SHADOW_VIEW_MAX, true>
using PassSimple
Depth of field
using DepthOfFieldScatterListBuf = draw::StorageArrayBuffer<ScatterRect, 16, true>
using DepthOfFieldDataBuf = draw::UniformBuffer<DepthOfFieldData>
Light Object
using LightCullingDataBuf = draw::StorageBuffer<LightCullingData>
using LightCullingKeyBuf = draw::StorageArrayBuffer<uint, LIGHT_CHUNK, true>
using LightCullingTileBuf = draw::StorageArrayBuffer<uint, LIGHT_CHUNK, true>
using LightCullingZbinBuf = draw::StorageArrayBuffer<uint, CULLING_ZBIN_COUNT, true>
using LightCullingZdistBuf = draw::StorageArrayBuffer<float, LIGHT_CHUNK, true>
using LightDataBuf = draw::StorageArrayBuffer<LightData, LIGHT_CHUNK>
Planar Probe Module
using ClipPlaneBuf = draw::UniformBuffer<ClipPlaneData>
using PlanarProbeDataBuf = draw::UniformArrayBuffer<PlanarProbeData, PLANAR_PROBE_MAX>
using PlanarProbeDisplayDataBuf = draw::StorageArrayBuffer<PlanarProbeDisplayData>
Reflection Probe Module
using SphereProbeDataBuf = draw::UniformArrayBuffer<SphereProbeData, SPHERE_PROBE_MAX>
using SphereProbeDisplayDataBuf = draw::StorageArrayBuffer<SphereProbeDisplayData>
MotionBlur
using MotionBlurDataBuf = draw::UniformBuffer<MotionBlurData>
using MotionBlurTileIndirectionBuf = draw::StorageBuffer<MotionBlurTileIndirection, true>
Subsurface
using SubsurfaceTileBuf = draw::StorageArrayBuffer<uint, 1024, true>

Enumerations

enum  eCameraType : uint32_t {
  CAMERA_PERSP = 0u , CAMERA_ORTHO = 1u , CAMERA_PANO_EQUIRECT = 2u , CAMERA_PANO_EQUISOLID = 3u ,
  CAMERA_PANO_EQUIDISTANT = 4u , CAMERA_PANO_MIRROR = 5u
}
enum  eDebugMode : uint32_t {
  DEBUG_NONE = 0u , DEBUG_LIGHT_CULLING = 1u , DEBUG_HIZ_VALIDATION = 2u , DEBUG_IRRADIANCE_CACHE_SURFELS_NORMAL = 3u ,
  DEBUG_IRRADIANCE_CACHE_SURFELS_IRRADIANCE = 4u , DEBUG_IRRADIANCE_CACHE_SURFELS_VISIBILITY = 5u , DEBUG_IRRADIANCE_CACHE_SURFELS_CLUSTER = 6u , DEBUG_IRRADIANCE_CACHE_VIRTUAL_OFFSET = 7u ,
  DEBUG_IRRADIANCE_CACHE_VALIDITY = 8u , DEBUG_SHADOW_TILEMAPS = 10u , DEBUG_SHADOW_VALUES = 11u , DEBUG_SHADOW_TILE_RANDOM_COLOR = 12u ,
  DEBUG_SHADOW_TILEMAP_RANDOM_COLOR = 13u , DEBUG_GBUFFER_STORAGE = 14u , DEBUG_GBUFFER_EVALUATION = 15u , DEBUG_DOF_PLANES = 16u
}
enum  eFilmWeightLayerIndex : uint32_t { FILM_WEIGHT_LAYER_ACCUMULATION = 0u , FILM_WEIGHT_LAYER_DISTANCE = 1u }
enum  ePassStorageType : uint32_t { PASS_STORAGE_COLOR = 0u , PASS_STORAGE_VALUE = 1u , PASS_STORAGE_CRYPTOMATTE = 2u }
enum  PassCategory : uint32_t {
  PASS_CATEGORY_DATA = 1u << 0 , PASS_CATEGORY_COLOR_1 = 1u << 1 , PASS_CATEGORY_COLOR_2 = 1u << 2 , PASS_CATEGORY_COLOR_3 = 1u << 3 ,
  PASS_CATEGORY_AOV = 1u << 4 , PASS_CATEGORY_CRYPTOMATTE = 1u << 5
}
enum  eLightType : uint32_t {
  LIGHT_SUN = 0u , LIGHT_SUN_ORTHO = 1u , LIGHT_OMNI_SPHERE = 10u , LIGHT_OMNI_DISK = 11u ,
  LIGHT_SPOT_SPHERE = 12u , LIGHT_SPOT_DISK = 13u , LIGHT_RECT = 20u , LIGHT_ELLIPSE = 21u
}
enum  eMaterialPipeline {
  MAT_PIPE_DEFERRED = 0 , MAT_PIPE_FORWARD , MAT_PIPE_PREPASS_DEFERRED , MAT_PIPE_PREPASS_DEFERRED_VELOCITY ,
  MAT_PIPE_PREPASS_OVERLAP , MAT_PIPE_PREPASS_FORWARD , MAT_PIPE_PREPASS_FORWARD_VELOCITY , MAT_PIPE_PREPASS_PLANAR ,
  MAT_PIPE_VOLUME_MATERIAL , MAT_PIPE_VOLUME_OCCUPANCY , MAT_PIPE_SHADOW , MAT_PIPE_CAPTURE
}
enum  eMaterialGeometry {
  MAT_GEOM_MESH = 0 , MAT_GEOM_POINTCLOUD , MAT_GEOM_CURVES , MAT_GEOM_VOLUME ,
  MAT_GEOM_WORLD
}
enum  PrecomputeType : uint32_t {
  LUT_GGX_BRDF_SPLIT_SUM = 0u , LUT_GGX_BTDF_IOR_GT_ONE = 1u , LUT_GGX_BSDF_SPLIT_SUM = 2u , LUT_BURLEY_SSS_PROFILE = 3u ,
  LUT_RANDOM_WALK_SSS_PROFILE = 4u
}
enum  eSamplingDimension : uint32_t {
  SAMPLING_FILTER_U = 0u , SAMPLING_FILTER_V = 1u , SAMPLING_LENS_U = 2u , SAMPLING_LENS_V = 3u ,
  SAMPLING_TIME = 4u , SAMPLING_SHADOW_U = 5u , SAMPLING_SHADOW_V = 6u , SAMPLING_SHADOW_W = 7u ,
  SAMPLING_SHADOW_X = 8u , SAMPLING_SHADOW_Y = 9u , SAMPLING_CLOSURE = 10u , SAMPLING_LIGHTPROBE = 11u ,
  SAMPLING_TRANSPARENCY = 12u , SAMPLING_SSS_U = 13u , SAMPLING_SSS_V = 14u , SAMPLING_RAYTRACE_U = 15u ,
  SAMPLING_RAYTRACE_V = 16u , SAMPLING_RAYTRACE_W = 17u , SAMPLING_RAYTRACE_X = 18u , SAMPLING_AO_U = 19u ,
  SAMPLING_AO_V = 20u , SAMPLING_AO_W = 21u , SAMPLING_CURVES_U = 22u , SAMPLING_VOLUME_U = 23u ,
  SAMPLING_VOLUME_V = 24u , SAMPLING_VOLUME_W = 25u , SAMPLING_SHADOW_I = 26u , SAMPLING_SHADOW_J = 27u ,
  SAMPLING_SHADOW_K = 28u , SAMPLING_UNUSED_0 = 29u , SAMPLING_UNUSED_1 = 30u , SAMPLING_UNUSED_2 = 31u
}
enum  eShaderType {
  AMBIENT_OCCLUSION_PASS = 0 , FILM_COPY , FILM_COMP , FILM_CRYPTOMATTE_POST ,
  FILM_FRAG , FILM_PASS_CONVERT_COMBINED , FILM_PASS_CONVERT_DEPTH , FILM_PASS_CONVERT_VALUE ,
  FILM_PASS_CONVERT_COLOR , FILM_PASS_CONVERT_CRYPTOMATTE , DEFERRED_AOV_CLEAR , DEFERRED_CAPTURE_EVAL ,
  DEFERRED_COMBINE , DEFERRED_LIGHT_SINGLE , DEFERRED_LIGHT_DOUBLE , DEFERRED_LIGHT_TRIPLE ,
  DEFERRED_PLANAR_EVAL , DEFERRED_THICKNESS_AMEND , DEFERRED_TILE_CLASSIFY , DEBUG_GBUFFER ,
  DEBUG_SURFELS , DEBUG_IRRADIANCE_GRID , DISPLAY_PROBE_VOLUME , DISPLAY_PROBE_SPHERE ,
  DISPLAY_PROBE_PLANAR , DOF_BOKEH_LUT , DOF_DOWNSAMPLE , DOF_FILTER ,
  DOF_GATHER_BACKGROUND_LUT , DOF_GATHER_BACKGROUND , DOF_GATHER_FOREGROUND_LUT , DOF_GATHER_FOREGROUND ,
  DOF_GATHER_HOLE_FILL , DOF_REDUCE , DOF_RESOLVE_LUT , DOF_RESOLVE ,
  DOF_SCATTER , DOF_SETUP , DOF_STABILIZE , DOF_TILES_DILATE_MINABS ,
  DOF_TILES_DILATE_MINMAX , DOF_TILES_FLATTEN , HIZ_UPDATE , HIZ_UPDATE_LAYER ,
  HIZ_DEBUG , HORIZON_DENOISE , HORIZON_RESOLVE , HORIZON_SCAN ,
  HORIZON_SETUP , LIGHT_CULLING_DEBUG , LIGHT_CULLING_SELECT , LIGHT_CULLING_SORT ,
  LIGHT_CULLING_TILE , LIGHT_CULLING_ZBIN , LIGHT_SHADOW_SETUP , LIGHTPROBE_IRRADIANCE_BOUNDS ,
  LIGHTPROBE_IRRADIANCE_OFFSET , LIGHTPROBE_IRRADIANCE_RAY , LIGHTPROBE_IRRADIANCE_LOAD , LIGHTPROBE_IRRADIANCE_WORLD ,
  LOOKDEV_DISPLAY , MOTION_BLUR_GATHER , MOTION_BLUR_TILE_DILATE , MOTION_BLUR_TILE_FLATTEN_RGBA ,
  MOTION_BLUR_TILE_FLATTEN_RG , RAY_DENOISE_BILATERAL , RAY_DENOISE_SPATIAL , RAY_DENOISE_TEMPORAL ,
  RAY_GENERATE , RAY_TILE_CLASSIFY , RAY_TILE_COMPACT , RAY_TRACE_FALLBACK ,
  RAY_TRACE_PLANAR , RAY_TRACE_SCREEN , RENDERPASS_CLEAR , SPHERE_PROBE_CONVOLVE ,
  SPHERE_PROBE_IRRADIANCE , SPHERE_PROBE_REMAP , SPHERE_PROBE_SELECT , SPHERE_PROBE_SUNLIGHT ,
  SHADOW_CLIPMAP_CLEAR , SHADOW_DEBUG , SHADOW_PAGE_ALLOCATE , SHADOW_PAGE_CLEAR ,
  SHADOW_PAGE_DEFRAG , SHADOW_PAGE_FREE , SHADOW_PAGE_MASK , SHADOW_PAGE_TILE_CLEAR ,
  SHADOW_PAGE_TILE_STORE , SHADOW_TILEMAP_AMEND , SHADOW_TILEMAP_BOUNDS , SHADOW_TILEMAP_FINALIZE ,
  SHADOW_TILEMAP_RENDERMAP , SHADOW_TILEMAP_INIT , SHADOW_TILEMAP_TAG_UPDATE , SHADOW_TILEMAP_TAG_USAGE_OPAQUE ,
  SHADOW_TILEMAP_TAG_USAGE_SURFELS , SHADOW_TILEMAP_TAG_USAGE_TRANSPARENT , SHADOW_TILEMAP_TAG_USAGE_VOLUME , SHADOW_VIEW_VISIBILITY ,
  SUBSURFACE_CONVOLVE , SUBSURFACE_SETUP , SURFEL_CLUSTER_BUILD , SURFEL_LIGHT ,
  SURFEL_LIST_BUILD , SURFEL_LIST_FLATTEN , SURFEL_LIST_PREFIX , SURFEL_LIST_PREPARE ,
  SURFEL_LIST_SORT , SURFEL_RAY , VERTEX_COPY , VOLUME_INTEGRATION ,
  VOLUME_OCCUPANCY_CONVERT , VOLUME_RESOLVE , VOLUME_SCATTER , VOLUME_SCATTER_WITH_LIGHTS ,
  MAX_SHADER_TYPE
}
enum  ShaderGroups : uint32_t {
  NONE = 0 , DEFERRED_LIGHTING_SHADERS = 1 << 0 , DEFERRED_CAPTURE_SHADERS = 1 << 1 , DEFERRED_PLANAR_SHADERS = 1 << 2 ,
  DEPTH_OF_FIELD_SHADERS = 1 << 3 , HIZ_SHADERS = 1 << 4 , HORIZON_SCAN_SHADERS = 1 << 5 , LIGHT_CULLING_SHADERS = 1 << 6 ,
  IRRADIANCE_BAKE_SHADERS = 1 << 7 , SPHERE_PROBE_SHADERS = 1 << 8 , SHADOW_SHADERS = 1 << 9 , AMBIENT_OCCLUSION_SHADERS = 1 << 10 ,
  MOTION_BLUR_SHADERS = 1 << 11 , RAYTRACING_SHADERS = 1 << 12 , FILM_SHADERS = 1 << 13 , SUBSURFACE_SHADERS = 1 << 14 ,
  SURFEL_SHADERS = 1 << 15 , VERTEX_COPY_SHADERS = 1 << 16 , VOLUME_EVAL_SHADERS = 1 << 17 , DEFAULT_MATERIALS = 1 << 18 ,
  WORLD_SHADERS = 1 << 19 , MATERIAL_SHADERS = 1 << 20 , VOLUME_PROBE_SHADERS = 1 << 21
}
enum class  ShadowTechnique { ATOMIC_RASTER = 0 , TILE_COPY = 1 }
enum  LightingType : uint32_t {
  LIGHT_DIFFUSE = 0u , LIGHT_SPECULAR = 1u , LIGHT_TRANSMISSION = 2u , LIGHT_VOLUME = 3u ,
  LIGHT_TRANSLUCENT_WITH_THICKNESS = 4u
}
enum  eVelocityStep : uint32_t { STEP_PREVIOUS = 0 , STEP_NEXT = 1 , STEP_CURRENT = 2 }
Probe Spheres
enum  LightProbeShape : uint32_t { SHAPE_ELIPSOID = 0u , SHAPE_CUBOID = 1u }

Functions

float4x4 cubeface_mat (int face)
void cubeface_winmat_get (float4x4 &winmat, float near, float far)
static bool is_panoramic (eCameraType type)
static float coc_radius_from_camera_depth (DepthOfFieldData dof, float depth)
static float regular_polygon_side_length (float sides_count)
static float circle_to_polygon_radius (float sides_count, float theta)
static float circle_to_polygon_angle (float sides_count, float theta)
static float film_filter_weight (float filter_radius, float sample_distance_sqr)
static uint2 uint64_to_uint2 (uint64_t data)
static bool is_area_light (eLightType type)
static bool is_point_light (eLightType type)
static bool is_spot_light (eLightType type)
static bool is_sphere_light (eLightType type)
static bool is_oriented_disk_light (eLightType type)
static bool is_sun_light (eLightType type)
static bool is_local_light (eLightType type)
 BLI_STATIC_ASSERT (sizeof(LightSpotData)==sizeof(LightLocalData), "Data size must match") struct LightAreaData
 BLI_STATIC_ASSERT (sizeof(LightAreaData)==sizeof(LightLocalData), "Data size must match") struct LightSunData
 BLI_STATIC_ASSERT (sizeof(LightSunData)==sizeof(LightLocalData), "Data size must match") struct LightData
static float3 light_x_axis (LightData light)
static float3 light_y_axis (LightData light)
static float3 light_z_axis (LightData light)
static float3 light_position_get (LightData light)
static int light_tilemap_max_get (LightData light)
static int light_local_tilemap_count (LightData light)
static int sampling_web_sample_count_get (int web_density, int in_ring_count)
static int sampling_web_ring_count_get (int web_density, int sample_count)
static float3 burley_setup (float3 radius, float3 albedo)
static float3 burley_eval (float3 d, float r)
static float4x4 transform_to_matrix (Transform t)
static Transform transform_from_matrix (float4x4 m)
static float3 transform_x_axis (Transform t)
static float3 transform_y_axis (Transform t)
static float3 transform_z_axis (Transform t)
static float3 transform_location (Transform t)
static float3 transform_point (Transform t, float3 point)
static float3 transform_direction (Transform t, float3 direction)
static float3 transform_direction_transposed (Transform t, float3 direction)
static float3 transform_point_inversed (Transform t, float3 point)
CameraData operators
bool operator== (const CameraData &a, const CameraData &b)
bool operator!= (const CameraData &a, const CameraData &b)
FilmData
bool operator== (const FilmData &a, const FilmData &b)
bool operator!= (const FilmData &a, const FilmData &b)
Film
static eViewLayerEEVEEPassType enabled_passes (const ViewLayer *view_layer)
static eViewLayerEEVEEPassType get_viewport_compositor_enabled_passes (const Set< std::string > &viewport_compositor_needed_passes, const ViewLayer *view_layer)
static eShaderType get_write_pass_shader_type (eViewLayerEEVEEPassType pass_type)
static eShaderType get_aov_write_pass_shader_type (const ViewLayerAOV *aov)
LightData
static eLightType to_light_type (short blender_light_type, short blender_area_type, bool use_soft_falloff)
Light-Probe Module
static eLightProbeResolution resolution_to_probe_resolution_enum (int resolution)
Probe Volume
static IrradianceBrickPacked irradiance_brick_pack (IrradianceBrick brick)
static IrradianceBrick irradiance_brick_unpack (IrradianceBrickPacked brick_packed)
Lookdev
static int calc_sphere_extent (const float viewport_scale)
GPU Materials
static void codegen_callback (void *void_thunk, GPUMaterial *mat, GPUCodegenOutput *codegen)
static GPUPasspass_replacement_cb (void *void_thunk, GPUMaterial *mat)
static void store_node_tree_errors (GPUMaterialFromNodeTreeResult &material_from_tree)
Common
static void geometry_call (PassMain::Sub *sub_pass, gpu::Batch *geom, ResourceHandleRange resource_handle)
static void volume_call (MaterialPass &matpass, Scene *scene, Object *ob, gpu::Batch *geom, ResourceHandleRange res_handle)

Variables

static constexpr const float shadow_face_mat [6][3][3]
static constexpr const float shadow_clipmap_scale_mat [4][4]

MaterialKey

enum  eMaterialDisplacement { MAT_DISPLACEMENT_BUMP = 0 , MAT_DISPLACEMENT_VERTEX_WITH_BUMP }
enum  eMaterialThickness { MAT_THICKNESS_SPHERE = 0 , MAT_THICKNESS_SLAB }
enum  eMaterialProbe { MAT_PROBE_NONE = 0 , MAT_PROBE_REFLECTION , MAT_PROBE_PLANAR }
enum  eClosureBits : uint32_t {
  CLOSURE_NONE = 0u , CLOSURE_DIFFUSE = (1u << 0u) , CLOSURE_SSS = (1u << 1u) , CLOSURE_REFLECTION = (1u << 2u) ,
  CLOSURE_REFRACTION = (1u << 3u) , CLOSURE_TRANSLUCENT = (1u << 4u) , CLOSURE_TRANSPARENCY = (1u << 8u) , CLOSURE_EMISSION = (1u << 9u) ,
  CLOSURE_HOLDOUT = (1u << 10u) , CLOSURE_VOLUME = (1u << 11u) , CLOSURE_AMBIENT_OCCLUSION = (1u << 12u) , CLOSURE_SHADER_TO_RGBA = (1u << 13u) ,
  CLOSURE_CLEARCOAT = (1u << 14u) , CLOSURE_TRANSMISSION = CLOSURE_SSS | CLOSURE_REFRACTION | CLOSURE_TRANSLUCENT
}
static bool geometry_type_has_surface (eMaterialGeometry geometry_type)
static eMaterialDisplacement to_displacement_type (int displacement_method)
static eMaterialThickness to_thickness_type (int thickness_mode)
static void material_type_from_shader_uuid (uint64_t shader_uuid, eMaterialPipeline &pipeline_type, eMaterialGeometry &geometry_type, eMaterialDisplacement &displacement_type, eMaterialThickness &thickness_type, bool &transparent_shadows)
static uint64_t shader_uuid_from_material_type (eMaterialPipeline pipeline_type, eMaterialGeometry geometry_type, eMaterialDisplacement displacement_type=MAT_DISPLACEMENT_BUMP, eMaterialThickness thickness_type=MAT_THICKNESS_SPHERE, char blend_flags=0)
static eClosureBits shader_closure_bits_from_flag (const GPUMaterial *gpumat)
static int to_gbuffer_bin_count (const eClosureBits closure_bits)
static eMaterialGeometry to_material_geometry (const Object *ob)

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.

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

Sync Module

using HairHandleCallback = FunctionRef<void(ObjectHandle, ModifierData &, ParticleSystem &)>
void foreach_hair_particle_handle (Instance &inst, ObjectRef &ob_ref, ObjectHandle ob_handle, HairHandleCallback callback)

VelocityModule

using CameraDataBuf = draw::UniformBuffer<CameraData>
using VelocityGeometryBuf = draw::StorageArrayBuffer<float4, 16, true>
using VelocityIndexBuf = draw::StorageArrayBuffer<VelocityIndex, 16>
using VelocityObjectBuf = draw::StorageArrayBuffer<float4x4, 16>
static void step_object_sync_render (Instance &inst, ObjectRef &ob_ref)

Detailed Description

Shared code between host and client codebases.

Typedef Documentation

◆ CameraDataBuf

◆ CaptureInfoBuf

◆ ClipPlaneBuf

◆ DepthOfFieldDataBuf

◆ DepthOfFieldScatterListBuf

◆ HairHandleCallback

◆ IrradianceBrickBuf

◆ LightCullingDataBuf

◆ LightCullingKeyBuf

◆ LightCullingTileBuf

◆ LightCullingZbinBuf

◆ LightCullingZdistBuf

◆ LightDataBuf

◆ MotionBlurDataBuf

◆ MotionBlurTileIndirectionBuf

Definition at line 62 of file eevee_motion_blur.hh.

◆ PassSimple

Definition at line 41 of file draw_manager.hh.

◆ PlanarProbeDataBuf

◆ PlanarProbeDisplayDataBuf

◆ RayTraceTileBuf

◆ SamplingDataBuf

◆ ShadowPageCacheBuf

◆ ShadowPageHeapBuf

◆ ShadowPagesInfoDataBuf

◆ ShadowRenderViewBuf

◆ ShadowStatisticsBuf

◆ ShadowTileDataBuf

◆ ShadowTileMapClipBuf

◆ ShadowTileMapDataBuf

◆ SphereProbeDataBuf

◆ SphereProbeDisplayDataBuf

◆ StaticShader

◆ SubsurfaceTileBuf

◆ SurfelBuf

◆ SurfelListInfoBuf

◆ UniformDataBuf

◆ VelocityGeometryBuf

◆ VelocityIndexBuf

◆ VelocityObjectBuf

◆ VolumeProbeDataBuf

Enumeration Type Documentation

◆ eCameraType

enum blender::eevee::eCameraType : uint32_t
Enumerator
CAMERA_PERSP 
CAMERA_ORTHO 
CAMERA_PANO_EQUIRECT 
CAMERA_PANO_EQUISOLID 
CAMERA_PANO_EQUIDISTANT 
CAMERA_PANO_MIRROR 

Definition at line 17 of file eevee_camera_shared.hh.

◆ eClosureBits

Enumerator
CLOSURE_NONE 
CLOSURE_DIFFUSE 
CLOSURE_SSS 
CLOSURE_REFLECTION 
CLOSURE_REFRACTION 
CLOSURE_TRANSLUCENT 
CLOSURE_TRANSPARENCY 
CLOSURE_EMISSION 
CLOSURE_HOLDOUT 
CLOSURE_VOLUME 
CLOSURE_AMBIENT_OCCLUSION 
CLOSURE_SHADER_TO_RGBA 
CLOSURE_CLEARCOAT 
CLOSURE_TRANSMISSION 

Definition at line 122 of file eevee_material.hh.

◆ eCubeFace

enum blender::eevee::eCubeFace : uint32_t
Enumerator
Z_NEG 
X_POS 
X_NEG 
Y_POS 
Y_NEG 
Z_POS 

Definition at line 31 of file eevee_shadow_shared.hh.

◆ eDebugMode

enum blender::eevee::eDebugMode : uint32_t

These are just to make more sense of G.debug_value's values. Reserved range is 1-30.

Enumerator
DEBUG_NONE 
DEBUG_LIGHT_CULLING 

Gradient showing light evaluation hot-spots.

DEBUG_HIZ_VALIDATION 

Show incorrectly down-sample tiles in red.

DEBUG_IRRADIANCE_CACHE_SURFELS_NORMAL 

Display IrradianceCache surfels.

DEBUG_IRRADIANCE_CACHE_SURFELS_IRRADIANCE 
DEBUG_IRRADIANCE_CACHE_SURFELS_VISIBILITY 
DEBUG_IRRADIANCE_CACHE_SURFELS_CLUSTER 
DEBUG_IRRADIANCE_CACHE_VIRTUAL_OFFSET 

Display IrradianceCache virtual offset.

DEBUG_IRRADIANCE_CACHE_VALIDITY 
DEBUG_SHADOW_TILEMAPS 

Show tiles depending on their status.

DEBUG_SHADOW_VALUES 

Show content of shadow map. Used to verify projection code.

DEBUG_SHADOW_TILE_RANDOM_COLOR 

Show random color for each tile. Verify allocation and LOD assignment.

DEBUG_SHADOW_TILEMAP_RANDOM_COLOR 

Show random color for each tile. Verify distribution and LOD transitions.

DEBUG_GBUFFER_STORAGE 

Show storage cost of each pixel in the gbuffer.

DEBUG_GBUFFER_EVALUATION 

Show evaluation cost of each pixel.

DEBUG_DOF_PLANES 

Color different buffers of the depth of field.

Definition at line 18 of file eevee_debug_shared.hh.

◆ eFilmWeightLayerIndex

Enumerator
FILM_WEIGHT_LAYER_ACCUMULATION 
FILM_WEIGHT_LAYER_DISTANCE 

Definition at line 19 of file eevee_film_shared.hh.

◆ eLightType

enum blender::eevee::eLightType : uint32_t
Enumerator
LIGHT_SUN 
LIGHT_SUN_ORTHO 
LIGHT_OMNI_SPHERE 
LIGHT_OMNI_DISK 
LIGHT_SPOT_SPHERE 
LIGHT_SPOT_DISK 
LIGHT_RECT 
LIGHT_ELLIPSE 

Definition at line 22 of file eevee_light_shared.hh.

◆ eMaterialDisplacement

Enumerator
MAT_DISPLACEMENT_BUMP 
MAT_DISPLACEMENT_VERTEX_WITH_BUMP 

Definition at line 42 of file eevee_material.hh.

◆ eMaterialGeometry

Enumerator
MAT_GEOM_MESH 
MAT_GEOM_POINTCLOUD 
MAT_GEOM_CURVES 
MAT_GEOM_VOLUME 
MAT_GEOM_WORLD 

Definition at line 32 of file eevee_material_shared.hh.

◆ eMaterialPipeline

Enumerator
MAT_PIPE_DEFERRED 
MAT_PIPE_FORWARD 
MAT_PIPE_PREPASS_DEFERRED 
MAT_PIPE_PREPASS_DEFERRED_VELOCITY 
MAT_PIPE_PREPASS_OVERLAP 
MAT_PIPE_PREPASS_FORWARD 
MAT_PIPE_PREPASS_FORWARD_VELOCITY 
MAT_PIPE_PREPASS_PLANAR 
MAT_PIPE_VOLUME_MATERIAL 
MAT_PIPE_VOLUME_OCCUPANCY 
MAT_PIPE_SHADOW 
MAT_PIPE_CAPTURE 

Definition at line 15 of file eevee_material_shared.hh.

◆ eMaterialProbe

Enumerator
MAT_PROBE_NONE 
MAT_PROBE_REFLECTION 
MAT_PROBE_PLANAR 

Definition at line 76 of file eevee_material.hh.

◆ eMaterialThickness

Enumerator
MAT_THICKNESS_SPHERE 
MAT_THICKNESS_SLAB 

Definition at line 60 of file eevee_material.hh.

◆ ePassStorageType

Enumerator
PASS_STORAGE_COLOR 
PASS_STORAGE_VALUE 
PASS_STORAGE_CRYPTOMATTE 

Definition at line 24 of file eevee_film_shared.hh.

◆ eSamplingDimension

Enumerator
SAMPLING_FILTER_U 
SAMPLING_FILTER_V 
SAMPLING_LENS_U 
SAMPLING_LENS_V 
SAMPLING_TIME 
SAMPLING_SHADOW_U 
SAMPLING_SHADOW_V 
SAMPLING_SHADOW_W 
SAMPLING_SHADOW_X 
SAMPLING_SHADOW_Y 
SAMPLING_CLOSURE 
SAMPLING_LIGHTPROBE 
SAMPLING_TRANSPARENCY 
SAMPLING_SSS_U 
SAMPLING_SSS_V 
SAMPLING_RAYTRACE_U 
SAMPLING_RAYTRACE_V 
SAMPLING_RAYTRACE_W 
SAMPLING_RAYTRACE_X 
SAMPLING_AO_U 
SAMPLING_AO_V 
SAMPLING_AO_W 
SAMPLING_CURVES_U 
SAMPLING_VOLUME_U 
SAMPLING_VOLUME_V 
SAMPLING_VOLUME_W 
SAMPLING_SHADOW_I 
SAMPLING_SHADOW_J 
SAMPLING_SHADOW_K 
SAMPLING_UNUSED_0 
SAMPLING_UNUSED_1 
SAMPLING_UNUSED_2 

Definition at line 17 of file eevee_sampling_shared.hh.

◆ eShaderType

Enumerator
AMBIENT_OCCLUSION_PASS 
FILM_COPY 
FILM_COMP 
FILM_CRYPTOMATTE_POST 
FILM_FRAG 
FILM_PASS_CONVERT_COMBINED 
FILM_PASS_CONVERT_DEPTH 
FILM_PASS_CONVERT_VALUE 
FILM_PASS_CONVERT_COLOR 
FILM_PASS_CONVERT_CRYPTOMATTE 
DEFERRED_AOV_CLEAR 
DEFERRED_CAPTURE_EVAL 
DEFERRED_COMBINE 
DEFERRED_LIGHT_SINGLE 
DEFERRED_LIGHT_DOUBLE 
DEFERRED_LIGHT_TRIPLE 
DEFERRED_PLANAR_EVAL 
DEFERRED_THICKNESS_AMEND 
DEFERRED_TILE_CLASSIFY 
DEBUG_GBUFFER 
DEBUG_SURFELS 
DEBUG_IRRADIANCE_GRID 
DISPLAY_PROBE_VOLUME 
DISPLAY_PROBE_SPHERE 
DISPLAY_PROBE_PLANAR 
DOF_BOKEH_LUT 
DOF_DOWNSAMPLE 
DOF_FILTER 
DOF_GATHER_BACKGROUND_LUT 
DOF_GATHER_BACKGROUND 
DOF_GATHER_FOREGROUND_LUT 
DOF_GATHER_FOREGROUND 
DOF_GATHER_HOLE_FILL 
DOF_REDUCE 
DOF_RESOLVE_LUT 
DOF_RESOLVE 
DOF_SCATTER 
DOF_SETUP 
DOF_STABILIZE 
DOF_TILES_DILATE_MINABS 
DOF_TILES_DILATE_MINMAX 
DOF_TILES_FLATTEN 
HIZ_UPDATE 
HIZ_UPDATE_LAYER 
HIZ_DEBUG 
HORIZON_DENOISE 
HORIZON_RESOLVE 
HORIZON_SCAN 
HORIZON_SETUP 
LIGHT_CULLING_DEBUG 
LIGHT_CULLING_SELECT 
LIGHT_CULLING_SORT 
LIGHT_CULLING_TILE 
LIGHT_CULLING_ZBIN 
LIGHT_SHADOW_SETUP 
LIGHTPROBE_IRRADIANCE_BOUNDS 
LIGHTPROBE_IRRADIANCE_OFFSET 
LIGHTPROBE_IRRADIANCE_RAY 
LIGHTPROBE_IRRADIANCE_LOAD 
LIGHTPROBE_IRRADIANCE_WORLD 
LOOKDEV_DISPLAY 
MOTION_BLUR_GATHER 
MOTION_BLUR_TILE_DILATE 
MOTION_BLUR_TILE_FLATTEN_RGBA 
MOTION_BLUR_TILE_FLATTEN_RG 
RAY_DENOISE_BILATERAL 
RAY_DENOISE_SPATIAL 
RAY_DENOISE_TEMPORAL 
RAY_GENERATE 
RAY_TILE_CLASSIFY 
RAY_TILE_COMPACT 
RAY_TRACE_FALLBACK 
RAY_TRACE_PLANAR 
RAY_TRACE_SCREEN 
RENDERPASS_CLEAR 
SPHERE_PROBE_CONVOLVE 
SPHERE_PROBE_IRRADIANCE 
SPHERE_PROBE_REMAP 
SPHERE_PROBE_SELECT 
SPHERE_PROBE_SUNLIGHT 
SHADOW_CLIPMAP_CLEAR 
SHADOW_DEBUG 
SHADOW_PAGE_ALLOCATE 
SHADOW_PAGE_CLEAR 
SHADOW_PAGE_DEFRAG 
SHADOW_PAGE_FREE 
SHADOW_PAGE_MASK 
SHADOW_PAGE_TILE_CLEAR 
SHADOW_PAGE_TILE_STORE 
SHADOW_TILEMAP_AMEND 
SHADOW_TILEMAP_BOUNDS 
SHADOW_TILEMAP_FINALIZE 
SHADOW_TILEMAP_RENDERMAP 
SHADOW_TILEMAP_INIT 
SHADOW_TILEMAP_TAG_UPDATE 
SHADOW_TILEMAP_TAG_USAGE_OPAQUE 
SHADOW_TILEMAP_TAG_USAGE_SURFELS 
SHADOW_TILEMAP_TAG_USAGE_TRANSPARENT 
SHADOW_TILEMAP_TAG_USAGE_VOLUME 
SHADOW_VIEW_VISIBILITY 
SUBSURFACE_CONVOLVE 
SUBSURFACE_SETUP 
SURFEL_CLUSTER_BUILD 
SURFEL_LIGHT 
SURFEL_LIST_BUILD 
SURFEL_LIST_FLATTEN 
SURFEL_LIST_PREFIX 
SURFEL_LIST_PREPARE 
SURFEL_LIST_SORT 
SURFEL_RAY 
VERTEX_COPY 
VOLUME_INTEGRATION 
VOLUME_OCCUPANCY_CONVERT 
VOLUME_RESOLVE 
VOLUME_SCATTER 
VOLUME_SCATTER_WITH_LIGHTS 
MAX_SHADER_TYPE 

Definition at line 30 of file eevee_shader.hh.

◆ eShadowFlag

enum blender::eevee::eShadowFlag : uint32_t
Enumerator
SHADOW_NO_DATA 
SHADOW_IS_CACHED 
SHADOW_IS_ALLOCATED 
SHADOW_DO_UPDATE 
SHADOW_IS_RENDERED 
SHADOW_IS_USED 

Definition at line 201 of file eevee_shadow_shared.hh.

◆ eShadowProjectionType

Enumerator
SHADOW_PROJECTION_CUBEFACE 
SHADOW_PROJECTION_CLIPMAP 
SHADOW_PROJECTION_CASCADE 

Definition at line 41 of file eevee_shadow_shared.hh.

◆ eVelocityStep

Enumerator
STEP_PREVIOUS 
STEP_NEXT 
STEP_CURRENT 

Definition at line 19 of file eevee_velocity_shared.hh.

◆ LightingType

Enumerator
LIGHT_DIFFUSE 
LIGHT_SPECULAR 
LIGHT_TRANSMISSION 
LIGHT_VOLUME 
LIGHT_TRANSLUCENT_WITH_THICKNESS 

Definition at line 26 of file eevee_uniform_shared.hh.

◆ LightProbeShape

Enumerator
SHAPE_ELIPSOID 
SHAPE_CUBOID 

Definition at line 29 of file eevee_lightprobe_shared.hh.

◆ PassCategory

Enumerator
PASS_CATEGORY_DATA 
PASS_CATEGORY_COLOR_1 
PASS_CATEGORY_COLOR_2 
PASS_CATEGORY_COLOR_3 
PASS_CATEGORY_AOV 
PASS_CATEGORY_CRYPTOMATTE 

Definition at line 30 of file eevee_film_shared.hh.

◆ PrecomputeType

Enumerator
LUT_GGX_BRDF_SPLIT_SUM 
LUT_GGX_BTDF_IOR_GT_ONE 
LUT_GGX_BSDF_SPLIT_SUM 
LUT_BURLEY_SSS_PROFILE 
LUT_RANDOM_WALK_SSS_PROFILE 

Definition at line 18 of file eevee_precompute_shared.hh.

◆ ShaderGroups

Bitmask representing the shader categories. This allows the loading of certain parts of the engine to kick-in as soon as the shaders that depends on it are compiled.

Enumerator
NONE 
DEFERRED_LIGHTING_SHADERS 
DEFERRED_CAPTURE_SHADERS 
DEFERRED_PLANAR_SHADERS 
DEPTH_OF_FIELD_SHADERS 
HIZ_SHADERS 
HORIZON_SCAN_SHADERS 
LIGHT_CULLING_SHADERS 
IRRADIANCE_BAKE_SHADERS 
SPHERE_PROBE_SHADERS 
SHADOW_SHADERS 
AMBIENT_OCCLUSION_SHADERS 
MOTION_BLUR_SHADERS 
RAYTRACING_SHADERS 
FILM_SHADERS 
SUBSURFACE_SHADERS 
SURFEL_SHADERS 
VERTEX_COPY_SHADERS 
VOLUME_EVAL_SHADERS 
DEFAULT_MATERIALS 
WORLD_SHADERS 
MATERIAL_SHADERS 
VOLUME_PROBE_SHADERS 

Definition at line 175 of file eevee_shader.hh.

◆ ShadowTechnique

Enumerator
ATOMIC_RASTER 
TILE_COPY 

Definition at line 48 of file eevee_shadow.hh.

Function Documentation

◆ BLI_STATIC_ASSERT() [1/3]

blender::eevee::BLI_STATIC_ASSERT ( sizeof(LightAreaData) = sizeof(LightLocalData),
"Data size must match"  )

— Shadow Data —

Offset of the LOD min in LOD min tile units. Split positive and negative for bit-shift.

Angle covered by the light shape for shadow ray casting.

Offset to convert from world units to tile space of the clipmap_lod_max.

Clip-map LOD range to avoid sampling outside of valid range.

Definition at line 132 of file eevee_light_shared.hh.

◆ BLI_STATIC_ASSERT() [2/3]

blender::eevee::BLI_STATIC_ASSERT ( sizeof(LightSpotData) = sizeof(LightLocalData),
"Data size must match"  )

Shape size.

Scale to apply on top of size to get shadow tracing shape size.

Definition at line 118 of file eevee_light_shared.hh.

References LOCAL_LIGHT_COMMON, and size().

◆ BLI_STATIC_ASSERT() [3/3]

blender::eevee::BLI_STATIC_ASSERT ( sizeof(LightSunData) = sizeof(LightLocalData),
"Data size must match"  )

Normalized object to world matrix. Stored transposed for compactness. Used for shading and shadowing local lights, or shadowing sun lights. IMPORTANT: Not used for shading sun lights as this matrix is jittered.

Power depending on shader type. Referenced by LightingType.

Light Color.

Light Type.

— Shadow Data —

Near clip distances. Float stored as orderedIntBitsToFloat for atomic operations.

Index of the first tile-map. Set to LIGHT_NO_SHADOW if light is not casting shadow.

Used by shadow sync.

Definition at line 157 of file eevee_light_shared.hh.

References power().

◆ burley_eval()

float3 blender::eevee::burley_eval ( float3 d,
float r )
inlinestatic

Definition at line 55 of file eevee_subsurface_shared.hh.

References expf.

◆ burley_setup()

float3 blender::eevee::burley_setup ( float3 radius,
float3 albedo )
inlinestatic

Definition at line 41 of file eevee_subsurface_shared.hh.

References A, burley_setup(), and l.

Referenced by burley_setup().

◆ calc_sphere_extent()

int blender::eevee::calc_sphere_extent ( const float viewport_scale)
static

Definition at line 255 of file eevee_lookdev.cc.

References U, and UI_SCALE_FAC.

Referenced by blender::eevee::LookdevModule::sync().

◆ circle_to_polygon_angle()

float blender::eevee::circle_to_polygon_angle ( float sides_count,
float theta )
inlinestatic

◆ circle_to_polygon_radius()

float blender::eevee::circle_to_polygon_radius ( float sides_count,
float theta )
inlinestatic

◆ coc_radius_from_camera_depth()

float blender::eevee::coc_radius_from_camera_depth ( DepthOfFieldData dof,
float depth )
inlinestatic

◆ codegen_callback()

◆ cubeface_mat()

float4x4 blender::eevee::cubeface_mat ( int face)
inline

◆ cubeface_winmat_get()

void blender::eevee::cubeface_winmat_get ( float4x4 & winmat,
float near,
float far )
inline

◆ enabled_passes()

◆ film_filter_weight()

float blender::eevee::film_filter_weight ( float filter_radius,
float sample_distance_sqr )
inlinestatic

Definition at line 128 of file eevee_film_shared.hh.

References cosf, expf, film_filter_weight(), M_TAU, saturate, and sqrtf.

Referenced by film_filter_weight().

◆ foreach_hair_particle_handle()

◆ geometry_call()

void blender::eevee::geometry_call ( PassMain::Sub * sub_pass,
gpu::Batch * geom,
ResourceHandleRange resource_handle )
inlinestatic

◆ geometry_type_has_surface()

bool blender::eevee::geometry_type_has_surface ( eMaterialGeometry geometry_type)
inlinestatic

◆ get_aov_write_pass_shader_type()

eShaderType blender::eevee::get_aov_write_pass_shader_type ( const ViewLayerAOV * aov)
static

◆ get_viewport_compositor_enabled_passes()

eViewLayerEEVEEPassType blender::eevee::get_viewport_compositor_enabled_passes ( const Set< std::string > & viewport_compositor_needed_passes,
const ViewLayer * view_layer )
static

◆ get_write_pass_shader_type()

◆ irradiance_brick_pack()

IrradianceBrickPacked blender::eevee::irradiance_brick_pack ( IrradianceBrick brick)
inlinestatic

◆ irradiance_brick_unpack()

IrradianceBrick blender::eevee::irradiance_brick_unpack ( IrradianceBrickPacked brick_packed)
inlinestatic

◆ is_area_light()

bool blender::eevee::is_area_light ( eLightType type)
inlinestatic

◆ is_local_light()

bool blender::eevee::is_local_light ( eLightType type)
inlinestatic

◆ is_oriented_disk_light()

bool blender::eevee::is_oriented_disk_light ( eLightType type)
inlinestatic

Definition at line 56 of file eevee_light_shared.hh.

References LIGHT_OMNI_DISK, and LIGHT_SPOT_DISK.

◆ is_panoramic()

bool blender::eevee::is_panoramic ( eCameraType type)
inlinestatic

Definition at line 26 of file eevee_camera_shared.hh.

References CAMERA_ORTHO.

Referenced by blender::eevee::Camera::is_panoramic().

◆ is_point_light()

bool blender::eevee::is_point_light ( eLightType type)
inlinestatic

◆ is_sphere_light()

bool blender::eevee::is_sphere_light ( eLightType type)
inlinestatic

Definition at line 51 of file eevee_light_shared.hh.

References LIGHT_OMNI_SPHERE, and LIGHT_SPOT_SPHERE.

◆ is_spot_light()

bool blender::eevee::is_spot_light ( eLightType type)
inlinestatic

◆ is_sun_light()

◆ light_local_tilemap_count()

int blender::eevee::light_local_tilemap_count ( LightData light)
inlinestatic

◆ light_position_get()

float3 blender::eevee::light_position_get ( LightData light)
inlinestatic

Definition at line 236 of file eevee_light_shared.hh.

References transform_location().

◆ light_tilemap_max_get()

int blender::eevee::light_tilemap_max_get ( LightData light)
inlinestatic

Definition at line 454 of file eevee_light_shared.hh.

References is_sun_light(), light_local_data_get, and light_sun_data_get.

◆ light_x_axis()

float3 blender::eevee::light_x_axis ( LightData light)
inlinestatic

Definition at line 224 of file eevee_light_shared.hh.

References light_x_axis(), and transform_x_axis().

Referenced by light_x_axis().

◆ light_y_axis()

float3 blender::eevee::light_y_axis ( LightData light)
inlinestatic

Definition at line 228 of file eevee_light_shared.hh.

References transform_y_axis().

◆ light_z_axis()

float3 blender::eevee::light_z_axis ( LightData light)
inlinestatic

Definition at line 232 of file eevee_light_shared.hh.

References transform_z_axis().

◆ material_type_from_shader_uuid()

void blender::eevee::material_type_from_shader_uuid ( uint64_t shader_uuid,
eMaterialPipeline & pipeline_type,
eMaterialGeometry & geometry_type,
eMaterialDisplacement & displacement_type,
eMaterialThickness & thickness_type,
bool & transparent_shadows )
inlinestatic

◆ operator!=() [1/2]

bool blender::eevee::operator!= ( const CameraData & a,
const CameraData & b )
inline

Definition at line 83 of file eevee_camera.hh.

References b.

◆ operator!=() [2/2]

bool blender::eevee::operator!= ( const FilmData & a,
const FilmData & b )
inline

Definition at line 186 of file eevee_film.cc.

References b.

◆ operator==() [1/2]

◆ operator==() [2/2]

◆ pass_replacement_cb()

◆ regular_polygon_side_length()

float blender::eevee::regular_polygon_side_length ( float sides_count)
inlinestatic

Definition at line 76 of file eevee_depth_of_field_shared.hh.

References EEVEE_PI, and sinf.

Referenced by circle_to_polygon_angle().

◆ resolution_to_probe_resolution_enum()

◆ sampling_web_ring_count_get()

int blender::eevee::sampling_web_ring_count_get ( int web_density,
int sample_count )
inlinestatic

Definition at line 72 of file eevee_sampling_shared.hh.

References ceilf, float, sqrtf, and x.

Referenced by blender::eevee::Sampling::init().

◆ sampling_web_sample_count_get()

int blender::eevee::sampling_web_sample_count_get ( int web_density,
int in_ring_count )
inlinestatic

◆ shader_closure_bits_from_flag()

◆ shader_uuid_from_material_type()

uint64_t blender::eevee::shader_uuid_from_material_type ( eMaterialPipeline pipeline_type,
eMaterialGeometry geometry_type,
eMaterialDisplacement displacement_type = MAT_DISPLACEMENT_BUMP,
eMaterialThickness thickness_type = MAT_THICKNESS_SPHERE,
char blend_flags = 0 )
inlinestatic

◆ shadow_cascade_grid_offset()

int2 blender::eevee::shadow_cascade_grid_offset ( int2 base_offset,
int level_relative )
inlinestatic

Definition at line 47 of file eevee_shadow_shared.hh.

◆ shadow_lod_offset_pack()

uint blender::eevee::shadow_lod_offset_pack ( uint2 ofs)
inlinestatic

◆ shadow_lod_offset_unpack()

uint2 blender::eevee::shadow_lod_offset_unpack ( uint data)
inlinestatic

◆ shadow_page_pack()

◆ shadow_page_unpack()

◆ shadow_sampling_tile_create()

ShadowSamplingTile blender::eevee::shadow_sampling_tile_create ( ShadowTileData tile_data,
uint lod )
inlinestatic

◆ shadow_sampling_tile_pack()

◆ shadow_sampling_tile_unpack()

◆ shadow_tile_pack()

◆ shadow_tile_unpack()

◆ step_object_sync_render()

◆ store_node_tree_errors()

◆ to_displacement_type()

◆ to_gbuffer_bin_count()

◆ to_light_type()

eLightType blender::eevee::to_light_type ( short blender_light_type,
short blender_area_type,
bool use_soft_falloff )
static

◆ to_material_geometry()

eMaterialGeometry blender::eevee::to_material_geometry ( const Object * ob)
inlinestatic

◆ to_thickness_type()

eMaterialThickness blender::eevee::to_thickness_type ( int thickness_mode)
inlinestatic

◆ transform_direction()

◆ transform_direction_transposed()

float3 blender::eevee::transform_direction_transposed ( Transform t,
float3 direction )
inlinestatic

◆ transform_from_matrix()

Transform blender::eevee::transform_from_matrix ( float4x4 m)
inlinestatic

◆ transform_location()

◆ transform_point()

◆ transform_point_inversed()

float3 blender::eevee::transform_point_inversed ( Transform t,
float3 point )
inlinestatic

◆ transform_to_matrix()

float4x4 blender::eevee::transform_to_matrix ( Transform t)
inlinestatic

◆ transform_x_axis()

float3 blender::eevee::transform_x_axis ( Transform t)
inlinestatic

◆ transform_y_axis()

float3 blender::eevee::transform_y_axis ( Transform t)
inlinestatic

◆ transform_z_axis()

float3 blender::eevee::transform_z_axis ( Transform t)
inlinestatic

◆ uint64_to_uint2()

uint2 blender::eevee::uint64_to_uint2 ( uint64_t data)
static

Definition at line 26 of file eevee_light.cc.

References data.

Referenced by blender::eevee::Light::sync().

◆ volume_call()

Variable Documentation

◆ shadow_clipmap_scale_mat

const float blender::eevee::shadow_clipmap_scale_mat[4][4]
staticconstexpr
Initial value:
= {{SHADOW_TILEMAP_RES / 2, 0, 0, 0},
{0, SHADOW_TILEMAP_RES / 2, 0, 0},
{0, 0, 0.5, 0},
{0, 0, 0.5, 1}}
#define SHADOW_TILEMAP_RES

Definition at line 42 of file eevee_shadow.hh.

◆ shadow_face_mat

const float blender::eevee::shadow_face_mat[6][3][3]
staticconstexpr
Initial value:
= {
{{+1, +0, +0}, {+0, +1, +0}, {+0, +0, +1}},
{{+0, +0, -1}, {-1, +0, +0}, {+0, +1, +0}},
{{+0, +0, +1}, {+1, +0, +0}, {+0, +1, +0}},
{{+1, +0, +0}, {+0, +0, -1}, {+0, +1, +0}},
{{-1, +0, +0}, {+0, +0, +1}, {+0, +1, +0}},
{{+1, +0, +0}, {+0, -1, +0}, {+0, +0, -1}},
}

Definition at line 32 of file eevee_shadow.hh.

Referenced by blender::eevee::ShadowTileMap::sync_cubeface().