|
Blender V4.3
|
#include "BLI_math_bits.h"#include "BLI_memory_utils.hh"#include "DRW_gpu_wrapper.hh"#include "draw_manager.hh"#include "draw_pass.hh"#include "eevee_defines.hh"#include "GPU_shader_shared.hh"Go to the source code of this file.
Namespaces | |
| namespace | blender |
| namespace | blender::eevee |
| namespace | blender::eevee::do_not_use |
Macros | |
| #define | IS_CPP 1 |
| #define | EEVEE_PI |
| #define | M_PI 3.14159265358979323846 /* pi */ |
| #define | SAFE_UNION_ACCESS 0 |
| #define | USE_LIGHT_UNION 1 |
RenderBuffers | |
| #define | AOV_MAX 16 |
Motion Blur | |
| #define | MOTION_BLUR_TILE_SIZE 32 |
| #define | MOTION_BLUR_MAX_TILE 512 /* 16384 / MOTION_BLUR_TILE_SIZE */ |
Light Culling | |
| #define | CULLING_MAX_ITEM 65536 |
| #define | CULLING_ZBIN_COUNT 4096 |
| #define | CULLING_TILE_RES 16 |
Utility texture | |
| #define | UTIL_TEX_SIZE 64 |
| #define | UTIL_BTDF_LAYER_COUNT 16 |
| #define | UTIL_TEX_UV_SCALE ((UTIL_TEX_SIZE - 1.0f) / UTIL_TEX_SIZE) |
| #define | UTIL_TEX_UV_BIAS (0.5f / UTIL_TEX_SIZE) |
| #define | UTIL_BLUE_NOISE_LAYER 0 |
| #define | UTIL_SSS_TRANSMITTANCE_PROFILE_LAYER 1 |
| #define | UTIL_LTC_MAT_LAYER 2 |
| #define | UTIL_BSDF_LAYER 3 |
| #define | UTIL_BTDF_LAYER 4 |
| #define | UTIL_DISK_INTEGRAL_LAYER UTIL_SSS_TRANSMITTANCE_PROFILE_LAYER |
| #define | UTIL_DISK_INTEGRAL_COMP 3 |
Variables | |
| constexpr GPUSamplerState | blender::eevee::no_filter = GPUSamplerState::default_sampler() |
| constexpr GPUSamplerState | blender::eevee::with_filter = {GPU_SAMPLER_FILTERING_LINEAR} |
Film | |
| #define | FILM_PRECOMP_SAMPLE_MAX 16 |
| enum | blender::eevee::eFilmWeightLayerIndex : uint32_t { blender::eevee::FILM_WEIGHT_LAYER_ACCUMULATION = 0u , blender::eevee::FILM_WEIGHT_LAYER_DISTANCE = 1u } |
| enum | blender::eevee::ePassStorageType : uint32_t { blender::eevee::PASS_STORAGE_COLOR = 0u , blender::eevee::PASS_STORAGE_VALUE = 1u , blender::eevee::PASS_STORAGE_CRYPTOMATTE = 2u } |
| enum | blender::eevee::PassCategory : uint32_t { blender::eevee::PASS_CATEGORY_DATA = 1u << 0 , blender::eevee::PASS_CATEGORY_COLOR_1 = 1u << 1 , blender::eevee::PASS_CATEGORY_COLOR_2 = 1u << 2 , blender::eevee::PASS_CATEGORY_COLOR_3 = 1u << 3 , blender::eevee::PASS_CATEGORY_AOV = 1u << 4 , blender::eevee::PASS_CATEGORY_CRYPTOMATTE = 1u << 5 } |
| static float | blender::eevee::film_filter_weight (float filter_radius, float sample_distance_sqr) |
VelocityModule | |
| #define | VELOCITY_INVALID 512.0 |
| enum | blender::eevee::eVelocityStep : uint32_t { blender::eevee::STEP_PREVIOUS = 0 , blender::eevee::STEP_NEXT = 1 , blender::eevee::STEP_CURRENT = 2 } |
Depth of field | |
| #define | DOF_FAST_GATHER_COC_ERROR 0.05 |
| #define | DOF_GATHER_RING_COUNT 5 |
| #define | DOF_DILATE_RING_COUNT 3 |
| static float | blender::eevee::coc_radius_from_camera_depth (DepthOfFieldData dof, float depth) |
| static float | blender::eevee::regular_polygon_side_length (float sides_count) |
| static float | blender::eevee::circle_to_polygon_radius (float sides_count, float theta) |
| static float | blender::eevee::circle_to_polygon_angle (float sides_count, float theta) |
Volume Probe Cache | |
| #define | IrradianceBrickPacked uint |
| static IrradianceBrickPacked | blender::eevee::irradiance_brick_pack (IrradianceBrick brick) |
| static IrradianceBrick | blender::eevee::irradiance_brick_unpack (IrradianceBrickPacked brick_packed) |
Subsurface | |
| #define | SSS_SAMPLE_MAX 64 |
| #define | SSS_BURLEY_TRUNCATE 16.0 |
| #define | SSS_BURLEY_TRUNCATE_CDF 0.9963790093708328 |
| #define | SSS_TRANSMIT_LUT_SIZE 64.0 |
| #define | SSS_TRANSMIT_LUT_RADIUS 2.0 |
| #define | SSS_TRANSMIT_LUT_SCALE ((SSS_TRANSMIT_LUT_SIZE - 1.0) / float(SSS_TRANSMIT_LUT_SIZE)) |
| #define | SSS_TRANSMIT_LUT_BIAS (0.5 / float(SSS_TRANSMIT_LUT_SIZE)) |
| #define | SSS_TRANSMIT_LUT_STEP_RES 64.0 |
| static float3 | blender::eevee::burley_setup (float3 radius, float3 albedo) |
| static float3 | blender::eevee::burley_eval (float3 d, float r) |
Camera | |
| enum | blender::eevee::eCameraType : uint32_t { blender::eevee::CAMERA_PERSP = 0u , blender::eevee::CAMERA_ORTHO = 1u , blender::eevee::CAMERA_PANO_EQUIRECT = 2u , blender::eevee::CAMERA_PANO_EQUISOLID = 3u , blender::eevee::CAMERA_PANO_EQUIDISTANT = 4u , blender::eevee::CAMERA_PANO_MIRROR = 5u } |
| static bool | blender::eevee::is_panoramic (eCameraType type) |
| #define AOV_MAX 16 |
Definition at line 494 of file eevee_shader_shared.hh.
| #define CULLING_MAX_ITEM 65536 |
Definition at line 776 of file eevee_shader_shared.hh.
Referenced by blender::eevee::LightModule::end_sync().
| #define CULLING_TILE_RES 16 |
Definition at line 780 of file eevee_shader_shared.hh.
| #define CULLING_ZBIN_COUNT 4096 |
Definition at line 778 of file eevee_shader_shared.hh.
Referenced by blender::eevee::LightModule::set_view().
| #define DATA_MEMBER local |
Definition at line 1103 of file eevee_shader_shared.hh.
| #define DOF_DILATE_RING_COUNT 3 |
Definition at line 678 of file eevee_shader_shared.hh.
Referenced by blender::eevee::DepthOfField::render().
| #define DOF_FAST_GATHER_COC_ERROR 0.05 |
Definition at line 676 of file eevee_shader_shared.hh.
| #define DOF_GATHER_RING_COUNT 5 |
Definition at line 677 of file eevee_shader_shared.hh.
Referenced by blender::eevee::DepthOfField::render().
| #define EEVEE_PI |
WORKAROUND(@fclem): This is because this file is included before common_math_lib.glsl.
Definition at line 46 of file eevee_shader_shared.hh.
Definition at line 1115 of file eevee_shader_shared.hh.
| #define FILM_PRECOMP_SAMPLE_MAX 16 |
Definition at line 358 of file eevee_shader_shared.hh.
| #define FLOAT_AS_INT float_as_int |
Definition at line 1056 of file eevee_shader_shared.hh.
| #define INT_AS_FLOAT int_as_float |
Definition at line 1057 of file eevee_shader_shared.hh.
Definition at line 1831 of file eevee_shader_shared.hh.
Referenced by blender::eevee::irradiance_brick_pack().
| #define IS_CPP 1 |
Definition at line 41 of file eevee_shader_shared.hh.
| #define light_area_data_get | ( | light | ) | light.area |
Definition at line 1243 of file eevee_shader_shared.hh.
| #define light_local_data_get | ( | light | ) | light.local |
Definition at line 1241 of file eevee_shader_shared.hh.
Referenced by blender::eevee::light_tilemap_max_get().
| #define LIGHT_NO_SHADOW -1 |
Definition at line 817 of file eevee_shader_shared.hh.
Referenced by blender::eevee::ShadowModule::end_sync().
| #define light_spot_data_get | ( | light | ) | light.spot |
Definition at line 1242 of file eevee_shader_shared.hh.
Referenced by blender::eevee::light_local_tilemap_count().
| #define light_sun_data_get | ( | light | ) | light.sun |
Definition at line 1244 of file eevee_shader_shared.hh.
Referenced by blender::eevee::light_tilemap_max_get().
| #define LOCAL_LIGHT_COMMON |
Definition at line 880 of file eevee_shader_shared.hh.
Referenced by blender::eevee::BLI_STATIC_ASSERT().
| #define M_PI 3.14159265358979323846 /* pi */ |
Definition at line 47 of file eevee_shader_shared.hh.
| #define MOTION_BLUR_MAX_TILE 512 /* 16384 / MOTION_BLUR_TILE_SIZE */ |
Definition at line 591 of file eevee_shader_shared.hh.
| #define MOTION_BLUR_TILE_SIZE 32 |
Definition at line 590 of file eevee_shader_shared.hh.
Definition at line 1118 of file eevee_shader_shared.hh.
| #define SAFE_ASSIGN_FLOAT | ( | a, | |
| b ) SAFE_ASSIGN(a, TYPECAST_NOOP, float, b); |
Definition at line 1124 of file eevee_shader_shared.hh.
Referenced by blender::eevee::do_not_use::light_area_data_get(), blender::eevee::do_not_use::light_local_data_get_ex(), blender::eevee::do_not_use::light_local_data_set(), blender::eevee::do_not_use::light_sun_data_get(), and blender::eevee::do_not_use::light_sun_data_set().
| #define SAFE_ASSIGN_FLOAT2 | ( | a, | |
| b ) SAFE_ASSIGN(a, TYPECAST_NOOP, float2, b); |
Definition at line 1125 of file eevee_shader_shared.hh.
Referenced by blender::eevee::do_not_use::light_area_data_get(), blender::eevee::do_not_use::light_local_data_get_ex(), blender::eevee::do_not_use::light_local_data_set(), blender::eevee::do_not_use::light_sun_data_get(), and blender::eevee::do_not_use::light_sun_data_set().
| #define SAFE_ASSIGN_FLOAT3 | ( | a, | |
| b ) SAFE_ASSIGN(a, TYPECAST_NOOP, float3, b); |
Definition at line 1126 of file eevee_shader_shared.hh.
Referenced by blender::eevee::do_not_use::light_area_data_get(), blender::eevee::do_not_use::light_local_data_get_ex(), blender::eevee::do_not_use::light_local_data_set(), blender::eevee::do_not_use::light_sun_data_get(), and blender::eevee::do_not_use::light_sun_data_set().
| #define SAFE_ASSIGN_FLOAT_AS_INT | ( | a, | |
| b ) SAFE_ASSIGN(a, FLOAT_AS_INT, float, b); |
Definition at line 1128 of file eevee_shader_shared.hh.
Referenced by blender::eevee::do_not_use::light_sun_data_get().
| #define SAFE_ASSIGN_INT | ( | a, | |
| b ) SAFE_ASSIGN(a, TYPECAST_NOOP, int, b); |
Definition at line 1127 of file eevee_shader_shared.hh.
Referenced by blender::eevee::do_not_use::light_area_data_get(), blender::eevee::do_not_use::light_local_data_get_ex(), and blender::eevee::do_not_use::light_local_data_set().
| #define SAFE_ASSIGN_INT_AS_FLOAT | ( | a, | |
| b ) SAFE_ASSIGN(a, INT_AS_FLOAT, int, b); |
Definition at line 1129 of file eevee_shader_shared.hh.
Referenced by blender::eevee::do_not_use::light_sun_data_set().
| #define SAFE_ASSIGN_LIGHT_TYPE_CHECK | ( | _type, | |
| _value ) _value |
Definition at line 1099 of file eevee_shader_shared.hh.
| #define SAFE_BEGIN | ( | dst_type, | |
| src_type, | |||
| src_, | |||
| check ) |
Definition at line 1094 of file eevee_shader_shared.hh.
| #define SAFE_READ_BEGIN | ( | dst_type, | |
| light, | |||
| check ) SAFE_BEGIN(dst_type, LightLocalData, light.DATA_MEMBER, check) |
Definition at line 1108 of file eevee_shader_shared.hh.
Referenced by blender::eevee::do_not_use::light_area_data_get(), blender::eevee::do_not_use::light_local_data_get_ex(), and blender::eevee::do_not_use::light_sun_data_get().
| #define SAFE_READ_END | ( | ) | _dst |
Definition at line 1110 of file eevee_shader_shared.hh.
Referenced by blender::eevee::do_not_use::light_area_data_get(), blender::eevee::do_not_use::light_local_data_get_ex(), and blender::eevee::do_not_use::light_sun_data_get().
| #define SAFE_UNION_ACCESS 0 |
| #define SAFE_WRITE_BEGIN | ( | src_type, | |
| src, | |||
| check ) SAFE_BEGIN(LightLocalData, src_type, src, check) |
Definition at line 1112 of file eevee_shader_shared.hh.
Referenced by blender::eevee::do_not_use::light_local_data_set(), and blender::eevee::do_not_use::light_sun_data_set().
| #define SAFE_WRITE_END | ( | light | ) | light.DATA_MEMBER = _dst; |
Definition at line 1113 of file eevee_shader_shared.hh.
Referenced by blender::eevee::do_not_use::light_local_data_set(), and blender::eevee::do_not_use::light_sun_data_set().
| #define SAMPLING_DIMENSION_COUNT 32 |
IMPORTANT: Make sure the array can contain all sampling dimensions. Also note that it needs to be multiple of 4.
Definition at line 271 of file eevee_shader_shared.hh.
Definition at line 1533 of file eevee_shader_shared.hh.
Definition at line 1455 of file eevee_shader_shared.hh.
| #define SSS_BURLEY_TRUNCATE 16.0 |
Definition at line 1994 of file eevee_shader_shared.hh.
| #define SSS_BURLEY_TRUNCATE_CDF 0.9963790093708328 |
Definition at line 1995 of file eevee_shader_shared.hh.
| #define SSS_SAMPLE_MAX 64 |
Definition at line 1993 of file eevee_shader_shared.hh.
| #define SSS_TRANSMIT_LUT_BIAS (0.5 / float(SSS_TRANSMIT_LUT_SIZE)) |
Definition at line 1999 of file eevee_shader_shared.hh.
| #define SSS_TRANSMIT_LUT_RADIUS 2.0 |
Definition at line 1997 of file eevee_shader_shared.hh.
| #define SSS_TRANSMIT_LUT_SCALE ((SSS_TRANSMIT_LUT_SIZE - 1.0) / float(SSS_TRANSMIT_LUT_SIZE)) |
Definition at line 1998 of file eevee_shader_shared.hh.
| #define SSS_TRANSMIT_LUT_SIZE 64.0 |
Definition at line 1996 of file eevee_shader_shared.hh.
| #define SSS_TRANSMIT_LUT_STEP_RES 64.0 |
Definition at line 2000 of file eevee_shader_shared.hh.
| #define TYPECAST_NOOP |
Definition at line 1058 of file eevee_shader_shared.hh.
| #define USE_LIGHT_UNION 1 |
| #define UTIL_BLUE_NOISE_LAYER 0 |
Definition at line 2132 of file eevee_shader_shared.hh.
Referenced by blender::eevee::UtilityTexture::UtilityTexture().
| #define UTIL_BSDF_LAYER 3 |
Definition at line 2135 of file eevee_shader_shared.hh.
Referenced by blender::eevee::UtilityTexture::UtilityTexture().
| #define UTIL_BTDF_LAYER 4 |
Definition at line 2136 of file eevee_shader_shared.hh.
Referenced by blender::eevee::UtilityTexture::UtilityTexture().
| #define UTIL_BTDF_LAYER_COUNT 16 |
Definition at line 2126 of file eevee_shader_shared.hh.
| #define UTIL_DISK_INTEGRAL_COMP 3 |
Definition at line 2138 of file eevee_shader_shared.hh.
Referenced by blender::eevee::UtilityTexture::UtilityTexture().
| #define UTIL_DISK_INTEGRAL_LAYER UTIL_SSS_TRANSMITTANCE_PROFILE_LAYER |
Definition at line 2137 of file eevee_shader_shared.hh.
Referenced by blender::eevee::UtilityTexture::UtilityTexture().
| #define UTIL_LTC_MAT_LAYER 2 |
Definition at line 2134 of file eevee_shader_shared.hh.
Referenced by blender::eevee::UtilityTexture::UtilityTexture().
| #define UTIL_SSS_TRANSMITTANCE_PROFILE_LAYER 1 |
Definition at line 2133 of file eevee_shader_shared.hh.
Referenced by blender::eevee::UtilityTexture::UtilityTexture().
| #define UTIL_TEX_SIZE 64 |
Definition at line 2125 of file eevee_shader_shared.hh.
| #define UTIL_TEX_UV_BIAS (0.5f / UTIL_TEX_SIZE) |
Definition at line 2130 of file eevee_shader_shared.hh.
| #define UTIL_TEX_UV_SCALE ((UTIL_TEX_SIZE - 1.0f) / UTIL_TEX_SIZE) |
Definition at line 2129 of file eevee_shader_shared.hh.
| #define VELOCITY_INVALID 512.0 |
Definition at line 539 of file eevee_shader_shared.hh.
Referenced by blender::eevee::ShadingView::render().