Blender  V3.3
Macros | Typedefs | Enumerations
kernel/svm/types.h File Reference
#include "node_types_template.h"

Go to the source code of this file.

Macros

#define SVM_STACK_SIZE   255
 
#define SVM_STACK_INVALID   255
 
#define SVM_BUMP_EVAL_STATE_SIZE   9
 
#define SHADER_NODE_TYPE(name)   name,
 
#define CLOSURE_IS_BSDF(type)   (type <= CLOSURE_BSDF_TRANSPARENT_ID)
 
#define CLOSURE_IS_BSDF_DIFFUSE(type)    (type >= CLOSURE_BSDF_DIFFUSE_ID && type <= CLOSURE_BSDF_TRANSLUCENT_ID)
 
#define CLOSURE_IS_BSDF_GLOSSY(type)
 
#define CLOSURE_IS_BSDF_TRANSMISSION(type)    (type >= CLOSURE_BSDF_REFRACTION_ID && type <= CLOSURE_BSDF_HAIR_TRANSMISSION_ID)
 
#define CLOSURE_IS_BSDF_SINGULAR(type)
 
#define CLOSURE_IS_BSDF_TRANSPARENT(type)   (type == CLOSURE_BSDF_TRANSPARENT_ID)
 
#define CLOSURE_IS_BSDF_MULTISCATTER(type)
 
#define CLOSURE_IS_BSDF_MICROFACET(type)
 
#define CLOSURE_IS_BSDF_MICROFACET_FRESNEL(type)
 
#define CLOSURE_IS_BSDF_OR_BSSRDF(type)   (type <= CLOSURE_BSSRDF_RANDOM_WALK_FIXED_RADIUS_ID)
 
#define CLOSURE_IS_BSSRDF(type)    (type >= CLOSURE_BSSRDF_BURLEY_ID && type <= CLOSURE_BSSRDF_RANDOM_WALK_FIXED_RADIUS_ID)
 
#define CLOSURE_IS_VOLUME(type)    (type >= CLOSURE_VOLUME_ID && type <= CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID)
 
#define CLOSURE_IS_VOLUME_SCATTER(type)   (type == CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID)
 
#define CLOSURE_IS_VOLUME_ABSORPTION(type)   (type == CLOSURE_VOLUME_ABSORPTION_ID)
 
#define CLOSURE_IS_HOLDOUT(type)   (type == CLOSURE_HOLDOUT_ID)
 
#define CLOSURE_IS_PHASE(type)   (type == CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID)
 
#define CLOSURE_IS_GLASS(type)    (type >= CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_ID && type <= CLOSURE_BSDF_SHARP_GLASS_ID)
 
#define CLOSURE_IS_PRINCIPLED(type)   (type == CLOSURE_BSDF_PRINCIPLED_ID)
 
#define CLOSURE_WEIGHT_CUTOFF   1e-5f
 

Typedefs

typedef enum ShaderNodeType ShaderNodeType
 
typedef enum NodeAttributeOutputType NodeAttributeOutputType
 
typedef enum NodeAttributeType NodeAttributeType
 
typedef enum NodeGeometry NodeGeometry
 
typedef enum NodeObjectInfo NodeObjectInfo
 
typedef enum NodeParticleInfo NodeParticleInfo
 
typedef enum NodeHairInfo NodeHairInfo
 
typedef enum NodePointInfo NodePointInfo
 
typedef enum NodeLightPath NodeLightPath
 
typedef enum NodeLightFalloff NodeLightFalloff
 
typedef enum NodeTexCoord NodeTexCoord
 
typedef enum NodeMix NodeMix
 
typedef enum NodeMathType NodeMathType
 
typedef enum NodeVectorMathType NodeVectorMathType
 
typedef enum NodeClampType NodeClampType
 
typedef enum NodeMapRangeType NodeMapRangeType
 
typedef enum NodeMappingType NodeMappingType
 
typedef enum NodeVectorRotateType NodeVectorRotateType
 
typedef enum NodeVectorTransformType NodeVectorTransformType
 
typedef enum NodeVectorTransformConvertSpace NodeVectorTransformConvertSpace
 
typedef enum NodeConvert NodeConvert
 
typedef enum NodeMusgraveType NodeMusgraveType
 
typedef enum NodeWaveType NodeWaveType
 
typedef enum NodeWaveBandsDirection NodeWaveBandsDirection
 
typedef enum NodeWaveRingsDirection NodeWaveRingsDirection
 
typedef enum NodeWaveProfile NodeWaveProfile
 
typedef enum NodeSkyType NodeSkyType
 
typedef enum NodeGradientType NodeGradientType
 
typedef enum NodeVoronoiDistanceMetric NodeVoronoiDistanceMetric
 
typedef enum NodeVoronoiFeature NodeVoronoiFeature
 
typedef enum NodeBlendWeightType NodeBlendWeightType
 
typedef enum NodeTangentDirectionType NodeTangentDirectionType
 
typedef enum NodeTangentAxis NodeTangentAxis
 
typedef enum NodeNormalMapSpace NodeNormalMapSpace
 
typedef enum NodeImageProjection NodeImageProjection
 
typedef enum NodeImageFlags NodeImageFlags
 
typedef enum NodeEnvironmentProjection NodeEnvironmentProjection
 
typedef enum NodeBumpOffset NodeBumpOffset
 
typedef enum NodeTexVoxelSpace NodeTexVoxelSpace
 
typedef enum NodeAO NodeAO
 
typedef enum ShaderType ShaderType
 
typedef enum NodePrincipledHairParametrization NodePrincipledHairParametrization
 
typedef enum NodeCombSepColorType NodeCombSepColorType
 
typedef enum ClosureType ClosureType
 

Enumerations

enum  ShaderNodeType { NODE_NUM }
 
enum  NodeAttributeOutputType { NODE_ATTR_OUTPUT_FLOAT3 = 0 , NODE_ATTR_OUTPUT_FLOAT , NODE_ATTR_OUTPUT_FLOAT_ALPHA }
 
enum  NodeAttributeType {
  NODE_ATTR_FLOAT = 0 , NODE_ATTR_FLOAT2 , NODE_ATTR_FLOAT3 , NODE_ATTR_FLOAT4 ,
  NODE_ATTR_RGBA , NODE_ATTR_MATRIX
}
 
enum  NodeGeometry {
  NODE_GEOM_P = 0 , NODE_GEOM_N , NODE_GEOM_T , NODE_GEOM_I ,
  NODE_GEOM_Ng , NODE_GEOM_uv
}
 
enum  NodeObjectInfo {
  NODE_INFO_OB_LOCATION , NODE_INFO_OB_COLOR , NODE_INFO_OB_ALPHA , NODE_INFO_OB_INDEX ,
  NODE_INFO_MAT_INDEX , NODE_INFO_OB_RANDOM
}
 
enum  NodeParticleInfo {
  NODE_INFO_PAR_INDEX , NODE_INFO_PAR_RANDOM , NODE_INFO_PAR_AGE , NODE_INFO_PAR_LIFETIME ,
  NODE_INFO_PAR_LOCATION , NODE_INFO_PAR_ROTATION , NODE_INFO_PAR_SIZE , NODE_INFO_PAR_VELOCITY ,
  NODE_INFO_PAR_ANGULAR_VELOCITY
}
 
enum  NodeHairInfo {
  NODE_INFO_CURVE_IS_STRAND , NODE_INFO_CURVE_INTERCEPT , NODE_INFO_CURVE_LENGTH , NODE_INFO_CURVE_THICKNESS ,
  NODE_INFO_CURVE_TANGENT_NORMAL , NODE_INFO_CURVE_RANDOM
}
 
enum  NodePointInfo { NODE_INFO_POINT_POSITION , NODE_INFO_POINT_RADIUS , NODE_INFO_POINT_RANDOM }
 
enum  NodeLightPath {
  NODE_LP_camera = 0 , NODE_LP_shadow , NODE_LP_diffuse , NODE_LP_glossy ,
  NODE_LP_singular , NODE_LP_reflection , NODE_LP_transmission , NODE_LP_volume_scatter ,
  NODE_LP_backfacing , NODE_LP_ray_length , NODE_LP_ray_depth , NODE_LP_ray_diffuse ,
  NODE_LP_ray_glossy , NODE_LP_ray_transparent , NODE_LP_ray_transmission
}
 
enum  NodeLightFalloff { NODE_LIGHT_FALLOFF_QUADRATIC , NODE_LIGHT_FALLOFF_LINEAR , NODE_LIGHT_FALLOFF_CONSTANT }
 
enum  NodeTexCoord {
  NODE_TEXCO_NORMAL , NODE_TEXCO_OBJECT , NODE_TEXCO_CAMERA , NODE_TEXCO_WINDOW ,
  NODE_TEXCO_REFLECTION , NODE_TEXCO_DUPLI_GENERATED , NODE_TEXCO_DUPLI_UV , NODE_TEXCO_VOLUME_GENERATED
}
 
enum  NodeMix {
  NODE_MIX_BLEND = 0 , NODE_MIX_ADD , NODE_MIX_MUL , NODE_MIX_SUB ,
  NODE_MIX_SCREEN , NODE_MIX_DIV , NODE_MIX_DIFF , NODE_MIX_DARK ,
  NODE_MIX_LIGHT , NODE_MIX_OVERLAY , NODE_MIX_DODGE , NODE_MIX_BURN ,
  NODE_MIX_HUE , NODE_MIX_SAT , NODE_MIX_VAL , NODE_MIX_COLOR ,
  NODE_MIX_SOFT , NODE_MIX_LINEAR , NODE_MIX_CLAMP
}
 
enum  NodeMathType {
  NODE_MATH_ADD , NODE_MATH_SUBTRACT , NODE_MATH_MULTIPLY , NODE_MATH_DIVIDE ,
  NODE_MATH_SINE , NODE_MATH_COSINE , NODE_MATH_TANGENT , NODE_MATH_ARCSINE ,
  NODE_MATH_ARCCOSINE , NODE_MATH_ARCTANGENT , NODE_MATH_POWER , NODE_MATH_LOGARITHM ,
  NODE_MATH_MINIMUM , NODE_MATH_MAXIMUM , NODE_MATH_ROUND , NODE_MATH_LESS_THAN ,
  NODE_MATH_GREATER_THAN , NODE_MATH_MODULO , NODE_MATH_ABSOLUTE , NODE_MATH_ARCTAN2 ,
  NODE_MATH_FLOOR , NODE_MATH_CEIL , NODE_MATH_FRACTION , NODE_MATH_SQRT ,
  NODE_MATH_INV_SQRT , NODE_MATH_SIGN , NODE_MATH_EXPONENT , NODE_MATH_RADIANS ,
  NODE_MATH_DEGREES , NODE_MATH_SINH , NODE_MATH_COSH , NODE_MATH_TANH ,
  NODE_MATH_TRUNC , NODE_MATH_SNAP , NODE_MATH_WRAP , NODE_MATH_COMPARE ,
  NODE_MATH_MULTIPLY_ADD , NODE_MATH_PINGPONG , NODE_MATH_SMOOTH_MIN , NODE_MATH_SMOOTH_MAX
}
 
enum  NodeVectorMathType {
  NODE_VECTOR_MATH_ADD , NODE_VECTOR_MATH_SUBTRACT , NODE_VECTOR_MATH_MULTIPLY , NODE_VECTOR_MATH_DIVIDE ,
  NODE_VECTOR_MATH_CROSS_PRODUCT , NODE_VECTOR_MATH_PROJECT , NODE_VECTOR_MATH_REFLECT , NODE_VECTOR_MATH_DOT_PRODUCT ,
  NODE_VECTOR_MATH_DISTANCE , NODE_VECTOR_MATH_LENGTH , NODE_VECTOR_MATH_SCALE , NODE_VECTOR_MATH_NORMALIZE ,
  NODE_VECTOR_MATH_SNAP , NODE_VECTOR_MATH_FLOOR , NODE_VECTOR_MATH_CEIL , NODE_VECTOR_MATH_MODULO ,
  NODE_VECTOR_MATH_FRACTION , NODE_VECTOR_MATH_ABSOLUTE , NODE_VECTOR_MATH_MINIMUM , NODE_VECTOR_MATH_MAXIMUM ,
  NODE_VECTOR_MATH_WRAP , NODE_VECTOR_MATH_SINE , NODE_VECTOR_MATH_COSINE , NODE_VECTOR_MATH_TANGENT ,
  NODE_VECTOR_MATH_REFRACT , NODE_VECTOR_MATH_FACEFORWARD , NODE_VECTOR_MATH_MULTIPLY_ADD
}
 
enum  NodeClampType { NODE_CLAMP_MINMAX , NODE_CLAMP_RANGE }
 
enum  NodeMapRangeType { NODE_MAP_RANGE_LINEAR , NODE_MAP_RANGE_STEPPED , NODE_MAP_RANGE_SMOOTHSTEP , NODE_MAP_RANGE_SMOOTHERSTEP }
 
enum  NodeMappingType { NODE_MAPPING_TYPE_POINT , NODE_MAPPING_TYPE_TEXTURE , NODE_MAPPING_TYPE_VECTOR , NODE_MAPPING_TYPE_NORMAL }
 
enum  NodeVectorRotateType {
  NODE_VECTOR_ROTATE_TYPE_AXIS , NODE_VECTOR_ROTATE_TYPE_AXIS_X , NODE_VECTOR_ROTATE_TYPE_AXIS_Y , NODE_VECTOR_ROTATE_TYPE_AXIS_Z ,
  NODE_VECTOR_ROTATE_TYPE_EULER_XYZ
}
 
enum  NodeVectorTransformType { NODE_VECTOR_TRANSFORM_TYPE_VECTOR , NODE_VECTOR_TRANSFORM_TYPE_POINT , NODE_VECTOR_TRANSFORM_TYPE_NORMAL }
 
enum  NodeVectorTransformConvertSpace { NODE_VECTOR_TRANSFORM_CONVERT_SPACE_WORLD , NODE_VECTOR_TRANSFORM_CONVERT_SPACE_OBJECT , NODE_VECTOR_TRANSFORM_CONVERT_SPACE_CAMERA }
 
enum  NodeConvert {
  NODE_CONVERT_FV , NODE_CONVERT_FI , NODE_CONVERT_CF , NODE_CONVERT_CI ,
  NODE_CONVERT_VF , NODE_CONVERT_VI , NODE_CONVERT_IF , NODE_CONVERT_IV
}
 
enum  NodeMusgraveType {
  NODE_MUSGRAVE_MULTIFRACTAL , NODE_MUSGRAVE_FBM , NODE_MUSGRAVE_HYBRID_MULTIFRACTAL , NODE_MUSGRAVE_RIDGED_MULTIFRACTAL ,
  NODE_MUSGRAVE_HETERO_TERRAIN
}
 
enum  NodeWaveType { NODE_WAVE_BANDS , NODE_WAVE_RINGS }
 
enum  NodeWaveBandsDirection { NODE_WAVE_BANDS_DIRECTION_X , NODE_WAVE_BANDS_DIRECTION_Y , NODE_WAVE_BANDS_DIRECTION_Z , NODE_WAVE_BANDS_DIRECTION_DIAGONAL }
 
enum  NodeWaveRingsDirection { NODE_WAVE_RINGS_DIRECTION_X , NODE_WAVE_RINGS_DIRECTION_Y , NODE_WAVE_RINGS_DIRECTION_Z , NODE_WAVE_RINGS_DIRECTION_SPHERICAL }
 
enum  NodeWaveProfile { NODE_WAVE_PROFILE_SIN , NODE_WAVE_PROFILE_SAW , NODE_WAVE_PROFILE_TRI }
 
enum  NodeSkyType { NODE_SKY_PREETHAM , NODE_SKY_HOSEK , NODE_SKY_NISHITA }
 
enum  NodeGradientType {
  NODE_BLEND_LINEAR , NODE_BLEND_QUADRATIC , NODE_BLEND_EASING , NODE_BLEND_DIAGONAL ,
  NODE_BLEND_RADIAL , NODE_BLEND_QUADRATIC_SPHERE , NODE_BLEND_SPHERICAL
}
 
enum  NodeVoronoiDistanceMetric { NODE_VORONOI_EUCLIDEAN , NODE_VORONOI_MANHATTAN , NODE_VORONOI_CHEBYCHEV , NODE_VORONOI_MINKOWSKI }
 
enum  NodeVoronoiFeature {
  NODE_VORONOI_F1 , NODE_VORONOI_F2 , NODE_VORONOI_SMOOTH_F1 , NODE_VORONOI_DISTANCE_TO_EDGE ,
  NODE_VORONOI_N_SPHERE_RADIUS
}
 
enum  NodeBlendWeightType { NODE_LAYER_WEIGHT_FRESNEL , NODE_LAYER_WEIGHT_FACING }
 
enum  NodeTangentDirectionType { NODE_TANGENT_RADIAL , NODE_TANGENT_UVMAP }
 
enum  NodeTangentAxis { NODE_TANGENT_AXIS_X , NODE_TANGENT_AXIS_Y , NODE_TANGENT_AXIS_Z }
 
enum  NodeNormalMapSpace {
  NODE_NORMAL_MAP_TANGENT , NODE_NORMAL_MAP_OBJECT , NODE_NORMAL_MAP_WORLD , NODE_NORMAL_MAP_BLENDER_OBJECT ,
  NODE_NORMAL_MAP_BLENDER_WORLD
}
 
enum  NodeImageProjection { NODE_IMAGE_PROJ_FLAT = 0 , NODE_IMAGE_PROJ_BOX = 1 , NODE_IMAGE_PROJ_SPHERE = 2 , NODE_IMAGE_PROJ_TUBE = 3 }
 
enum  NodeImageFlags { NODE_IMAGE_COMPRESS_AS_SRGB = 1 , NODE_IMAGE_ALPHA_UNASSOCIATE = 2 }
 
enum  NodeEnvironmentProjection { NODE_ENVIRONMENT_EQUIRECTANGULAR = 0 , NODE_ENVIRONMENT_MIRROR_BALL = 1 }
 
enum  NodeBumpOffset { NODE_BUMP_OFFSET_CENTER , NODE_BUMP_OFFSET_DX , NODE_BUMP_OFFSET_DY }
 
enum  NodeTexVoxelSpace { NODE_TEX_VOXEL_SPACE_OBJECT = 0 , NODE_TEX_VOXEL_SPACE_WORLD = 1 }
 
enum  NodeAO { NODE_AO_ONLY_LOCAL = (1 << 0) , NODE_AO_INSIDE = (1 << 1) , NODE_AO_GLOBAL_RADIUS = (1 << 2) }
 
enum  ShaderType { SHADER_TYPE_SURFACE , SHADER_TYPE_VOLUME , SHADER_TYPE_DISPLACEMENT , SHADER_TYPE_BUMP }
 
enum  NodePrincipledHairParametrization { NODE_PRINCIPLED_HAIR_REFLECTANCE = 0 , NODE_PRINCIPLED_HAIR_PIGMENT_CONCENTRATION = 1 , NODE_PRINCIPLED_HAIR_DIRECT_ABSORPTION = 2 , NODE_PRINCIPLED_HAIR_NUM }
 
enum  NodeCombSepColorType { NODE_COMBSEP_COLOR_RGB , NODE_COMBSEP_COLOR_HSV , NODE_COMBSEP_COLOR_HSL }
 
enum  ClosureType {
  CLOSURE_NONE_ID , CLOSURE_BSDF_ID , CLOSURE_BSDF_DIFFUSE_ID , CLOSURE_BSDF_OREN_NAYAR_ID ,
  CLOSURE_BSDF_DIFFUSE_RAMP_ID , CLOSURE_BSDF_PRINCIPLED_DIFFUSE_ID , CLOSURE_BSDF_PRINCIPLED_SHEEN_ID , CLOSURE_BSDF_DIFFUSE_TOON_ID ,
  CLOSURE_BSDF_TRANSLUCENT_ID , CLOSURE_BSDF_REFLECTION_ID , CLOSURE_BSDF_MICROFACET_GGX_ID , CLOSURE_BSDF_MICROFACET_GGX_FRESNEL_ID ,
  CLOSURE_BSDF_MICROFACET_GGX_CLEARCOAT_ID , CLOSURE_BSDF_MICROFACET_BECKMANN_ID , CLOSURE_BSDF_MICROFACET_MULTI_GGX_ID , CLOSURE_BSDF_MICROFACET_MULTI_GGX_FRESNEL_ID ,
  CLOSURE_BSDF_ASHIKHMIN_SHIRLEY_ID , CLOSURE_BSDF_ASHIKHMIN_VELVET_ID , CLOSURE_BSDF_PHONG_RAMP_ID , CLOSURE_BSDF_GLOSSY_TOON_ID ,
  CLOSURE_BSDF_HAIR_REFLECTION_ID , CLOSURE_BSDF_REFRACTION_ID , CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID , CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID ,
  CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_ID , CLOSURE_BSDF_MICROFACET_BECKMANN_GLASS_ID , CLOSURE_BSDF_MICROFACET_GGX_GLASS_ID , CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_FRESNEL_ID ,
  CLOSURE_BSDF_SHARP_GLASS_ID , CLOSURE_BSDF_HAIR_PRINCIPLED_ID , CLOSURE_BSDF_HAIR_TRANSMISSION_ID , CLOSURE_BSDF_TRANSPARENT_ID ,
  CLOSURE_BSSRDF_BURLEY_ID , CLOSURE_BSSRDF_RANDOM_WALK_ID , CLOSURE_BSSRDF_RANDOM_WALK_FIXED_RADIUS_ID , CLOSURE_HOLDOUT_ID ,
  CLOSURE_VOLUME_ID , CLOSURE_VOLUME_ABSORPTION_ID , CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID , CLOSURE_BSDF_PRINCIPLED_ID ,
  NBUILTIN_CLOSURES
}
 

Macro Definition Documentation

◆ CLOSURE_IS_BSDF

#define CLOSURE_IS_BSDF (   type)    (type <= CLOSURE_BSDF_TRANSPARENT_ID)

Definition at line 468 of file kernel/svm/types.h.

◆ CLOSURE_IS_BSDF_DIFFUSE

#define CLOSURE_IS_BSDF_DIFFUSE (   type)     (type >= CLOSURE_BSDF_DIFFUSE_ID && type <= CLOSURE_BSDF_TRANSLUCENT_ID)

Definition at line 469 of file kernel/svm/types.h.

◆ CLOSURE_IS_BSDF_GLOSSY

#define CLOSURE_IS_BSDF_GLOSSY (   type)
Value:
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
@ CLOSURE_BSDF_HAIR_PRINCIPLED_ID
@ CLOSURE_BSDF_HAIR_REFLECTION_ID
@ CLOSURE_BSDF_REFLECTION_ID

Definition at line 471 of file kernel/svm/types.h.

◆ CLOSURE_IS_BSDF_MICROFACET

#define CLOSURE_IS_BSDF_MICROFACET (   type)

◆ CLOSURE_IS_BSDF_MICROFACET_FRESNEL

#define CLOSURE_IS_BSDF_MICROFACET_FRESNEL (   type)

◆ CLOSURE_IS_BSDF_MULTISCATTER

#define CLOSURE_IS_BSDF_MULTISCATTER (   type)
Value:

Definition at line 480 of file kernel/svm/types.h.

◆ CLOSURE_IS_BSDF_OR_BSSRDF

#define CLOSURE_IS_BSDF_OR_BSSRDF (   type)    (type <= CLOSURE_BSSRDF_RANDOM_WALK_FIXED_RADIUS_ID)

Definition at line 493 of file kernel/svm/types.h.

◆ CLOSURE_IS_BSDF_SINGULAR

#define CLOSURE_IS_BSDF_SINGULAR (   type)
Value:

Definition at line 476 of file kernel/svm/types.h.

◆ CLOSURE_IS_BSDF_TRANSMISSION

#define CLOSURE_IS_BSDF_TRANSMISSION (   type)     (type >= CLOSURE_BSDF_REFRACTION_ID && type <= CLOSURE_BSDF_HAIR_TRANSMISSION_ID)

Definition at line 474 of file kernel/svm/types.h.

◆ CLOSURE_IS_BSDF_TRANSPARENT

#define CLOSURE_IS_BSDF_TRANSPARENT (   type)    (type == CLOSURE_BSDF_TRANSPARENT_ID)

Definition at line 479 of file kernel/svm/types.h.

◆ CLOSURE_IS_BSSRDF

Definition at line 494 of file kernel/svm/types.h.

◆ CLOSURE_IS_GLASS

Definition at line 502 of file kernel/svm/types.h.

◆ CLOSURE_IS_HOLDOUT

#define CLOSURE_IS_HOLDOUT (   type)    (type == CLOSURE_HOLDOUT_ID)

Definition at line 500 of file kernel/svm/types.h.

◆ CLOSURE_IS_PHASE

#define CLOSURE_IS_PHASE (   type)    (type == CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID)

Definition at line 501 of file kernel/svm/types.h.

◆ CLOSURE_IS_PRINCIPLED

#define CLOSURE_IS_PRINCIPLED (   type)    (type == CLOSURE_BSDF_PRINCIPLED_ID)

Definition at line 504 of file kernel/svm/types.h.

◆ CLOSURE_IS_VOLUME

#define CLOSURE_IS_VOLUME (   type)     (type >= CLOSURE_VOLUME_ID && type <= CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID)

Definition at line 496 of file kernel/svm/types.h.

◆ CLOSURE_IS_VOLUME_ABSORPTION

#define CLOSURE_IS_VOLUME_ABSORPTION (   type)    (type == CLOSURE_VOLUME_ABSORPTION_ID)

Definition at line 499 of file kernel/svm/types.h.

◆ CLOSURE_IS_VOLUME_SCATTER

#define CLOSURE_IS_VOLUME_SCATTER (   type)    (type == CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID)

Definition at line 498 of file kernel/svm/types.h.

◆ CLOSURE_WEIGHT_CUTOFF

#define CLOSURE_WEIGHT_CUTOFF   1e-5f

Definition at line 506 of file kernel/svm/types.h.

◆ SHADER_NODE_TYPE

#define SHADER_NODE_TYPE (   name)    name,

Definition at line 20 of file kernel/svm/types.h.

◆ SVM_BUMP_EVAL_STATE_SIZE

#define SVM_BUMP_EVAL_STATE_SIZE   9

Definition at line 15 of file kernel/svm/types.h.

◆ SVM_STACK_INVALID

#define SVM_STACK_INVALID   255

Definition at line 13 of file kernel/svm/types.h.

◆ SVM_STACK_SIZE

#define SVM_STACK_SIZE   255

Definition at line 11 of file kernel/svm/types.h.

Typedef Documentation

◆ ClosureType

typedef enum ClosureType ClosureType

◆ NodeAO

typedef enum NodeAO NodeAO

◆ NodeAttributeOutputType

◆ NodeAttributeType

◆ NodeBlendWeightType

◆ NodeBumpOffset

◆ NodeClampType

◆ NodeCombSepColorType

◆ NodeConvert

typedef enum NodeConvert NodeConvert

◆ NodeEnvironmentProjection

◆ NodeGeometry

typedef enum NodeGeometry NodeGeometry

◆ NodeGradientType

◆ NodeHairInfo

typedef enum NodeHairInfo NodeHairInfo

◆ NodeImageFlags

◆ NodeImageProjection

◆ NodeLightFalloff

◆ NodeLightPath

◆ NodeMappingType

◆ NodeMapRangeType

◆ NodeMathType

typedef enum NodeMathType NodeMathType

◆ NodeMix

typedef enum NodeMix NodeMix

◆ NodeMusgraveType

◆ NodeNormalMapSpace

◆ NodeObjectInfo

◆ NodeParticleInfo

◆ NodePointInfo

◆ NodePrincipledHairParametrization

◆ NodeSkyType

typedef enum NodeSkyType NodeSkyType

◆ NodeTangentAxis

◆ NodeTangentDirectionType

◆ NodeTexCoord

typedef enum NodeTexCoord NodeTexCoord

◆ NodeTexVoxelSpace

◆ NodeVectorMathType

◆ NodeVectorRotateType

◆ NodeVectorTransformConvertSpace

◆ NodeVectorTransformType

◆ NodeVoronoiDistanceMetric

◆ NodeVoronoiFeature

◆ NodeWaveBandsDirection

◆ NodeWaveProfile

◆ NodeWaveRingsDirection

◆ NodeWaveType

typedef enum NodeWaveType NodeWaveType

◆ ShaderNodeType

◆ ShaderType

typedef enum ShaderType ShaderType

Enumeration Type Documentation

◆ ClosureType

Enumerator
CLOSURE_NONE_ID 
CLOSURE_BSDF_ID 
CLOSURE_BSDF_DIFFUSE_ID 
CLOSURE_BSDF_OREN_NAYAR_ID 
CLOSURE_BSDF_DIFFUSE_RAMP_ID 
CLOSURE_BSDF_PRINCIPLED_DIFFUSE_ID 
CLOSURE_BSDF_PRINCIPLED_SHEEN_ID 
CLOSURE_BSDF_DIFFUSE_TOON_ID 
CLOSURE_BSDF_TRANSLUCENT_ID 
CLOSURE_BSDF_REFLECTION_ID 
CLOSURE_BSDF_MICROFACET_GGX_ID 
CLOSURE_BSDF_MICROFACET_GGX_FRESNEL_ID 
CLOSURE_BSDF_MICROFACET_GGX_CLEARCOAT_ID 
CLOSURE_BSDF_MICROFACET_BECKMANN_ID 
CLOSURE_BSDF_MICROFACET_MULTI_GGX_ID 
CLOSURE_BSDF_MICROFACET_MULTI_GGX_FRESNEL_ID 
CLOSURE_BSDF_ASHIKHMIN_SHIRLEY_ID 
CLOSURE_BSDF_ASHIKHMIN_VELVET_ID 
CLOSURE_BSDF_PHONG_RAMP_ID 
CLOSURE_BSDF_GLOSSY_TOON_ID 
CLOSURE_BSDF_HAIR_REFLECTION_ID 
CLOSURE_BSDF_REFRACTION_ID 
CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID 
CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID 
CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_ID 
CLOSURE_BSDF_MICROFACET_BECKMANN_GLASS_ID 
CLOSURE_BSDF_MICROFACET_GGX_GLASS_ID 
CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_FRESNEL_ID 
CLOSURE_BSDF_SHARP_GLASS_ID 
CLOSURE_BSDF_HAIR_PRINCIPLED_ID 
CLOSURE_BSDF_HAIR_TRANSMISSION_ID 
CLOSURE_BSDF_TRANSPARENT_ID 
CLOSURE_BSSRDF_BURLEY_ID 
CLOSURE_BSSRDF_RANDOM_WALK_ID 
CLOSURE_BSSRDF_RANDOM_WALK_FIXED_RADIUS_ID 
CLOSURE_HOLDOUT_ID 
CLOSURE_VOLUME_ID 
CLOSURE_VOLUME_ABSORPTION_ID 
CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID 
CLOSURE_BSDF_PRINCIPLED_ID 
NBUILTIN_CLOSURES 

Definition at line 405 of file kernel/svm/types.h.

◆ NodeAO

enum NodeAO
Enumerator
NODE_AO_ONLY_LOCAL 
NODE_AO_INSIDE 
NODE_AO_GLOBAL_RADIUS 

Definition at line 377 of file kernel/svm/types.h.

◆ NodeAttributeOutputType

Enumerator
NODE_ATTR_OUTPUT_FLOAT3 
NODE_ATTR_OUTPUT_FLOAT 
NODE_ATTR_OUTPUT_FLOAT_ALPHA 

Definition at line 25 of file kernel/svm/types.h.

◆ NodeAttributeType

Enumerator
NODE_ATTR_FLOAT 
NODE_ATTR_FLOAT2 
NODE_ATTR_FLOAT3 
NODE_ATTR_FLOAT4 
NODE_ATTR_RGBA 
NODE_ATTR_MATRIX 

Definition at line 31 of file kernel/svm/types.h.

◆ NodeBlendWeightType

Enumerator
NODE_LAYER_WEIGHT_FRESNEL 
NODE_LAYER_WEIGHT_FACING 

Definition at line 325 of file kernel/svm/types.h.

◆ NodeBumpOffset

Enumerator
NODE_BUMP_OFFSET_CENTER 
NODE_BUMP_OFFSET_DX 
NODE_BUMP_OFFSET_DY 

Definition at line 366 of file kernel/svm/types.h.

◆ NodeClampType

Enumerator
NODE_CLAMP_MINMAX 
NODE_CLAMP_RANGE 

Definition at line 218 of file kernel/svm/types.h.

◆ NodeCombSepColorType

Enumerator
NODE_COMBSEP_COLOR_RGB 
NODE_COMBSEP_COLOR_HSV 
NODE_COMBSEP_COLOR_HSL 

Definition at line 397 of file kernel/svm/types.h.

◆ NodeConvert

Enumerator
NODE_CONVERT_FV 
NODE_CONVERT_FI 
NODE_CONVERT_CF 
NODE_CONVERT_CI 
NODE_CONVERT_VF 
NODE_CONVERT_VI 
NODE_CONVERT_IF 
NODE_CONVERT_IV 

Definition at line 257 of file kernel/svm/types.h.

◆ NodeEnvironmentProjection

Enumerator
NODE_ENVIRONMENT_EQUIRECTANGULAR 
NODE_ENVIRONMENT_MIRROR_BALL 

Definition at line 361 of file kernel/svm/types.h.

◆ NodeGeometry

Enumerator
NODE_GEOM_P 
NODE_GEOM_N 
NODE_GEOM_T 
NODE_GEOM_I 
NODE_GEOM_Ng 
NODE_GEOM_uv 

Definition at line 40 of file kernel/svm/types.h.

◆ NodeGradientType

Enumerator
NODE_BLEND_LINEAR 
NODE_BLEND_QUADRATIC 
NODE_BLEND_EASING 
NODE_BLEND_DIAGONAL 
NODE_BLEND_RADIAL 
NODE_BLEND_QUADRATIC_SPHERE 
NODE_BLEND_SPHERICAL 

Definition at line 300 of file kernel/svm/types.h.

◆ NodeHairInfo

Enumerator
NODE_INFO_CURVE_IS_STRAND 
NODE_INFO_CURVE_INTERCEPT 
NODE_INFO_CURVE_LENGTH 
NODE_INFO_CURVE_THICKNESS 
NODE_INFO_CURVE_TANGENT_NORMAL 
NODE_INFO_CURVE_RANDOM 

Definition at line 70 of file kernel/svm/types.h.

◆ NodeImageFlags

Enumerator
NODE_IMAGE_COMPRESS_AS_SRGB 
NODE_IMAGE_ALPHA_UNASSOCIATE 

Definition at line 356 of file kernel/svm/types.h.

◆ NodeImageProjection

Enumerator
NODE_IMAGE_PROJ_FLAT 
NODE_IMAGE_PROJ_BOX 
NODE_IMAGE_PROJ_SPHERE 
NODE_IMAGE_PROJ_TUBE 

Definition at line 349 of file kernel/svm/types.h.

◆ NodeLightFalloff

Enumerator
NODE_LIGHT_FALLOFF_QUADRATIC 
NODE_LIGHT_FALLOFF_LINEAR 
NODE_LIGHT_FALLOFF_CONSTANT 

Definition at line 103 of file kernel/svm/types.h.

◆ NodeLightPath

Enumerator
NODE_LP_camera 
NODE_LP_shadow 
NODE_LP_diffuse 
NODE_LP_glossy 
NODE_LP_singular 
NODE_LP_reflection 
NODE_LP_transmission 
NODE_LP_volume_scatter 
NODE_LP_backfacing 
NODE_LP_ray_length 
NODE_LP_ray_depth 
NODE_LP_ray_diffuse 
NODE_LP_ray_glossy 
NODE_LP_ray_transparent 
NODE_LP_ray_transmission 

Definition at line 85 of file kernel/svm/types.h.

◆ NodeMappingType

Enumerator
NODE_MAPPING_TYPE_POINT 
NODE_MAPPING_TYPE_TEXTURE 
NODE_MAPPING_TYPE_VECTOR 
NODE_MAPPING_TYPE_NORMAL 

Definition at line 230 of file kernel/svm/types.h.

◆ NodeMapRangeType

Enumerator
NODE_MAP_RANGE_LINEAR 
NODE_MAP_RANGE_STEPPED 
NODE_MAP_RANGE_SMOOTHSTEP 
NODE_MAP_RANGE_SMOOTHERSTEP 

Definition at line 223 of file kernel/svm/types.h.

◆ NodeMathType

Enumerator
NODE_MATH_ADD 
NODE_MATH_SUBTRACT 
NODE_MATH_MULTIPLY 
NODE_MATH_DIVIDE 
NODE_MATH_SINE 
NODE_MATH_COSINE 
NODE_MATH_TANGENT 
NODE_MATH_ARCSINE 
NODE_MATH_ARCCOSINE 
NODE_MATH_ARCTANGENT 
NODE_MATH_POWER 
NODE_MATH_LOGARITHM 
NODE_MATH_MINIMUM 
NODE_MATH_MAXIMUM 
NODE_MATH_ROUND 
NODE_MATH_LESS_THAN 
NODE_MATH_GREATER_THAN 
NODE_MATH_MODULO 
NODE_MATH_ABSOLUTE 
NODE_MATH_ARCTAN2 
NODE_MATH_FLOOR 
NODE_MATH_CEIL 
NODE_MATH_FRACTION 
NODE_MATH_SQRT 
NODE_MATH_INV_SQRT 
NODE_MATH_SIGN 
NODE_MATH_EXPONENT 
NODE_MATH_RADIANS 
NODE_MATH_DEGREES 
NODE_MATH_SINH 
NODE_MATH_COSH 
NODE_MATH_TANH 
NODE_MATH_TRUNC 
NODE_MATH_SNAP 
NODE_MATH_WRAP 
NODE_MATH_COMPARE 
NODE_MATH_MULTIPLY_ADD 
NODE_MATH_PINGPONG 
NODE_MATH_SMOOTH_MIN 
NODE_MATH_SMOOTH_MAX 

Definition at line 142 of file kernel/svm/types.h.

◆ NodeMix

enum NodeMix
Enumerator
NODE_MIX_BLEND 
NODE_MIX_ADD 
NODE_MIX_MUL 
NODE_MIX_SUB 
NODE_MIX_SCREEN 
NODE_MIX_DIV 
NODE_MIX_DIFF 
NODE_MIX_DARK 
NODE_MIX_LIGHT 
NODE_MIX_OVERLAY 
NODE_MIX_DODGE 
NODE_MIX_BURN 
NODE_MIX_HUE 
NODE_MIX_SAT 
NODE_MIX_VAL 
NODE_MIX_COLOR 
NODE_MIX_SOFT 
NODE_MIX_LINEAR 
NODE_MIX_CLAMP 

Definition at line 120 of file kernel/svm/types.h.

◆ NodeMusgraveType

Enumerator
NODE_MUSGRAVE_MULTIFRACTAL 
NODE_MUSGRAVE_FBM 
NODE_MUSGRAVE_HYBRID_MULTIFRACTAL 
NODE_MUSGRAVE_RIDGED_MULTIFRACTAL 
NODE_MUSGRAVE_HETERO_TERRAIN 

Definition at line 268 of file kernel/svm/types.h.

◆ NodeNormalMapSpace

Enumerator
NODE_NORMAL_MAP_TANGENT 
NODE_NORMAL_MAP_OBJECT 
NODE_NORMAL_MAP_WORLD 
NODE_NORMAL_MAP_BLENDER_OBJECT 
NODE_NORMAL_MAP_BLENDER_WORLD 

Definition at line 341 of file kernel/svm/types.h.

◆ NodeObjectInfo

Enumerator
NODE_INFO_OB_LOCATION 
NODE_INFO_OB_COLOR 
NODE_INFO_OB_ALPHA 
NODE_INFO_OB_INDEX 
NODE_INFO_MAT_INDEX 
NODE_INFO_OB_RANDOM 

Definition at line 49 of file kernel/svm/types.h.

◆ NodeParticleInfo

Enumerator
NODE_INFO_PAR_INDEX 
NODE_INFO_PAR_RANDOM 
NODE_INFO_PAR_AGE 
NODE_INFO_PAR_LIFETIME 
NODE_INFO_PAR_LOCATION 
NODE_INFO_PAR_ROTATION 
NODE_INFO_PAR_SIZE 
NODE_INFO_PAR_VELOCITY 
NODE_INFO_PAR_ANGULAR_VELOCITY 

Definition at line 58 of file kernel/svm/types.h.

◆ NodePointInfo

Enumerator
NODE_INFO_POINT_POSITION 
NODE_INFO_POINT_RADIUS 
NODE_INFO_POINT_RANDOM 

Definition at line 79 of file kernel/svm/types.h.

◆ NodePrincipledHairParametrization

Enumerator
NODE_PRINCIPLED_HAIR_REFLECTANCE 
NODE_PRINCIPLED_HAIR_PIGMENT_CONCENTRATION 
NODE_PRINCIPLED_HAIR_DIRECT_ABSORPTION 
NODE_PRINCIPLED_HAIR_NUM 

Definition at line 390 of file kernel/svm/types.h.

◆ NodeSkyType

Enumerator
NODE_SKY_PREETHAM 
NODE_SKY_HOSEK 
NODE_SKY_NISHITA 

Definition at line 298 of file kernel/svm/types.h.

◆ NodeTangentAxis

Enumerator
NODE_TANGENT_AXIS_X 
NODE_TANGENT_AXIS_Y 
NODE_TANGENT_AXIS_Z 

Definition at line 335 of file kernel/svm/types.h.

◆ NodeTangentDirectionType

Enumerator
NODE_TANGENT_RADIAL 
NODE_TANGENT_UVMAP 

Definition at line 330 of file kernel/svm/types.h.

◆ NodeTexCoord

Enumerator
NODE_TEXCO_NORMAL 
NODE_TEXCO_OBJECT 
NODE_TEXCO_CAMERA 
NODE_TEXCO_WINDOW 
NODE_TEXCO_REFLECTION 
NODE_TEXCO_DUPLI_GENERATED 
NODE_TEXCO_DUPLI_UV 
NODE_TEXCO_VOLUME_GENERATED 

Definition at line 109 of file kernel/svm/types.h.

◆ NodeTexVoxelSpace

Enumerator
NODE_TEX_VOXEL_SPACE_OBJECT 
NODE_TEX_VOXEL_SPACE_WORLD 

Definition at line 372 of file kernel/svm/types.h.

◆ NodeVectorMathType

Enumerator
NODE_VECTOR_MATH_ADD 
NODE_VECTOR_MATH_SUBTRACT 
NODE_VECTOR_MATH_MULTIPLY 
NODE_VECTOR_MATH_DIVIDE 
NODE_VECTOR_MATH_CROSS_PRODUCT 
NODE_VECTOR_MATH_PROJECT 
NODE_VECTOR_MATH_REFLECT 
NODE_VECTOR_MATH_DOT_PRODUCT 
NODE_VECTOR_MATH_DISTANCE 
NODE_VECTOR_MATH_LENGTH 
NODE_VECTOR_MATH_SCALE 
NODE_VECTOR_MATH_NORMALIZE 
NODE_VECTOR_MATH_SNAP 
NODE_VECTOR_MATH_FLOOR 
NODE_VECTOR_MATH_CEIL 
NODE_VECTOR_MATH_MODULO 
NODE_VECTOR_MATH_FRACTION 
NODE_VECTOR_MATH_ABSOLUTE 
NODE_VECTOR_MATH_MINIMUM 
NODE_VECTOR_MATH_MAXIMUM 
NODE_VECTOR_MATH_WRAP 
NODE_VECTOR_MATH_SINE 
NODE_VECTOR_MATH_COSINE 
NODE_VECTOR_MATH_TANGENT 
NODE_VECTOR_MATH_REFRACT 
NODE_VECTOR_MATH_FACEFORWARD 
NODE_VECTOR_MATH_MULTIPLY_ADD 

Definition at line 185 of file kernel/svm/types.h.

◆ NodeVectorRotateType

Enumerator
NODE_VECTOR_ROTATE_TYPE_AXIS 
NODE_VECTOR_ROTATE_TYPE_AXIS_X 
NODE_VECTOR_ROTATE_TYPE_AXIS_Y 
NODE_VECTOR_ROTATE_TYPE_AXIS_Z 
NODE_VECTOR_ROTATE_TYPE_EULER_XYZ 

Definition at line 237 of file kernel/svm/types.h.

◆ NodeVectorTransformConvertSpace

Enumerator
NODE_VECTOR_TRANSFORM_CONVERT_SPACE_WORLD 
NODE_VECTOR_TRANSFORM_CONVERT_SPACE_OBJECT 
NODE_VECTOR_TRANSFORM_CONVERT_SPACE_CAMERA 

Definition at line 251 of file kernel/svm/types.h.

◆ NodeVectorTransformType

Enumerator
NODE_VECTOR_TRANSFORM_TYPE_VECTOR 
NODE_VECTOR_TRANSFORM_TYPE_POINT 
NODE_VECTOR_TRANSFORM_TYPE_NORMAL 

Definition at line 245 of file kernel/svm/types.h.

◆ NodeVoronoiDistanceMetric

Enumerator
NODE_VORONOI_EUCLIDEAN 
NODE_VORONOI_MANHATTAN 
NODE_VORONOI_CHEBYCHEV 
NODE_VORONOI_MINKOWSKI 

Definition at line 310 of file kernel/svm/types.h.

◆ NodeVoronoiFeature

Enumerator
NODE_VORONOI_F1 
NODE_VORONOI_F2 
NODE_VORONOI_SMOOTH_F1 
NODE_VORONOI_DISTANCE_TO_EDGE 
NODE_VORONOI_N_SPHERE_RADIUS 

Definition at line 317 of file kernel/svm/types.h.

◆ NodeWaveBandsDirection

Enumerator
NODE_WAVE_BANDS_DIRECTION_X 
NODE_WAVE_BANDS_DIRECTION_Y 
NODE_WAVE_BANDS_DIRECTION_Z 
NODE_WAVE_BANDS_DIRECTION_DIAGONAL 

Definition at line 278 of file kernel/svm/types.h.

◆ NodeWaveProfile

Enumerator
NODE_WAVE_PROFILE_SIN 
NODE_WAVE_PROFILE_SAW 
NODE_WAVE_PROFILE_TRI 

Definition at line 292 of file kernel/svm/types.h.

◆ NodeWaveRingsDirection

Enumerator
NODE_WAVE_RINGS_DIRECTION_X 
NODE_WAVE_RINGS_DIRECTION_Y 
NODE_WAVE_RINGS_DIRECTION_Z 
NODE_WAVE_RINGS_DIRECTION_SPHERICAL 

Definition at line 285 of file kernel/svm/types.h.

◆ NodeWaveType

Enumerator
NODE_WAVE_BANDS 
NODE_WAVE_RINGS 

Definition at line 276 of file kernel/svm/types.h.

◆ ShaderNodeType

Enumerator
NODE_NUM 

Definition at line 19 of file kernel/svm/types.h.

◆ ShaderType

enum ShaderType
Enumerator
SHADER_TYPE_SURFACE 
SHADER_TYPE_VOLUME 
SHADER_TYPE_DISPLACEMENT 
SHADER_TYPE_BUMP 

Definition at line 383 of file kernel/svm/types.h.