Blender V4.5
blender::eevee Namespace Reference

Namespaces

namespace  lut
namespace  do_not_use

Classes

class  AmbientOcclusion
class  Camera
class  Cryptomatte
struct  DepthOfFieldBuffer
class  DepthOfField
struct  Engine
class  Film
class  GBuffer
class  HiZBuffer
struct  UniformDataModule
class  Instance
 A running instance of the engine. More...
struct  Light
class  LightModule
class  LightBake
struct  SphereProbeAtlasCoord
struct  LightProbe
struct  VolumeProbe
struct  SphereProbe
struct  PlanarProbe
class  LightProbeModule
class  PlanarProbeModule
class  SphereProbeModule
class  IrradianceBake
class  VolumeProbeModule
struct  LookdevParameters
class  LookdevWorld
class  LookdevModule
struct  MaterialKey
struct  ShaderKey
class  DefaultSurfaceNodeTree
struct  MaterialPass
struct  Material
struct  MaterialArray
class  MaterialModule
class  MotionBlurModule
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
class  RenderBuffers
class  Sampling
class  SamplerSlots
struct  CallbackThunk
class  ShaderModule
struct  Transform
struct  SamplingData
struct  CameraData
struct  FilmSample
struct  FilmData
struct  AOVsInfoData
struct  RenderBuffersInfoData
struct  VelocityObjectIndex
struct  VelocityGeometryIndex
struct  VelocityIndex
struct  MotionBlurData
struct  VolumesInfoData
struct  DepthOfFieldData
struct  ScatterRect
struct  LightCullingData
struct  LightLocalData
struct  LightSpotData
struct  ShadowTileMapData
struct  ShadowRenderView
struct  ShadowTileMapClip
struct  ShadowPagesInfoData
struct  ShadowStatistics
struct  ShadowTileData
struct  ShadowSamplingTile
struct  ShadowSceneData
struct  ReflectionProbeLowFreqLight
struct  SphereProbeUvArea
struct  SphereProbePixelArea
struct  SphereProbeData
struct  SphereProbeDisplayData
struct  SphereProbeHarmonic
struct  SphereProbeSunLight
struct  SurfelRadiance
struct  Surfel
struct  CaptureInfoData
struct  SurfelListInfoData
struct  VolumeProbeData
struct  IrradianceBrick
struct  HiZData
struct  ClampData
struct  RayTraceData
struct  AOData
struct  SubsurfaceData
struct  PlanarProbeData
struct  ClipPlaneData
struct  PlanarProbeDisplayData
struct  PipelineInfoData
struct  UniformData
struct  ShadowTileMap
struct  ShadowTileMapPool
struct  ShadowObject
class  ShadowModule
class  ShadowPunctual
class  ShadowDirectional
struct  SubsurfaceModule
class  ObjectKey
struct  BaseHandle
struct  ObjectHandle
struct  WorldHandle
struct  SceneHandle
class  SyncModule
class  VelocityModule
class  ShadingView
class  MainView
class  CaptureView
class  LookdevView
class  VolumeModule
class  DefaultWorldNodeTree
class  World
class  AxisSigned
struct  CartesianBasis
class  Framebuffer
struct  ResourceHandle
class  Texture
class  View

Typedefs

using StaticShader = gpu::StaticShader
using AOVsInfoDataBuf = draw::StorageBuffer<AOVsInfoData>
using CameraDataBuf = draw::UniformBuffer<CameraData>
using ClosureTileBuf = draw::StorageArrayBuffer<uint, 1024, true>
using DepthOfFieldDataBuf = draw::UniformBuffer<DepthOfFieldData>
using DepthOfFieldScatterListBuf = draw::StorageArrayBuffer<ScatterRect, 16, true>
using DrawIndirectBuf = draw::StorageBuffer<DrawCommand, true>
using DispatchIndirectBuf = draw::StorageBuffer<DispatchCommand>
using UniformDataBuf = draw::UniformBuffer<UniformData>
using VolumeProbeDataBuf = draw::UniformArrayBuffer<VolumeProbeData, IRRADIANCE_GRID_MAX>
using IrradianceBrickBuf = draw::StorageVectorBuffer<IrradianceBrickPacked, 16>
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>
using MotionBlurDataBuf = draw::UniformBuffer<MotionBlurData>
using MotionBlurTileIndirectionBuf = draw::StorageBuffer<MotionBlurTileIndirection, true>
using RayTraceTileBuf = draw::StorageArrayBuffer<uint, 1024, true>
using SubsurfaceTileBuf = RayTraceTileBuf
using SphereProbeDataBuf = draw::UniformArrayBuffer<SphereProbeData, SPHERE_PROBE_MAX>
using SphereProbeDisplayDataBuf = draw::StorageArrayBuffer<SphereProbeDisplayData>
using PlanarProbeDataBuf = draw::UniformArrayBuffer<PlanarProbeData, PLANAR_PROBE_MAX>
using PlanarProbeDisplayDataBuf = draw::StorageArrayBuffer<PlanarProbeDisplayData>
using SamplingDataBuf = draw::StorageBuffer<SamplingData>
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 SurfelBuf = draw::StorageArrayBuffer<Surfel, 64>
using SurfelRadianceBuf = draw::StorageArrayBuffer<SurfelRadiance, 64>
using CaptureInfoBuf = draw::StorageBuffer<CaptureInfoData>
using SurfelListInfoBuf = draw::StorageBuffer<SurfelListInfoData>
using VelocityGeometryBuf = draw::StorageArrayBuffer<float4, 16, true>
using VelocityIndexBuf = draw::StorageArrayBuffer<VelocityIndex, 16>
using VelocityObjectBuf = draw::StorageArrayBuffer<float4x4, 16>
using CryptomatteObjectBuf = draw::StorageArrayBuffer<float2, 16>
using ClipPlaneBuf = draw::UniformBuffer<ClipPlaneData>
using PassSimple

Enumerations

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_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_SORT , SURFEL_RAY , VERTEX_COPY , VOLUME_INTEGRATION ,
  VOLUME_OCCUPANCY_CONVERT , VOLUME_RESOLVE , VOLUME_SCATTER , VOLUME_SCATTER_WITH_LIGHTS ,
  MAX_SHADER_TYPE
}
enum  eCubeFace : uint32_t {
  Z_NEG = 0u , X_POS = 1u , X_NEG = 2u , Y_POS = 3u ,
  Y_NEG = 4u , Z_POS = 5u
}
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 }
Debug Mode
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
}
Look-Up Table Generation
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
}
Light-probe Sphere
enum  LightProbeShape : uint32_t { SHAPE_ELIPSOID = 0u , SHAPE_CUBOID = 1u }
Ray-tracing
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
}
enum  GBufferMode : uint32_t {
  GBUF_NONE = 0u , GBUF_DIFFUSE = 1u , GBUF_REFLECTION = 2u , GBUF_REFLECTION_COLORLESS = 3u ,
  GBUF_UNLIT = 4u , GBUF_TRANSMISSION_BIT = 1u << 3u , GBUF_REFRACTION = 0u | GBUF_TRANSMISSION_BIT , GBUF_REFRACTION_COLORLESS = 1u | GBUF_TRANSMISSION_BIT ,
  GBUF_TRANSLUCENT = 2u | GBUF_TRANSMISSION_BIT , GBUF_SUBSURFACE = 3u | GBUF_TRANSMISSION_BIT
}

Functions

float4x4 cubeface_mat (int face)
void cubeface_winmat_get (float4x4 &winmat, float near, float far)
static uint2 uint64_to_uint2 (uint64_t data)
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)
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)
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)
Transform
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)
Depth of field
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)
Volume Probe Cache
static IrradianceBrickPacked irradiance_brick_pack (IrradianceBrick brick)
static IrradianceBrick irradiance_brick_unpack (IrradianceBrickPacked brick_packed)
Subsurface
static float3 burley_setup (float3 radius, float3 albedo)
static float3 burley_eval (float3 d, float r)
Common
static void geometry_call (PassMain::Sub *sub_pass, gpu::Batch *geom, ResourceHandle resource_handle)
static void volume_call (MaterialPass &matpass, Scene *scene, Object *ob, gpu::Batch *geom, ResourceHandle res_handle)

Variables

constexpr GPUSamplerState no_filter = GPUSamplerState::default_sampler()
constexpr GPUSamplerState with_filter = {GPU_SAMPLER_FILTERING_LINEAR}
static constexpr const float shadow_face_mat [6][3][3]
static constexpr const float shadow_clipmap_scale_mat [4][4]

MaterialKey

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_GPENCIL ,
  MAT_GEOM_VOLUME , MAT_GEOM_WORLD
}
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 }
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 eMaterialGeometry to_material_geometry (const Object *ob)

Sampling

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
}
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)

Camera

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
}
static bool is_panoramic (eCameraType type)

Film

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
}
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)
static float film_filter_weight (float filter_radius, float sample_distance_sqr)

VelocityModule

enum  eVelocityStep : uint32_t { STEP_PREVIOUS = 0 , STEP_NEXT = 1 , STEP_CURRENT = 2 }
static void step_object_sync_render (Instance &inst, ObjectRef &ob_ref)

Lights

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  LightingType : uint32_t {
  LIGHT_DIFFUSE = 0u , LIGHT_SPECULAR = 1u , LIGHT_TRANSMISSION = 2u , LIGHT_VOLUME = 3u ,
  LIGHT_TRANSLUCENT_WITH_THICKNESS = 4u
}
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)

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  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 (ObjectRef &ob_ref, ObjectHandle ob_handle, HairHandleCallback callback)

Typedef Documentation

◆ AOVsInfoDataBuf

◆ CameraDataBuf

◆ CaptureInfoBuf

◆ ClipPlaneBuf

◆ ClosureTileBuf

◆ CryptomatteObjectBuf

◆ DepthOfFieldDataBuf

◆ DepthOfFieldScatterListBuf

◆ DispatchIndirectBuf

◆ DrawIndirectBuf

◆ HairHandleCallback

◆ IrradianceBrickBuf

◆ LightCullingDataBuf

◆ LightCullingKeyBuf

◆ LightCullingTileBuf

◆ LightCullingZbinBuf

◆ LightCullingZdistBuf

◆ LightDataBuf

◆ MotionBlurDataBuf

◆ MotionBlurTileIndirectionBuf

Definition at line 2258 of file eevee_shader_shared.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

◆ SurfelRadianceBuf

◆ 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 336 of file eevee_shader_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 1917 of file eevee_shader_shared.hh.

◆ eCubeFace

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

Definition at line 49 of file eevee_shader_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 194 of file eevee_shader_shared.hh.

◆ eFilmWeightLayerIndex

Enumerator
FILM_WEIGHT_LAYER_ACCUMULATION 
FILM_WEIGHT_LAYER_DISTANCE 

Definition at line 394 of file eevee_shader_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 853 of file eevee_shader_shared.hh.

◆ eMaterialDisplacement

Enumerator
MAT_DISPLACEMENT_BUMP 
MAT_DISPLACEMENT_VERTEX_WITH_BUMP 

Definition at line 67 of file eevee_material.hh.

◆ eMaterialGeometry

Enumerator
MAT_GEOM_MESH 
MAT_GEOM_POINTCLOUD 
MAT_GEOM_CURVES 
MAT_GEOM_GPENCIL 
MAT_GEOM_VOLUME 
MAT_GEOM_WORLD 

Definition at line 50 of file eevee_material.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 33 of file eevee_material.hh.

◆ eMaterialProbe

Enumerator
MAT_PROBE_NONE 
MAT_PROBE_REFLECTION 
MAT_PROBE_PLANAR 

Definition at line 101 of file eevee_material.hh.

◆ eMaterialThickness

Enumerator
MAT_THICKNESS_SPHERE 
MAT_THICKNESS_SLAB 

Definition at line 85 of file eevee_material.hh.

◆ ePassStorageType

Enumerator
PASS_STORAGE_COLOR 
PASS_STORAGE_VALUE 
PASS_STORAGE_CRYPTOMATTE 

Definition at line 399 of file eevee_shader_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 266 of file eevee_shader_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_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_SORT 
SURFEL_RAY 
VERTEX_COPY 
VOLUME_INTEGRATION 
VOLUME_OCCUPANCY_CONVERT 
VOLUME_RESOLVE 
VOLUME_SCATTER 
VOLUME_SCATTER_WITH_LIGHTS 
MAX_SHADER_TYPE 

Definition at line 32 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 1489 of file eevee_shader_shared.hh.

◆ eShadowProjectionType

Enumerator
SHADOW_PROJECTION_CUBEFACE 
SHADOW_PROJECTION_CLIPMAP 
SHADOW_PROJECTION_CASCADE 

Definition at line 1332 of file eevee_shader_shared.hh.

◆ eVelocityStep

Enumerator
STEP_PREVIOUS 
STEP_NEXT 
STEP_CURRENT 

Definition at line 575 of file eevee_shader_shared.hh.

◆ GBufferMode

enum blender::eevee::GBufferMode : uint32_t
Enumerator
GBUF_NONE 

None mode for pixels not rendered.

GBUF_DIFFUSE 
GBUF_REFLECTION 
GBUF_REFLECTION_COLORLESS 
GBUF_UNLIT 

Used for surfaces that have no lit closure and just encode a normal layer.

GBUF_TRANSMISSION_BIT 

Special bit that marks all closures with refraction. Allows to detect the presence of transmission more easily. Note that this left only 2^3 values (minus 0) for encoding the BSDF. Could be removed if that's too cumbersome to add more BSDF.

GBUF_REFRACTION 
GBUF_REFRACTION_COLORLESS 
GBUF_TRANSLUCENT 
GBUF_SUBSURFACE 

Definition at line 1935 of file eevee_shader_shared.hh.

◆ LightingType

Enumerator
LIGHT_DIFFUSE 
LIGHT_SPECULAR 
LIGHT_TRANSMISSION 
LIGHT_VOLUME 
LIGHT_TRANSLUCENT_WITH_THICKNESS 

Definition at line 867 of file eevee_shader_shared.hh.

◆ LightProbeShape

Enumerator
SHAPE_ELIPSOID 
SHAPE_CUBOID 

Definition at line 1656 of file eevee_shader_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 405 of file eevee_shader_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 252 of file eevee_shader_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 64 of file eevee_shader_shared.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 973 of file eevee_shader_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 959 of file eevee_shader_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 998 of file eevee_shader_shared.hh.

References power().

◆ burley_eval()

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

Definition at line 2063 of file eevee_shader_shared.hh.

References expf.

◆ burley_setup()

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

Definition at line 2049 of file eevee_shader_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 250 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 503 of file eevee_shader_shared.hh.

References cosf, expf, film_filter_weight(), 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,
ResourceHandle 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 897 of file eevee_shader_shared.hh.

References LIGHT_OMNI_DISK, and LIGHT_SPOT_DISK.

◆ is_panoramic()

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

Definition at line 345 of file eevee_shader_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 892 of file eevee_shader_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 1077 of file eevee_shader_shared.hh.

References transform_location().

◆ light_tilemap_max_get()

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

Definition at line 1295 of file eevee_shader_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 1065 of file eevee_shader_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 1069 of file eevee_shader_shared.hh.

References transform_y_axis().

◆ light_z_axis()

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

Definition at line 1073 of file eevee_shader_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 765 of file eevee_shader_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 321 of file eevee_shader_shared.hh.

References ceilf, 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 1338 of file eevee_shader_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()

◆ to_displacement_type()

◆ 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()

◆ 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

◆ no_filter

◆ 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().

◆ with_filter

GPUSamplerState blender::eevee::with_filter = {GPU_SAMPLER_FILTERING_LINEAR}
constexpr

Definition at line 43 of file eevee_shader_shared.hh.