Blender V5.0
eevee_material.hh File Reference
#include "DNA_material_types.h"
#include "DRW_render.hh"
#include "BLI_map.hh"
#include "BLI_vector.hh"
#include "GPU_material.hh"
#include "draw_pass.hh"
#include "eevee_material_shared.hh"
#include "eevee_shader.hh"
#include "eevee_sync.hh"

Go to the source code of this file.

Classes

struct  blender::eevee::MaterialKey
struct  blender::eevee::ShaderKey
struct  blender::eevee::MaterialPass
struct  blender::eevee::Material
struct  blender::eevee::MaterialArray
class  blender::eevee::MaterialModule

Namespaces

namespace  blender
namespace  blender::eevee

MaterialKey

enum  blender::eevee::eMaterialDisplacement { blender::eevee::MAT_DISPLACEMENT_BUMP = 0 , blender::eevee::MAT_DISPLACEMENT_VERTEX_WITH_BUMP }
enum  blender::eevee::eMaterialThickness { blender::eevee::MAT_THICKNESS_SPHERE = 0 , blender::eevee::MAT_THICKNESS_SLAB }
enum  blender::eevee::eMaterialProbe { blender::eevee::MAT_PROBE_NONE = 0 , blender::eevee::MAT_PROBE_REFLECTION , blender::eevee::MAT_PROBE_PLANAR }
enum  blender::eevee::eClosureBits : uint32_t {
  blender::eevee::CLOSURE_NONE = 0u , blender::eevee::CLOSURE_DIFFUSE = (1u << 0u) , blender::eevee::CLOSURE_SSS = (1u << 1u) , blender::eevee::CLOSURE_REFLECTION = (1u << 2u) ,
  blender::eevee::CLOSURE_REFRACTION = (1u << 3u) , blender::eevee::CLOSURE_TRANSLUCENT = (1u << 4u) , blender::eevee::CLOSURE_TRANSPARENCY = (1u << 8u) , blender::eevee::CLOSURE_EMISSION = (1u << 9u) ,
  blender::eevee::CLOSURE_HOLDOUT = (1u << 10u) , blender::eevee::CLOSURE_VOLUME = (1u << 11u) , blender::eevee::CLOSURE_AMBIENT_OCCLUSION = (1u << 12u) , blender::eevee::CLOSURE_SHADER_TO_RGBA = (1u << 13u) ,
  blender::eevee::CLOSURE_CLEARCOAT = (1u << 14u) , blender::eevee::CLOSURE_TRANSMISSION = CLOSURE_SSS | CLOSURE_REFRACTION | CLOSURE_TRANSLUCENT
}
static bool blender::eevee::geometry_type_has_surface (eMaterialGeometry geometry_type)
static eMaterialDisplacement blender::eevee::to_displacement_type (int displacement_method)
static eMaterialThickness blender::eevee::to_thickness_type (int thickness_mode)
static 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)
static 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)
static eClosureBits blender::eevee::shader_closure_bits_from_flag (const GPUMaterial *gpumat)
static int blender::eevee::to_gbuffer_bin_count (const eClosureBits closure_bits)
static eMaterialGeometry blender::eevee::to_material_geometry (const Object *ob)