|
Blender V4.5
|
#include "eevee_defines.hh"#include "BLI_math_bits.h"#include "BLI_memory_utils.hh"#include "DRW_gpu_wrapper.hh"#include "draw_manager.hh"#include "draw_pass.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 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 528 of file eevee_shader_shared.hh.
| #define CULLING_MAX_ITEM 65536 |
Definition at line 810 of file eevee_shader_shared.hh.
Referenced by blender::eevee::LightModule::end_sync().
| #define CULLING_TILE_RES 16 |
Definition at line 814 of file eevee_shader_shared.hh.
| #define CULLING_ZBIN_COUNT 4096 |
Definition at line 812 of file eevee_shader_shared.hh.
Referenced by blender::eevee::LightModule::set_view().
| #define DATA_MEMBER local |
Definition at line 1137 of file eevee_shader_shared.hh.
| #define DOF_DILATE_RING_COUNT 3 |
Definition at line 712 of file eevee_shader_shared.hh.
Referenced by blender::eevee::DepthOfField::render().
| #define DOF_FAST_GATHER_COC_ERROR 0.05 |
Definition at line 710 of file eevee_shader_shared.hh.
| #define DOF_GATHER_RING_COUNT 5 |
Definition at line 711 of file eevee_shader_shared.hh.
Referenced by blender::eevee::DepthOfField::render().
| #define EEVEE_PI 3.14159265358979323846 /* pi */ |
Definition at line 47 of file eevee_shader_shared.hh.
Referenced by blender::eevee::circle_to_polygon_angle(), blender::eevee::circle_to_polygon_radius(), blender::eevee::light_local_tilemap_count(), and blender::eevee::regular_polygon_side_length().
| #define ERROR_OFS | ( | a, | |
| b ) |
Definition at line 1149 of file eevee_shader_shared.hh.
| #define FILM_PRECOMP_SAMPLE_MAX 16 |
Definition at line 392 of file eevee_shader_shared.hh.
| #define FLOAT_AS_INT float_as_int |
Definition at line 1090 of file eevee_shader_shared.hh.
| #define INT_AS_FLOAT int_as_float |
Definition at line 1091 of file eevee_shader_shared.hh.
| #define IrradianceBrickPacked uint |
Definition at line 1863 of file eevee_shader_shared.hh.
Referenced by blender::eevee::irradiance_brick_pack(), and blender::eevee::irradiance_brick_unpack().
| #define IS_CPP 1 |
Shared structures, enums & defines between C++ and GLSL. Can also include some math functions but they need to be simple enough to be valid in both language.
Definition at line 15 of file eevee_shader_shared.hh.
| #define light_area_data_get | ( | light | ) |
Definition at line 1277 of file eevee_shader_shared.hh.
| #define light_local_data_get | ( | light | ) |
Definition at line 1275 of file eevee_shader_shared.hh.
Referenced by blender::eevee::light_tilemap_max_get().
| #define LIGHT_NO_SHADOW -1 |
Definition at line 851 of file eevee_shader_shared.hh.
Referenced by blender::eevee::ShadowModule::end_sync().
| #define light_spot_data_get | ( | light | ) |
Definition at line 1276 of file eevee_shader_shared.hh.
Referenced by blender::eevee::light_local_tilemap_count().
| #define light_sun_data_get | ( | light | ) |
Definition at line 1278 of file eevee_shader_shared.hh.
Referenced by blender::eevee::light_tilemap_max_get().
| #define LOCAL_LIGHT_COMMON |
Definition at line 914 of file eevee_shader_shared.hh.
Referenced by blender::eevee::BLI_STATIC_ASSERT().
| #define MOTION_BLUR_MAX_TILE 512 /* 16384 / MOTION_BLUR_TILE_SIZE */ |
Definition at line 625 of file eevee_shader_shared.hh.
| #define MOTION_BLUR_TILE_SIZE 32 |
Definition at line 624 of file eevee_shader_shared.hh.
Referenced by blender::nodes::node_composite_vec_blur_cc::compute_max_tile_velocity_cpu(), blender::nodes::node_composite_vec_blur_cc::compute_motion_rect(), and blender::eevee::MotionBlurModule::render().
| #define SAFE_ASSIGN | ( | a, | |
| reinterpret_fn, | |||
| in_type, | |||
| b ) |
Definition at line 1152 of file eevee_shader_shared.hh.
| #define SAFE_ASSIGN_FLOAT | ( | a, | |
| b ) |
Definition at line 1158 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 ) |
Definition at line 1159 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 ) |
Definition at line 1160 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 ) |
Definition at line 1162 of file eevee_shader_shared.hh.
Referenced by blender::eevee::do_not_use::light_sun_data_get().
| #define SAFE_ASSIGN_INT | ( | a, | |
| b ) |
Definition at line 1161 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 ) |
Definition at line 1163 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 ) |
Definition at line 1133 of file eevee_shader_shared.hh.
| #define SAFE_BEGIN | ( | dst_type, | |
| src_type, | |||
| src_, | |||
| check ) |
Definition at line 1128 of file eevee_shader_shared.hh.
| #define SAFE_READ_BEGIN | ( | dst_type, | |
| light, | |||
| check ) |
Definition at line 1142 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 | ( | ) |
Definition at line 1144 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 ) |
Definition at line 1146 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 | ) |
Definition at line 1147 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 305 of file eevee_shader_shared.hh.
Referenced by blender::eevee::Sampling::step().
| #define ShadowSamplingTilePacked uint |
Definition at line 1565 of file eevee_shader_shared.hh.
Referenced by blender::eevee::shadow_sampling_tile_pack(), and blender::eevee::shadow_sampling_tile_unpack().
| #define ShadowTileDataPacked uint |
Definition at line 1487 of file eevee_shader_shared.hh.
Referenced by blender::eevee::shadow_tile_pack(), and blender::eevee::shadow_tile_unpack().
| #define SSS_BURLEY_TRUNCATE 16.0 |
Definition at line 2026 of file eevee_shader_shared.hh.
| #define SSS_BURLEY_TRUNCATE_CDF 0.9963790093708328 |
Definition at line 2027 of file eevee_shader_shared.hh.
| #define SSS_SAMPLE_MAX 64 |
Definition at line 2025 of file eevee_shader_shared.hh.
| #define SSS_TRANSMIT_LUT_BIAS (0.5 / float(SSS_TRANSMIT_LUT_SIZE)) |
Definition at line 2031 of file eevee_shader_shared.hh.
| #define SSS_TRANSMIT_LUT_RADIUS 2.0 |
Definition at line 2029 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 2030 of file eevee_shader_shared.hh.
| #define SSS_TRANSMIT_LUT_SIZE 64.0 |
Definition at line 2028 of file eevee_shader_shared.hh.
| #define SSS_TRANSMIT_LUT_STEP_RES 64.0 |
Definition at line 2032 of file eevee_shader_shared.hh.
| #define TYPECAST_NOOP |
Definition at line 1092 of file eevee_shader_shared.hh.
| #define USE_LIGHT_UNION 1 |
| #define UTIL_BLUE_NOISE_LAYER 0 |
Definition at line 2165 of file eevee_shader_shared.hh.
Referenced by blender::eevee::UtilityTexture::UtilityTexture().
| #define UTIL_BSDF_LAYER 3 |
Definition at line 2168 of file eevee_shader_shared.hh.
Referenced by blender::eevee::UtilityTexture::UtilityTexture().
| #define UTIL_BTDF_LAYER 4 |
Definition at line 2169 of file eevee_shader_shared.hh.
Referenced by blender::eevee::UtilityTexture::UtilityTexture().
| #define UTIL_BTDF_LAYER_COUNT 16 |
Definition at line 2159 of file eevee_shader_shared.hh.
| #define UTIL_DISK_INTEGRAL_COMP 3 |
Definition at line 2171 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 2170 of file eevee_shader_shared.hh.
Referenced by blender::eevee::UtilityTexture::UtilityTexture().
| #define UTIL_LTC_MAT_LAYER 2 |
Definition at line 2167 of file eevee_shader_shared.hh.
Referenced by blender::eevee::UtilityTexture::UtilityTexture().
| #define UTIL_SSS_TRANSMITTANCE_PROFILE_LAYER 1 |
Definition at line 2166 of file eevee_shader_shared.hh.
Referenced by blender::eevee::UtilityTexture::UtilityTexture().
| #define UTIL_TEX_SIZE 64 |
Definition at line 2158 of file eevee_shader_shared.hh.
| #define UTIL_TEX_UV_BIAS (0.5f / UTIL_TEX_SIZE) |
Definition at line 2163 of file eevee_shader_shared.hh.
| #define UTIL_TEX_UV_SCALE ((UTIL_TEX_SIZE - 1.0f) / UTIL_TEX_SIZE) |
Definition at line 2162 of file eevee_shader_shared.hh.
| #define VELOCITY_INVALID 512.0 |
Definition at line 573 of file eevee_shader_shared.hh.
Referenced by blender::eevee::ShadingView::render().