Blender V5.0
eevee_shader.hh File Reference
#include <array>
#include "BLI_map.hh"
#include "BLI_mutex.hh"
#include "DRW_render.hh"
#include "GPU_material.hh"
#include "GPU_shader.hh"
#include "eevee_material_shared.hh"

Go to the source code of this file.

Classes

class  blender::eevee::ShaderModule

Namespaces

namespace  blender
namespace  blender::eevee

Typedefs

using blender::eevee::StaticShader = gpu::StaticShader

Enumerations

enum  blender::eevee::eShaderType {
  blender::eevee::AMBIENT_OCCLUSION_PASS = 0 , blender::eevee::FILM_COPY , blender::eevee::FILM_COMP , blender::eevee::FILM_CRYPTOMATTE_POST ,
  blender::eevee::FILM_FRAG , blender::eevee::FILM_PASS_CONVERT_COMBINED , blender::eevee::FILM_PASS_CONVERT_DEPTH , blender::eevee::FILM_PASS_CONVERT_VALUE ,
  blender::eevee::FILM_PASS_CONVERT_COLOR , blender::eevee::FILM_PASS_CONVERT_CRYPTOMATTE , blender::eevee::DEFERRED_AOV_CLEAR , blender::eevee::DEFERRED_CAPTURE_EVAL ,
  blender::eevee::DEFERRED_COMBINE , blender::eevee::DEFERRED_LIGHT_SINGLE , blender::eevee::DEFERRED_LIGHT_DOUBLE , blender::eevee::DEFERRED_LIGHT_TRIPLE ,
  blender::eevee::DEFERRED_PLANAR_EVAL , blender::eevee::DEFERRED_THICKNESS_AMEND , blender::eevee::DEFERRED_TILE_CLASSIFY , blender::eevee::DEBUG_GBUFFER ,
  blender::eevee::DEBUG_SURFELS , blender::eevee::DEBUG_IRRADIANCE_GRID , blender::eevee::DISPLAY_PROBE_VOLUME , blender::eevee::DISPLAY_PROBE_SPHERE ,
  blender::eevee::DISPLAY_PROBE_PLANAR , blender::eevee::DOF_BOKEH_LUT , blender::eevee::DOF_DOWNSAMPLE , blender::eevee::DOF_FILTER ,
  blender::eevee::DOF_GATHER_BACKGROUND_LUT , blender::eevee::DOF_GATHER_BACKGROUND , blender::eevee::DOF_GATHER_FOREGROUND_LUT , blender::eevee::DOF_GATHER_FOREGROUND ,
  blender::eevee::DOF_GATHER_HOLE_FILL , blender::eevee::DOF_REDUCE , blender::eevee::DOF_RESOLVE_LUT , blender::eevee::DOF_RESOLVE ,
  blender::eevee::DOF_SCATTER , blender::eevee::DOF_SETUP , blender::eevee::DOF_STABILIZE , blender::eevee::DOF_TILES_DILATE_MINABS ,
  blender::eevee::DOF_TILES_DILATE_MINMAX , blender::eevee::DOF_TILES_FLATTEN , blender::eevee::HIZ_UPDATE , blender::eevee::HIZ_UPDATE_LAYER ,
  blender::eevee::HIZ_DEBUG , blender::eevee::HORIZON_DENOISE , blender::eevee::HORIZON_RESOLVE , blender::eevee::HORIZON_SCAN ,
  blender::eevee::HORIZON_SETUP , blender::eevee::LIGHT_CULLING_DEBUG , blender::eevee::LIGHT_CULLING_SELECT , blender::eevee::LIGHT_CULLING_SORT ,
  blender::eevee::LIGHT_CULLING_TILE , blender::eevee::LIGHT_CULLING_ZBIN , blender::eevee::LIGHT_SHADOW_SETUP , blender::eevee::LIGHTPROBE_IRRADIANCE_BOUNDS ,
  blender::eevee::LIGHTPROBE_IRRADIANCE_OFFSET , blender::eevee::LIGHTPROBE_IRRADIANCE_RAY , blender::eevee::LIGHTPROBE_IRRADIANCE_LOAD , blender::eevee::LIGHTPROBE_IRRADIANCE_WORLD ,
  blender::eevee::LOOKDEV_DISPLAY , blender::eevee::MOTION_BLUR_GATHER , blender::eevee::MOTION_BLUR_TILE_DILATE , blender::eevee::MOTION_BLUR_TILE_FLATTEN_RGBA ,
  blender::eevee::MOTION_BLUR_TILE_FLATTEN_RG , blender::eevee::RAY_DENOISE_BILATERAL , blender::eevee::RAY_DENOISE_SPATIAL , blender::eevee::RAY_DENOISE_TEMPORAL ,
  blender::eevee::RAY_GENERATE , blender::eevee::RAY_TILE_CLASSIFY , blender::eevee::RAY_TILE_COMPACT , blender::eevee::RAY_TRACE_FALLBACK ,
  blender::eevee::RAY_TRACE_PLANAR , blender::eevee::RAY_TRACE_SCREEN , blender::eevee::RENDERPASS_CLEAR , blender::eevee::SPHERE_PROBE_CONVOLVE ,
  blender::eevee::SPHERE_PROBE_IRRADIANCE , blender::eevee::SPHERE_PROBE_REMAP , blender::eevee::SPHERE_PROBE_SELECT , blender::eevee::SPHERE_PROBE_SUNLIGHT ,
  blender::eevee::SHADOW_CLIPMAP_CLEAR , blender::eevee::SHADOW_DEBUG , blender::eevee::SHADOW_PAGE_ALLOCATE , blender::eevee::SHADOW_PAGE_CLEAR ,
  blender::eevee::SHADOW_PAGE_DEFRAG , blender::eevee::SHADOW_PAGE_FREE , blender::eevee::SHADOW_PAGE_MASK , blender::eevee::SHADOW_PAGE_TILE_CLEAR ,
  blender::eevee::SHADOW_PAGE_TILE_STORE , blender::eevee::SHADOW_TILEMAP_AMEND , blender::eevee::SHADOW_TILEMAP_BOUNDS , blender::eevee::SHADOW_TILEMAP_FINALIZE ,
  blender::eevee::SHADOW_TILEMAP_RENDERMAP , blender::eevee::SHADOW_TILEMAP_INIT , blender::eevee::SHADOW_TILEMAP_TAG_UPDATE , blender::eevee::SHADOW_TILEMAP_TAG_USAGE_OPAQUE ,
  blender::eevee::SHADOW_TILEMAP_TAG_USAGE_SURFELS , blender::eevee::SHADOW_TILEMAP_TAG_USAGE_TRANSPARENT , blender::eevee::SHADOW_TILEMAP_TAG_USAGE_VOLUME , blender::eevee::SHADOW_VIEW_VISIBILITY ,
  blender::eevee::SUBSURFACE_CONVOLVE , blender::eevee::SUBSURFACE_SETUP , blender::eevee::SURFEL_CLUSTER_BUILD , blender::eevee::SURFEL_LIGHT ,
  blender::eevee::SURFEL_LIST_BUILD , blender::eevee::SURFEL_LIST_FLATTEN , blender::eevee::SURFEL_LIST_PREFIX , blender::eevee::SURFEL_LIST_PREPARE ,
  blender::eevee::SURFEL_LIST_SORT , blender::eevee::SURFEL_RAY , blender::eevee::VERTEX_COPY , blender::eevee::VOLUME_INTEGRATION ,
  blender::eevee::VOLUME_OCCUPANCY_CONVERT , blender::eevee::VOLUME_RESOLVE , blender::eevee::VOLUME_SCATTER , blender::eevee::VOLUME_SCATTER_WITH_LIGHTS ,
  blender::eevee::MAX_SHADER_TYPE
}
enum  blender::eevee::ShaderGroups : uint32_t {
  blender::eevee::NONE = 0 , blender::eevee::DEFERRED_LIGHTING_SHADERS = 1 << 0 , blender::eevee::DEFERRED_CAPTURE_SHADERS = 1 << 1 , blender::eevee::DEFERRED_PLANAR_SHADERS = 1 << 2 ,
  blender::eevee::DEPTH_OF_FIELD_SHADERS = 1 << 3 , blender::eevee::HIZ_SHADERS = 1 << 4 , blender::eevee::HORIZON_SCAN_SHADERS = 1 << 5 , blender::eevee::LIGHT_CULLING_SHADERS = 1 << 6 ,
  blender::eevee::IRRADIANCE_BAKE_SHADERS = 1 << 7 , blender::eevee::SPHERE_PROBE_SHADERS = 1 << 8 , blender::eevee::SHADOW_SHADERS = 1 << 9 , blender::eevee::AMBIENT_OCCLUSION_SHADERS = 1 << 10 ,
  blender::eevee::MOTION_BLUR_SHADERS = 1 << 11 , blender::eevee::RAYTRACING_SHADERS = 1 << 12 , blender::eevee::FILM_SHADERS = 1 << 13 , blender::eevee::SUBSURFACE_SHADERS = 1 << 14 ,
  blender::eevee::SURFEL_SHADERS = 1 << 15 , blender::eevee::VERTEX_COPY_SHADERS = 1 << 16 , blender::eevee::VOLUME_EVAL_SHADERS = 1 << 17 , blender::eevee::DEFAULT_MATERIALS = 1 << 18 ,
  blender::eevee::WORLD_SHADERS = 1 << 19 , blender::eevee::MATERIAL_SHADERS = 1 << 20 , blender::eevee::VOLUME_PROBE_SHADERS = 1 << 21
}

Detailed Description

Shader module that manage shader libraries, deferred compilation, and static shader usage.

Definition in file eevee_shader.hh.