////////////////////////////////////////////////////////////////////////////////////////////////////
// Definitions
////////////////////////////////////////////////////////////////////////////////////////////////////

#define TRANSPARENCY_THRESHOLD 0.001 // 透明と判別する最小値

////////////////////////////////////////////////////////////////////////////////////////////////////
// Macros
////////////////////////////////////////////////////////////////////////////////////////////////////

#define ENABLE_PROJ_TEX ( ENABLE_REFRACT_CLIP || ENABLE_REFRACT_MAPPING || ENABLE_SOFTPARTICLE ) // Projection UV
#define ENABLE_FRESNEL ( ENABLE_DIFFUSE_FRESNEL || ENABLE_REFLECT_FRESNEL ) // フレネル効果の有無

#define ENABLE_N_DOT_L ( ENABLE_LIGHTING || ( ENABLE_SHADOW && ENABLE_SHADOW_RECEIVE ) ) // BumpNormal . LightDirection
#define ENABLE_N_DOT_E ( ENABLE_RIM_LIGHTING || ENABLE_COOK_TORRANCE ) // BumpNormal . EyeDirection
#define ENABLE_N_DOT_E_PLANE ( ENABLE_WATER || ENABLE_FRESNEL ) // FaceNormal . EyeDirection

#define ENABLE_SPECULAR ( ENABLE_PHONG || ENABLE_BLINN_PHONG || ENABLE_COOK_TORRANCE ) // スペキュラの有無
#define ENABLE_TRANSPARENCY_CLIP ( ENABLE_WATER == 0 ) // 透明なものをクリップするかどうか
