Blender V5.0
types.h File Reference

Go to the source code of this file.

Classes

struct  BsdfEval
struct  differential3
struct  differential
struct  RaySelfPrimitives
struct  Ray
struct  Intersection
struct  AttributeDescriptor
struct  AttributeMap
struct  ShaderVolumeClosure
struct  ShaderVolumePhases
struct  VolumeStack
struct  LocalIntersection
struct  KernelCamera
struct  KernelFilmConvert
struct  KernelTables
struct  KernelBake
struct  KernelLightLinkSet
struct  KernelObject
struct  KernelCurve
struct  KernelCurveSegment
struct  KernelSpotLight
struct  KernelAreaLight
struct  KernelDistantLight
struct  KernelLight
struct  KernelLightDistribution
struct  KernelBoundingBox
struct  KernelBoundingCone
struct  KernelLightTreeNode
struct  KernelOctreeRoot
struct  KernelOctreeNode
struct  KernelLightTreeEmitter
struct  KernelParticle
struct  KernelShader
struct  KernelWorkTile
struct  KernelShaderEvalInput

Macros

#define OBJECT_MOTION_PASS_SIZE   2
#define FILTER_TABLE_SIZE   1024
#define RAMP_TABLE_SIZE   256
#define SHUTTER_TABLE_SIZE   256
#define THIN_FILM_TABLE_SIZE   512
#define BSSRDF_MIN_RADIUS   1e-8f
#define BSSRDF_MAX_HITS   4
#define BSSRDF_MAX_BOUNCES   256
#define LOCAL_MAX_HITS   4
#define VOLUME_BOUNDS_MAX   1024
#define SHADER_NONE   (~0)
#define OBJECT_NONE   (~0)
#define PRIM_NONE   (~0)
#define LAMP_NONE   (~0)
#define EMITTER_NONE   (~0)
#define ID_NONE   (0.0f)
#define PASS_UNUSED   (~0)
#define LIGHTGROUP_NONE   (~0)
#define LIGHT_LINK_SET_MAX   64
#define LIGHT_LINK_MASK_ALL   (~uint64_t(0))
#define INTEGRATOR_SHADOW_ISECT_SIZE_CPU   1024U
#define INTEGRATOR_SHADOW_ISECT_SIZE_GPU   4U
#define INTEGRATOR_SHADOW_ISECT_SIZE   INTEGRATOR_SHADOW_ISECT_SIZE_CPU
#define KERNEL_FEATURE_NODE_BSDF   (1U << 0U)
#define KERNEL_FEATURE_NODE_EMISSION   (1U << 1U)
#define KERNEL_FEATURE_NODE_VOLUME   (1U << 2U)
#define KERNEL_FEATURE_NODE_BUMP   (1U << 3U)
#define KERNEL_FEATURE_NODE_BUMP_STATE   (1U << 4U)
#define KERNEL_FEATURE_NODE_VORONOI_EXTRA   (1U << 5U)
#define KERNEL_FEATURE_NODE_RAYTRACE   (1U << 6U)
#define KERNEL_FEATURE_NODE_AOV   (1U << 7U)
#define KERNEL_FEATURE_NODE_LIGHT_PATH   (1U << 8U)
#define KERNEL_FEATURE_NODE_PRINCIPLED_HAIR   (1U << 9U)
#define KERNEL_FEATURE_NODE_PORTAL   (1U << 10U)
#define KERNEL_FEATURE_PATH_TRACING   (1U << 11U)
#define KERNEL_FEATURE_POINTCLOUD   (1U << 12U)
#define KERNEL_FEATURE_HAIR_RIBBON   (1U << 13U)
#define KERNEL_FEATURE_HAIR_THICK   (1U << 14U)
#define KERNEL_FEATURE_HAIR   (KERNEL_FEATURE_HAIR_RIBBON | KERNEL_FEATURE_HAIR_THICK)
#define KERNEL_FEATURE_OBJECT_MOTION   (1U << 15U)
#define KERNEL_FEATURE_BAKING   (1U << 16U)
#define KERNEL_FEATURE_SUBSURFACE   (1U << 17U)
#define KERNEL_FEATURE_VOLUME   (1U << 18U)
#define KERNEL_FEATURE_TRANSPARENT   (1U << 19U)
#define KERNEL_FEATURE_SHADOW_CATCHER   (1U << 20U)
#define KERNEL_FEATURE_LIGHT_PASSES   (1U << 21U)
#define KERNEL_FEATURE_AO_PASS   (1U << 22U)
#define KERNEL_FEATURE_AO_ADDITIVE   (1U << 23U)
#define KERNEL_FEATURE_AO   (KERNEL_FEATURE_AO_PASS | KERNEL_FEATURE_AO_ADDITIVE)
#define KERNEL_FEATURE_MNEE   (1U << 24U)
#define KERNEL_FEATURE_PATH_GUIDING   (1U << 25U)
#define KERNEL_FEATURE_OSL_SHADING   (1U << 26U)
#define KERNEL_FEATURE_OSL_CAMERA   (1U << 27U)
#define KERNEL_FEATURE_LIGHT_LINKING   (1U << 28U)
#define KERNEL_FEATURE_SHADOW_LINKING   (1U << 29U)
#define KERNEL_FEATURE_DENOISING   (1U << 30U)
#define KERNEL_FEATURE_LIGHT_TREE   (1U << 31U)
#define KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT
#define KERNEL_FEATURE_NODE_MASK_SURFACE_BACKGROUND   (KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT | KERNEL_FEATURE_NODE_AOV)
#define KERNEL_FEATURE_NODE_MASK_SURFACE_SHADOW
#define KERNEL_FEATURE_NODE_MASK_SURFACE
#define KERNEL_FEATURE_NODE_MASK_VOLUME
#define KERNEL_FEATURE_NODE_MASK_DISPLACEMENT
#define KERNEL_FEATURE_NODE_MASK_BUMP   KERNEL_FEATURE_NODE_MASK_DISPLACEMENT
#define IF_KERNEL_FEATURE(feature)
#define IF_KERNEL_NODES_FEATURE(feature)
#define __AO__
#define __CAUSTICS_TRICKS__
#define __CLAMP_SAMPLE__
#define __DENOISING_FEATURES__
#define __DPDU__
#define __HAIR__
#define __LIGHT_LINKING__
#define __SHADOW_LINKING__
#define __LIGHT_TREE__
#define __OBJECT_MOTION__
#define __MNEE__
#define __PASSES__
#define __POINTCLOUD__
#define __PRINCIPLED_HAIR__
#define __RAY_DIFFERENTIALS__
#define __SHADER_RAYTRACE__
#define __SHADOW_CATCHER__
#define __SHADOW_RECORD_ALL__
#define __SUBSURFACE__
#define __SVM__
#define __TRANSPARENT_SHADOWS__
#define __VISIBILITY_FLAG__
#define __VOLUME__
#define __VOLUME_RECORD_ALL__
#define __BVH_LOCAL__
#define SHADOW_CATCHER_VISIBILITY_SHIFT(visibility)
#define SHADOW_CATCHER_PATH_VISIBILITY(path_flag, visibility)
#define SHADOW_CATCHER_OBJECT_VISIBILITY(is_shadow_catcher, visibility)
#define PASS_NAME_JOIN(a, b)
#define PASSMASK(pass)
#define PASS_ANY   (~0)
#define PRIMITIVE_INDEX(type)
#define PRIMITIVE_PACK_SEGMENT(type, segment)
#define PRIMITIVE_UNPACK_SEGMENT(type)
#define MAX_CLOSURE   64
#define CAUSTICS_MAX_CLOSURE   4
#define MAX_VOLUME_STACK_SIZE   32
#define MAX_VOLUME_CLOSURE   8
#define VOLUME_OCTREE_MAX_DEPTH   7
#define SHADER_CLOSURE_BASE
#define SHADER_CLOSURE_VOLUME_BASE
#define AS_SHADER_DATA(shader_data_tiny_storage)
#define KERNEL_STRUCT_BEGIN(name, parent)
#define KERNEL_STRUCT_END(name)
#define KERNEL_STRUCT_MEMBER(parent, type, name)
#define KERNEL_STRUCT_BEGIN(name, parent)
#define KERNEL_STRUCT_MEMBER_DONT_SPECIALIZE
#define SHADER_NODE_TYPE(type)
#define PATCH_MAX_CONTROL_VERTS   16
#define PATCH_MAP_NODE_IS_SET   (1 << 30)
#define PATCH_MAP_NODE_IS_LEAF   (1u << 31)
#define PATCH_MAP_NODE_INDEX_MASK   (~(PATCH_MAP_NODE_IS_SET | PATCH_MAP_NODE_IS_LEAF))
#define MIN_TAB_SOBOL_SAMPLES   256
#define MAX_TAB_SOBOL_SAMPLES   8192
#define NUM_TAB_SOBOL_DIMENSIONS   4
#define NUM_TAB_SOBOL_PATTERNS   256
#define DECLARE_FILM_CONVERT_KERNEL(variant)

Typedefs

using ShaderDataTinyStorage = ShaderData
using ShaderDataCausticsStorage = ShaderData

Enumerations

enum  PathTraceDimension {
  PRNG_FILTER = 0 , PRNG_LENS_TIME = 1 , PRNG_TERMINATE = 0 , PRNG_LIGHT = 1 ,
  PRNG_LIGHT_TERMINATE = 2 , PRNG_SURFACE_BSDF = 3 , PRNG_SURFACE_AO = 4 , PRNG_SURFACE_BEVEL = 5 ,
  PRNG_SURFACE_BSDF_GUIDING = 6 , PRNG_SURFACE_RIS_GUIDING_0 = 10 , PRNG_SURFACE_RIS_GUIDING_1 = 11 , PRNG_VOLUME_PHASE = 3 ,
  PRNG_VOLUME_RESERVOIR = 4 , PRNG_VOLUME_SCATTER_DISTANCE = 5 , PRNG_VOLUME_EXPANSION_ORDER = 6 , PRNG_VOLUME_SHADE_OFFSET = 7 ,
  PRNG_VOLUME_PHASE_GUIDING_DISTANCE = 8 , PRNG_VOLUME_PHASE_GUIDING_EQUIANGULAR = 9 , PRNG_VOLUME_COLOR_CHANNEL = 4 , PRNG_VOLUME_OFFSET = 6 ,
  PRNG_SUBSURFACE_BSDF = 0 , PRNG_SUBSURFACE_COLOR_CHANNEL = 1 , PRNG_SUBSURFACE_SCATTER_DISTANCE = 2 , PRNG_SUBSURFACE_GUIDE_STRATEGY = 3 ,
  PRNG_SUBSURFACE_GUIDE_DIRECTION = 4 , PRNG_SUBSURFACE_DISK = 0 , PRNG_SUBSURFACE_DISK_RESAMPLE = 1 , PRNG_BAKE_VOLUME_DENSITY_EVAL = 0 ,
  PRNG_BOUNCE_NUM = 16
}
enum  SamplingPattern {
  SAMPLING_PATTERN_SOBOL_BURLEY = 0 , SAMPLING_PATTERN_TABULATED_SOBOL = 1 , SAMPLING_PATTERN_BLUE_NOISE_PURE = 2 , SAMPLING_PATTERN_BLUE_NOISE_FIRST = 3 ,
  SAMPLING_PATTERN_BLUE_NOISE_ROUND = 4 , SAMPLING_PATTERN_AUTOMATIC = 5 , SAMPLING_NUM_PATTERNS
}
enum  PathRayFlag : uint32_t {
  PATH_RAY_CAMERA = (1U << 0U) , PATH_RAY_REFLECT = (1U << 1U) , PATH_RAY_TRANSMIT = (1U << 2U) , PATH_RAY_DIFFUSE = (1U << 3U) ,
  PATH_RAY_GLOSSY = (1U << 4U) , PATH_RAY_SINGULAR = (1U << 5U) , PATH_RAY_TRANSPARENT = (1U << 6U) , PATH_RAY_VOLUME_SCATTER = (1U << 7U) ,
  PATH_RAY_IMPORTANCE_BAKE = (1U << 8U) , PATH_RAY_SHADOW_OPAQUE = (1U << 9U) , PATH_RAY_SHADOW_TRANSPARENT = (1U << 10U) , PATH_RAY_SHADOW = (PATH_RAY_SHADOW_OPAQUE | PATH_RAY_SHADOW_TRANSPARENT) ,
  PATH_RAY_ALL_VISIBILITY = ((1U << 11U) - 1U) , PATH_RAY_NODE_UNALIGNED = (1U << 11U) , PATH_RAY_MIS_HAD_TRANSMISSION = (1U << 11U) , PATH_RAY_MIS_SKIP = (1U << 12U) ,
  PATH_RAY_DIFFUSE_ANCESTOR = (1U << 13U) , PATH_RAY_SINGLE_PASS_DONE = (1U << 14U) , PATH_RAY_TRANSPARENT_BACKGROUND = (1U << 15U) , PATH_RAY_TERMINATE_ON_NEXT_SURFACE = (1U << 16U) ,
  PATH_RAY_TERMINATE_IN_NEXT_VOLUME = (1U << 17U) , PATH_RAY_TERMINATE_AFTER_TRANSPARENT = (1U << 18U) , PATH_RAY_TERMINATE_AFTER_VOLUME = (1U << 19U) , PATH_RAY_TERMINATE ,
  PATH_RAY_EMISSION = (1U << 20U) , PATH_RAY_SUBSURFACE_RANDOM_WALK = (1U << 21U) , PATH_RAY_SUBSURFACE_DISK = (1U << 22U) , PATH_RAY_SUBSURFACE_BACKFACING = (1U << 24U) ,
  PATH_RAY_SUBSURFACE , PATH_RAY_DENOISING_FEATURES = (1U << 25U) , PATH_RAY_SURFACE_PASS = (1U << 26U) , PATH_RAY_VOLUME_PASS = (1U << 27U) ,
  PATH_RAY_ANY_PASS = (PATH_RAY_SURFACE_PASS | PATH_RAY_VOLUME_PASS) , PATH_RAY_SHADOW_FOR_AO = (1U << 28U) , PATH_RAY_SHADOW_CATCHER_HIT = (1U << 29U) , PATH_RAY_SHADOW_CATCHER_PASS = (1U << 30U) ,
  PATH_RAY_SHADOW_CATCHER_BACKGROUND = (1U << 31U) , PATH_RAY_VOLUME_PRIMARY_TRANSMIT = (1U << 23U)
}
enum  PathRayMNEE { PATH_MNEE_NONE = 0 , PATH_MNEE_VALID = (1U << 0U) , PATH_MNEE_RECEIVER_ANCESTOR = (1U << 1U) , PATH_MNEE_CULL_LIGHT_CONNECTION = (1U << 2U) }
enum  ClosureLabel {
  LABEL_NONE = 0 , LABEL_TRANSMIT = 1 , LABEL_REFLECT = 2 , LABEL_DIFFUSE = 4 ,
  LABEL_GLOSSY = 8 , LABEL_SINGULAR = 16 , LABEL_TRANSPARENT = 32 , LABEL_VOLUME_SCATTER = 64 ,
  LABEL_TRANSMIT_TRANSPARENT = 128 , LABEL_SUBSURFACE_SCATTER = 256 , LABEL_RAY_PORTAL = 512
}
enum  PassType {
  PASS_NONE = 0 , PASS_COMBINED = 1 , PASS_EMISSION , PASS_BACKGROUND ,
  PASS_AO , PASS_DIFFUSE , PASS_DIFFUSE_DIRECT , PASS_DIFFUSE_INDIRECT ,
  PASS_GLOSSY , PASS_GLOSSY_DIRECT , PASS_GLOSSY_INDIRECT , PASS_TRANSMISSION ,
  PASS_TRANSMISSION_DIRECT , PASS_TRANSMISSION_INDIRECT , PASS_VOLUME , PASS_VOLUME_DIRECT ,
  PASS_VOLUME_INDIRECT , PASS_VOLUME_SCATTER , PASS_VOLUME_TRANSMIT , PASS_CATEGORY_LIGHT_END = 31 ,
  PASS_DEPTH = 32 , PASS_POSITION , PASS_NORMAL , PASS_ROUGHNESS ,
  PASS_UV , PASS_OBJECT_ID , PASS_MATERIAL_ID , PASS_MOTION ,
  PASS_MOTION_WEIGHT , PASS_CRYPTOMATTE , PASS_AOV_COLOR , PASS_AOV_VALUE ,
  PASS_ADAPTIVE_AUX_BUFFER , PASS_SAMPLE_COUNT , PASS_DIFFUSE_COLOR , PASS_GLOSSY_COLOR ,
  PASS_TRANSMISSION_COLOR , PASS_MIST , PASS_DENOISING_NORMAL , PASS_DENOISING_ALBEDO ,
  PASS_DENOISING_DEPTH , PASS_DENOISING_PREVIOUS , PASS_RENDER_TIME , PASS_SHADOW_CATCHER ,
  PASS_SHADOW_CATCHER_SAMPLE_COUNT , PASS_SHADOW_CATCHER_MATTE , PASS_GUIDING_COLOR , PASS_GUIDING_PROBABILITY ,
  PASS_GUIDING_AVG_ROUGHNESS , PASS_VOLUME_MAJORANT , PASS_VOLUME_MAJORANT_SAMPLE_COUNT , PASS_CATEGORY_DATA_END = 63 ,
  PASS_BAKE_PRIMITIVE , PASS_BAKE_SEED , PASS_BAKE_DIFFERENTIAL , PASS_CATEGORY_BAKE_END = 95 ,
  PASS_NUM
}
enum  CryptomatteType {
  CRYPT_NONE = 0 , CRYPT_OBJECT = (1 << 0) , CRYPT_MATERIAL = (1 << 1) , CRYPT_ASSET = (1 << 2) ,
  CRYPT_ACCURATE = (1 << 3)
}
enum  FilterClosures {
  FILTER_CLOSURE_EMISSION = (1 << 0) , FILTER_CLOSURE_DIFFUSE = (1 << 1) , FILTER_CLOSURE_GLOSSY = (1 << 2) , FILTER_CLOSURE_TRANSMISSION = (1 << 3) ,
  FILTER_CLOSURE_TRANSPARENT = (1 << 4) , FILTER_CLOSURE_DIRECT_LIGHT = (1 << 5)
}
enum  ShaderFlag {
  SHADER_SMOOTH_NORMAL = (1 << 31) , SHADER_CAST_SHADOW = (1 << 30) , SHADER_AREA_LIGHT = (1 << 29) , SHADER_USE_MIS = (1 << 28) ,
  SHADER_EXCLUDE_DIFFUSE = (1 << 27) , SHADER_EXCLUDE_GLOSSY = (1 << 26) , SHADER_EXCLUDE_TRANSMIT = (1 << 25) , SHADER_EXCLUDE_CAMERA = (1 << 24) ,
  SHADER_EXCLUDE_SCATTER = (1 << 23) , SHADER_EXCLUDE_SHADOW_CATCHER = (1 << 22) , SHADER_EXCLUDE_ANY , SHADER_MASK
}
enum  EmissionSampling {
  EMISSION_SAMPLING_NONE = 0 , EMISSION_SAMPLING_AUTO = 1 , EMISSION_SAMPLING_FRONT = 2 , EMISSION_SAMPLING_BACK = 3 ,
  EMISSION_SAMPLING_FRONT_BACK = 4 , EMISSION_SAMPLING_NUM
}
enum  LightType {
  LIGHT_POINT , LIGHT_DISTANT , LIGHT_BACKGROUND , LIGHT_AREA ,
  LIGHT_SPOT , LIGHT_TRIANGLE
}
enum  GuidingDistributionType { GUIDING_TYPE_PARALLAX_AWARE_VMM = 0 , GUIDING_TYPE_DIRECTIONAL_QUAD_TREE = 1 , GUIDING_TYPE_VMM = 2 , GUIDING_NUM_TYPES }
enum  GuidingDirectionalSamplingType { GUIDING_DIRECTIONAL_SAMPLING_TYPE_PRODUCT_MIS = 0 , GUIDING_DIRECTIONAL_SAMPLING_TYPE_RIS = 1 , GUIDING_DIRECTIONAL_SAMPLING_TYPE_ROUGHNESS = 2 , GUIDING_DIRECTIONAL_SAMPLING_NUM_TYPES }
enum  CameraType { CAMERA_PERSPECTIVE , CAMERA_ORTHOGRAPHIC , CAMERA_PANORAMA , CAMERA_CUSTOM }
enum  PanoramaType {
  PANORAMA_EQUIRECTANGULAR = 0 , PANORAMA_FISHEYE_EQUIDISTANT = 1 , PANORAMA_FISHEYE_EQUISOLID = 2 , PANORAMA_MIRRORBALL = 3 ,
  PANORAMA_FISHEYE_LENS_POLYNOMIAL = 4 , PANORAMA_EQUIANGULAR_CUBEMAP_FACE = 5 , PANORAMA_CENTRAL_CYLINDRICAL = 6 , PANORAMA_NUM_TYPES
}
enum  MotionPosition { MOTION_POSITION_START = 0 , MOTION_POSITION_CENTER = 1 , MOTION_POSITION_END = 2 , MOTION_NUM_POSITIONS }
enum  DirectLightSamplingType { DIRECT_LIGHT_SAMPLING_MIS = 0 , DIRECT_LIGHT_SAMPLING_FORWARD = 1 , DIRECT_LIGHT_SAMPLING_NEE = 2 , DIRECT_LIGHT_SAMPLING_NUM }
enum  PrimitiveType {
  PRIMITIVE_NONE = 0 , PRIMITIVE_TRIANGLE = (1 << 0) , PRIMITIVE_CURVE_THICK = (1 << 1) , PRIMITIVE_CURVE_RIBBON = (1 << 2) ,
  PRIMITIVE_CURVE_THICK_LINEAR = PRIMITIVE_CURVE_THICK | PRIMITIVE_CURVE_RIBBON , PRIMITIVE_POINT = (1 << 3) , PRIMITIVE_VOLUME = (1 << 4) , PRIMITIVE_LAMP = (1 << 5) ,
  PRIMITIVE_MOTION = (1 << 6) , PRIMITIVE_MOTION_TRIANGLE = (PRIMITIVE_TRIANGLE | PRIMITIVE_MOTION) , PRIMITIVE_MOTION_CURVE_THICK = (PRIMITIVE_CURVE_THICK | PRIMITIVE_MOTION) , PRIMITIVE_MOTION_CURVE_RIBBON = (PRIMITIVE_CURVE_RIBBON | PRIMITIVE_MOTION) ,
  PRIMITIVE_MOTION_CURVE_THICK_LINEAR = (PRIMITIVE_CURVE_THICK_LINEAR | PRIMITIVE_MOTION) , PRIMITIVE_MOTION_POINT = (PRIMITIVE_POINT | PRIMITIVE_MOTION) , PRIMITIVE_CURVE = (PRIMITIVE_CURVE_THICK | PRIMITIVE_CURVE_RIBBON) , PRIMITIVE_ALL ,
  PRIMITIVE_NUM_SHAPES = 6 , PRIMITIVE_NUM_BITS = PRIMITIVE_NUM_SHAPES + 1 , PRIMITIVE_NUM = PRIMITIVE_NUM_SHAPES * 2
}
enum  CurveShapeType { CURVE_RIBBON = 0 , CURVE_THICK = 1 , CURVE_THICK_LINEAR = 2 , CURVE_NUM_SHAPE_TYPES }
enum  AttributePrimitive { ATTR_PRIM_GEOMETRY = 0 , ATTR_PRIM_SUBD , ATTR_PRIM_TYPES }
enum  AttributeElement {
  ATTR_ELEMENT_NONE = 0 , ATTR_ELEMENT_OBJECT = (1 << 0) , ATTR_ELEMENT_MESH = (1 << 1) , ATTR_ELEMENT_FACE = (1 << 2) ,
  ATTR_ELEMENT_VERTEX = (1 << 3) , ATTR_ELEMENT_VERTEX_MOTION = (1 << 4) , ATTR_ELEMENT_CORNER = (1 << 5) , ATTR_ELEMENT_CORNER_BYTE = (1 << 6) ,
  ATTR_ELEMENT_CURVE = (1 << 7) , ATTR_ELEMENT_CURVE_KEY = (1 << 8) , ATTR_ELEMENT_CURVE_KEY_MOTION = (1 << 9) , ATTR_ELEMENT_VOXEL = (1 << 10)
}
enum  AttributeStandard {
  ATTR_STD_NONE = 0 , ATTR_STD_VERTEX_NORMAL , ATTR_STD_UV , ATTR_STD_UV_TANGENT ,
  ATTR_STD_UV_TANGENT_SIGN , ATTR_STD_UV_TANGENT_UNDISPLACED , ATTR_STD_UV_TANGENT_SIGN_UNDISPLACED , ATTR_STD_VERTEX_COLOR ,
  ATTR_STD_GENERATED , ATTR_STD_GENERATED_TRANSFORM , ATTR_STD_POSITION_UNDEFORMED , ATTR_STD_POSITION_UNDISPLACED ,
  ATTR_STD_NORMAL_UNDISPLACED , ATTR_STD_MOTION_VERTEX_POSITION , ATTR_STD_MOTION_VERTEX_NORMAL , ATTR_STD_PARTICLE ,
  ATTR_STD_CURVE_INTERCEPT , ATTR_STD_CURVE_LENGTH , ATTR_STD_CURVE_RANDOM , ATTR_STD_POINT_RANDOM ,
  ATTR_STD_PTEX_FACE_ID , ATTR_STD_PTEX_UV , ATTR_STD_VOLUME_DENSITY , ATTR_STD_VOLUME_COLOR ,
  ATTR_STD_VOLUME_FLAME , ATTR_STD_VOLUME_HEAT , ATTR_STD_VOLUME_TEMPERATURE , ATTR_STD_VOLUME_VELOCITY ,
  ATTR_STD_VOLUME_VELOCITY_X , ATTR_STD_VOLUME_VELOCITY_Y , ATTR_STD_VOLUME_VELOCITY_Z , ATTR_STD_POINTINESS ,
  ATTR_STD_RANDOM_PER_ISLAND , ATTR_STD_SHADOW_TRANSPARENCY , ATTR_STD_NUM , ATTR_STD_NOT_FOUND = ~0
}
enum  AttributeFlag { ATTR_SUBDIVIDE_SMOOTH_FVAR = (1 << 0) }
enum  ShaderDataFlag {
  SD_BACKFACING = (1 << 0) , SD_EMISSION = (1 << 1) , SD_BSDF = (1 << 2) , SD_BSDF_HAS_EVAL = (1 << 3) ,
  SD_BSSRDF = (1 << 4) , SD_HOLDOUT = (1 << 5) , SD_EXTINCTION = (1 << 6) , SD_SCATTER = (1 << 7) ,
  SD_IS_VOLUME_SHADER_EVAL = (1 << 8) , SD_TRANSPARENT = (1 << 9) , SD_BSDF_NEEDS_LCG = (1 << 10) , SD_BSDF_HAS_TRANSMISSION = (1 << 11) ,
  SD_RAY_PORTAL = (1 << 12) , SD_CLOSURE_FLAGS , SD_HAS_LIGHT_PATH_NODE = (1 << 13) , SD_USE_BUMP_MAP_CORRECTION = (1 << 15) ,
  SD_MIS_FRONT = (1 << 16) , SD_HAS_TRANSPARENT_SHADOW = (1 << 17) , SD_HAS_VOLUME = (1 << 18) , SD_HAS_ONLY_VOLUME = (1 << 19) ,
  SD_HETEROGENEOUS_VOLUME = (1 << 20) , SD_HAS_BSSRDF_BUMP = (1 << 21) , SD_VOLUME_EQUIANGULAR = (1 << 22) , SD_VOLUME_MIS = (1 << 23) ,
  SD_VOLUME_CUBIC = (1 << 24) , SD_HAS_BUMP = (1 << 25) , SD_HAS_DISPLACEMENT = (1 << 26) , SD_HAS_CONSTANT_EMISSION = (1 << 27) ,
  SD_NEED_VOLUME_ATTRIBUTES = (1 << 28) , SD_HAS_EMISSION = (1 << 29) , SD_HAS_RAYTRACE = (1 << 30) , SD_MIS_BACK = (1 << 31) ,
  SD_SHADER_FLAGS
}
enum  ShaderDataObjectFlag {
  SD_OBJECT_HOLDOUT_MASK = (1 << 0) , SD_OBJECT_MOTION = (1 << 1) , SD_OBJECT_TRANSFORM_APPLIED = (1 << 2) , SD_OBJECT_NEGATIVE_SCALE = (1 << 3) ,
  SD_OBJECT_HAS_VOLUME = (1 << 4) , SD_OBJECT_INTERSECTS_VOLUME = (1 << 5) , SD_OBJECT_HAS_VERTEX_MOTION = (1 << 6) , SD_OBJECT_SHADOW_CATCHER = (1 << 7) ,
  SD_OBJECT_HAS_VOLUME_ATTRIBUTES = (1 << 8) , SD_OBJECT_CAUSTICS_CASTER = (1 << 9) , SD_OBJECT_CAUSTICS_RECEIVER = (1 << 10) , SD_OBJECT_HAS_VOLUME_MOTION = (1 << 11) ,
  SD_OBJECT_CAUSTICS = (SD_OBJECT_CAUSTICS_CASTER | SD_OBJECT_CAUSTICS_RECEIVER) , SD_OBJECT_FLAGS
}
enum  KernelBVHLayout {
  BVH_LAYOUT_NONE = 0 , BVH_LAYOUT_BVH2 = (1 << 0) , BVH_LAYOUT_EMBREE = (1 << 1) , BVH_LAYOUT_OPTIX = (1 << 2) ,
  BVH_LAYOUT_MULTI_OPTIX = (1 << 3) , BVH_LAYOUT_MULTI_OPTIX_EMBREE = (1 << 4) , BVH_LAYOUT_METAL = (1 << 5) , BVH_LAYOUT_MULTI_METAL = (1 << 6) ,
  BVH_LAYOUT_MULTI_METAL_EMBREE = (1 << 7) , BVH_LAYOUT_HIPRT = (1 << 8) , BVH_LAYOUT_MULTI_HIPRT = (1 << 9) , BVH_LAYOUT_MULTI_HIPRT_EMBREE = (1 << 10) ,
  BVH_LAYOUT_EMBREEGPU = (1 << 11) , BVH_LAYOUT_MULTI_EMBREEGPU = (1 << 12) , BVH_LAYOUT_MULTI_EMBREEGPU_EMBREE = (1 << 13) , BVH_LAYOUT_AUTO = BVH_LAYOUT_EMBREE ,
  BVH_LAYOUT_ALL
}
enum  LightTreeNodeType : uint8_t { LIGHT_TREE_INSTANCE = (1 << 0) , LIGHT_TREE_INNER = (1 << 1) , LIGHT_TREE_LEAF = (1 << 2) , LIGHT_TREE_DISTANT = (1 << 3) }
enum  DeviceKernel : int {
  DEVICE_KERNEL_INTEGRATOR_INIT_FROM_CAMERA = 0 , DEVICE_KERNEL_INTEGRATOR_INIT_FROM_BAKE , DEVICE_KERNEL_INTEGRATOR_INTERSECT_CLOSEST , DEVICE_KERNEL_INTEGRATOR_INTERSECT_SHADOW ,
  DEVICE_KERNEL_INTEGRATOR_INTERSECT_SUBSURFACE , DEVICE_KERNEL_INTEGRATOR_INTERSECT_VOLUME_STACK , DEVICE_KERNEL_INTEGRATOR_INTERSECT_DEDICATED_LIGHT , DEVICE_KERNEL_INTEGRATOR_SHADE_BACKGROUND ,
  DEVICE_KERNEL_INTEGRATOR_SHADE_LIGHT , DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE , DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE_RAYTRACE , DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE_MNEE ,
  DEVICE_KERNEL_INTEGRATOR_SHADE_VOLUME , DEVICE_KERNEL_INTEGRATOR_SHADE_VOLUME_RAY_MARCHING , DEVICE_KERNEL_INTEGRATOR_SHADE_SHADOW , DEVICE_KERNEL_INTEGRATOR_SHADE_DEDICATED_LIGHT ,
  DEVICE_KERNEL_INTEGRATOR_MEGAKERNEL , DEVICE_KERNEL_INTEGRATOR_QUEUED_PATHS_ARRAY , DEVICE_KERNEL_INTEGRATOR_QUEUED_SHADOW_PATHS_ARRAY , DEVICE_KERNEL_INTEGRATOR_ACTIVE_PATHS_ARRAY ,
  DEVICE_KERNEL_INTEGRATOR_TERMINATED_PATHS_ARRAY , DEVICE_KERNEL_INTEGRATOR_SORTED_PATHS_ARRAY , DEVICE_KERNEL_INTEGRATOR_SORT_BUCKET_PASS , DEVICE_KERNEL_INTEGRATOR_SORT_WRITE_PASS ,
  DEVICE_KERNEL_INTEGRATOR_COMPACT_PATHS_ARRAY , DEVICE_KERNEL_INTEGRATOR_COMPACT_STATES , DEVICE_KERNEL_INTEGRATOR_TERMINATED_SHADOW_PATHS_ARRAY , DEVICE_KERNEL_INTEGRATOR_COMPACT_SHADOW_PATHS_ARRAY ,
  DEVICE_KERNEL_INTEGRATOR_COMPACT_SHADOW_STATES , DEVICE_KERNEL_INTEGRATOR_RESET , DEVICE_KERNEL_INTEGRATOR_SHADOW_CATCHER_COUNT_POSSIBLE_SPLITS , DEVICE_KERNEL_SHADER_EVAL_DISPLACE ,
  DEVICE_KERNEL_SHADER_EVAL_BACKGROUND , DEVICE_KERNEL_SHADER_EVAL_CURVE_SHADOW_TRANSPARENCY , DEVICE_KERNEL_SHADER_EVAL_VOLUME_DENSITY , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) ,
  DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) ,
  DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) ,
  DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) ,
  DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DECLARE_FILM_CONVERT_KERNEL =(DEPTH) , DEVICE_KERNEL_ADAPTIVE_SAMPLING_CONVERGENCE_CHECK , DEVICE_KERNEL_ADAPTIVE_SAMPLING_CONVERGENCE_FILTER_X ,
  DEVICE_KERNEL_ADAPTIVE_SAMPLING_CONVERGENCE_FILTER_Y , DEVICE_KERNEL_FILTER_GUIDING_PREPROCESS , DEVICE_KERNEL_FILTER_GUIDING_SET_FAKE_ALBEDO , DEVICE_KERNEL_FILTER_COLOR_PREPROCESS ,
  DEVICE_KERNEL_FILTER_COLOR_POSTPROCESS , DEVICE_KERNEL_FILTER_COLOR_FLIP_Y , DEVICE_KERNEL_VOLUME_GUIDING_FILTER_X , DEVICE_KERNEL_VOLUME_GUIDING_FILTER_Y ,
  DEVICE_KERNEL_CRYPTOMATTE_POSTPROCESS , DEVICE_KERNEL_PREFIX_SUM , DEVICE_KERNEL_NUM
}
enum  { DEVICE_KERNEL_INTEGRATOR_NUM = DEVICE_KERNEL_INTEGRATOR_MEGAKERNEL + 1 }

Functions

struct ccl_align (16) ShaderClosure
 static_assert_align (KernelCamera, 16)
 static_assert_align (KernelFilmConvert, 16)
 static_assert_align (KernelTables, 16)
 static_assert_align (KernelBake, 16)
 static_assert_align (KernelData, 16)
 static_assert_align (KernelObject, 16)
 static_assert_align (KernelCurve, 16)
 static_assert_align (KernelCurveSegment, 8)
 static_assert_align (KernelLight, 16)
 static_assert_align (KernelLightDistribution, 16)
 static_assert_align (KernelLightTreeNode, 16)
 static_assert_align (KernelLightTreeEmitter, 16)
 static_assert_align (KernelParticle, 16)
 static_assert_align (KernelShader, 16)
 static_assert_align (KernelShaderEvalInput, 16)

Macro Definition Documentation

◆ __AO__

#define __AO__

Definition at line 168 of file device/cpu/globals.h.

◆ __BVH_LOCAL__

#define __BVH_LOCAL__

Definition at line 267 of file device/cpu/globals.h.

◆ __CAUSTICS_TRICKS__

#define __CAUSTICS_TRICKS__

Definition at line 169 of file device/cpu/globals.h.

◆ __CLAMP_SAMPLE__

#define __CLAMP_SAMPLE__

Definition at line 170 of file device/cpu/globals.h.

◆ __DENOISING_FEATURES__

#define __DENOISING_FEATURES__

Definition at line 171 of file device/cpu/globals.h.

◆ __DPDU__

#define __DPDU__

Definition at line 172 of file device/cpu/globals.h.

◆ __HAIR__

#define __HAIR__

Definition at line 173 of file device/cpu/globals.h.

◆ __LIGHT_LINKING__

#define __LIGHT_LINKING__

Definition at line 174 of file device/cpu/globals.h.

◆ __LIGHT_TREE__

#define __LIGHT_TREE__

Definition at line 176 of file device/cpu/globals.h.

◆ __MNEE__

#define __MNEE__

Definition at line 178 of file device/cpu/globals.h.

◆ __OBJECT_MOTION__

#define __OBJECT_MOTION__

Definition at line 177 of file device/cpu/globals.h.

◆ __PASSES__

#define __PASSES__

Definition at line 179 of file device/cpu/globals.h.

◆ __POINTCLOUD__

#define __POINTCLOUD__

Definition at line 180 of file device/cpu/globals.h.

◆ __PRINCIPLED_HAIR__

#define __PRINCIPLED_HAIR__

Definition at line 181 of file device/cpu/globals.h.

◆ __RAY_DIFFERENTIALS__

#define __RAY_DIFFERENTIALS__

Definition at line 182 of file device/cpu/globals.h.

◆ __SHADER_RAYTRACE__

#define __SHADER_RAYTRACE__

Definition at line 183 of file device/cpu/globals.h.

◆ __SHADOW_CATCHER__

#define __SHADOW_CATCHER__

Definition at line 184 of file device/cpu/globals.h.

◆ __SHADOW_LINKING__

#define __SHADOW_LINKING__

Definition at line 175 of file device/cpu/globals.h.

◆ __SHADOW_RECORD_ALL__

#define __SHADOW_RECORD_ALL__

Definition at line 185 of file device/cpu/globals.h.

◆ __SUBSURFACE__

#define __SUBSURFACE__

Definition at line 186 of file device/cpu/globals.h.

◆ __SVM__

#define __SVM__

Definition at line 187 of file device/cpu/globals.h.

◆ __TRANSPARENT_SHADOWS__

#define __TRANSPARENT_SHADOWS__

Definition at line 188 of file device/cpu/globals.h.

◆ __VISIBILITY_FLAG__

#define __VISIBILITY_FLAG__

Definition at line 189 of file device/cpu/globals.h.

◆ __VOLUME__

#define __VOLUME__

Definition at line 190 of file device/cpu/globals.h.

◆ __VOLUME_RECORD_ALL__

#define __VOLUME_RECORD_ALL__

Definition at line 204 of file device/cpu/globals.h.

◆ AS_SHADER_DATA

#define AS_SHADER_DATA ( shader_data_tiny_storage)
Value:
((ccl_private ShaderData *)shader_data_tiny_storage)
#define ccl_private

Definition at line 1231 of file device/cpu/globals.h.

◆ BSSRDF_MAX_BOUNCES

#define BSSRDF_MAX_BOUNCES   256

Definition at line 40 of file device/cpu/globals.h.

◆ BSSRDF_MAX_HITS

#define BSSRDF_MAX_HITS   4

Definition at line 39 of file device/cpu/globals.h.

◆ BSSRDF_MIN_RADIUS

#define BSSRDF_MIN_RADIUS   1e-8f

Definition at line 38 of file device/cpu/globals.h.

◆ CAUSTICS_MAX_CLOSURE

#define CAUSTICS_MAX_CLOSURE   4

Definition at line 961 of file device/cpu/globals.h.

◆ DECLARE_FILM_CONVERT_KERNEL

#define DECLARE_FILM_CONVERT_KERNEL ( variant)
Value:
DEVICE_KERNEL_FILM_CONVERT_##variant, DEVICE_KERNEL_FILM_CONVERT_##variant##_HALF_RGBA

Definition at line 1876 of file device/cpu/globals.h.

◆ EMITTER_NONE

#define EMITTER_NONE   (~0)

Definition at line 49 of file device/cpu/globals.h.

◆ FILTER_TABLE_SIZE

#define FILTER_TABLE_SIZE   1024

Definition at line 33 of file device/cpu/globals.h.

◆ ID_NONE

#define ID_NONE   (0.0f)

Definition at line 50 of file device/cpu/globals.h.

◆ IF_KERNEL_FEATURE

#define IF_KERNEL_FEATURE ( feature)
Value:
if constexpr ((node_feature_mask & (KERNEL_FEATURE_##feature)) != 0U)
#define U

Definition at line 162 of file device/cpu/globals.h.

◆ IF_KERNEL_NODES_FEATURE

#define IF_KERNEL_NODES_FEATURE ( feature)
Value:
if constexpr ((node_feature_mask & (KERNEL_FEATURE_NODE_##feature)) != 0U)

Definition at line 164 of file device/cpu/globals.h.

◆ INTEGRATOR_SHADOW_ISECT_SIZE

#define INTEGRATOR_SHADOW_ISECT_SIZE   INTEGRATOR_SHADOW_ISECT_SIZE_CPU

Definition at line 63 of file device/cpu/globals.h.

◆ INTEGRATOR_SHADOW_ISECT_SIZE_CPU

#define INTEGRATOR_SHADOW_ISECT_SIZE_CPU   1024U

Definition at line 57 of file device/cpu/globals.h.

◆ INTEGRATOR_SHADOW_ISECT_SIZE_GPU

#define INTEGRATOR_SHADOW_ISECT_SIZE_GPU   4U

Definition at line 58 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_AO

#define KERNEL_FEATURE_AO   (KERNEL_FEATURE_AO_PASS | KERNEL_FEATURE_AO_ADDITIVE)

Definition at line 116 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_AO_ADDITIVE

#define KERNEL_FEATURE_AO_ADDITIVE   (1U << 23U)

Definition at line 115 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_AO_PASS

#define KERNEL_FEATURE_AO_PASS   (1U << 22U)

Definition at line 114 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_BAKING

#define KERNEL_FEATURE_BAKING   (1U << 16U)

Definition at line 96 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_DENOISING

#define KERNEL_FEATURE_DENOISING   (1U << 30U)

Definition at line 133 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_HAIR

#define KERNEL_FEATURE_HAIR   (KERNEL_FEATURE_HAIR_RIBBON | KERNEL_FEATURE_HAIR_THICK)

Definition at line 92 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_HAIR_RIBBON

#define KERNEL_FEATURE_HAIR_RIBBON   (1U << 13U)

Definition at line 90 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_HAIR_THICK

#define KERNEL_FEATURE_HAIR_THICK   (1U << 14U)

Definition at line 91 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_LIGHT_LINKING

#define KERNEL_FEATURE_LIGHT_LINKING   (1U << 28U)

Definition at line 129 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_LIGHT_PASSES

#define KERNEL_FEATURE_LIGHT_PASSES   (1U << 21U)

Definition at line 111 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_LIGHT_TREE

#define KERNEL_FEATURE_LIGHT_TREE   (1U << 31U)

Definition at line 136 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_MNEE

#define KERNEL_FEATURE_MNEE   (1U << 24U)

Definition at line 119 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_NODE_AOV

#define KERNEL_FEATURE_NODE_AOV   (1U << 7U)

Definition at line 80 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_NODE_BSDF

#define KERNEL_FEATURE_NODE_BSDF   (1U << 0U)

Definition at line 73 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_NODE_BUMP

#define KERNEL_FEATURE_NODE_BUMP   (1U << 3U)

Definition at line 76 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_NODE_BUMP_STATE

#define KERNEL_FEATURE_NODE_BUMP_STATE   (1U << 4U)

Definition at line 77 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_NODE_EMISSION

#define KERNEL_FEATURE_NODE_EMISSION   (1U << 1U)

Definition at line 74 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_NODE_LIGHT_PATH

#define KERNEL_FEATURE_NODE_LIGHT_PATH   (1U << 8U)

Definition at line 81 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_NODE_MASK_BUMP

#define KERNEL_FEATURE_NODE_MASK_BUMP   KERNEL_FEATURE_NODE_MASK_DISPLACEMENT

Definition at line 160 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_NODE_MASK_DISPLACEMENT

#define KERNEL_FEATURE_NODE_MASK_DISPLACEMENT
Value:
#define KERNEL_FEATURE_NODE_PORTAL
#define KERNEL_FEATURE_NODE_BUMP_STATE
#define KERNEL_FEATURE_NODE_VORONOI_EXTRA
#define KERNEL_FEATURE_NODE_BUMP

Definition at line 157 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_NODE_MASK_SURFACE

#define KERNEL_FEATURE_NODE_MASK_SURFACE
Value:
#define KERNEL_FEATURE_NODE_MASK_SURFACE_SHADOW
#define KERNEL_FEATURE_NODE_LIGHT_PATH
#define KERNEL_FEATURE_NODE_RAYTRACE
#define KERNEL_FEATURE_NODE_AOV

Definition at line 150 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_NODE_MASK_SURFACE_BACKGROUND

#define KERNEL_FEATURE_NODE_MASK_SURFACE_BACKGROUND   (KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT | KERNEL_FEATURE_NODE_AOV)

Definition at line 143 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT

#define KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT

◆ KERNEL_FEATURE_NODE_MASK_SURFACE_SHADOW

◆ KERNEL_FEATURE_NODE_MASK_VOLUME

#define KERNEL_FEATURE_NODE_MASK_VOLUME

◆ KERNEL_FEATURE_NODE_PORTAL

#define KERNEL_FEATURE_NODE_PORTAL   (1U << 10U)

Definition at line 83 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_NODE_PRINCIPLED_HAIR

#define KERNEL_FEATURE_NODE_PRINCIPLED_HAIR   (1U << 9U)

Definition at line 82 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_NODE_RAYTRACE

#define KERNEL_FEATURE_NODE_RAYTRACE   (1U << 6U)

Definition at line 79 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_NODE_VOLUME

#define KERNEL_FEATURE_NODE_VOLUME   (1U << 2U)

Definition at line 75 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_NODE_VORONOI_EXTRA

#define KERNEL_FEATURE_NODE_VORONOI_EXTRA   (1U << 5U)

Definition at line 78 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_OBJECT_MOTION

#define KERNEL_FEATURE_OBJECT_MOTION   (1U << 15U)

Definition at line 93 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_OSL_CAMERA

#define KERNEL_FEATURE_OSL_CAMERA   (1U << 27U)

Definition at line 126 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_OSL_SHADING

#define KERNEL_FEATURE_OSL_SHADING   (1U << 26U)

Definition at line 125 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_PATH_GUIDING

#define KERNEL_FEATURE_PATH_GUIDING   (1U << 25U)

Definition at line 122 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_PATH_TRACING

#define KERNEL_FEATURE_PATH_TRACING   (1U << 11U)

Definition at line 86 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_POINTCLOUD

#define KERNEL_FEATURE_POINTCLOUD   (1U << 12U)

Definition at line 89 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_SHADOW_CATCHER

#define KERNEL_FEATURE_SHADOW_CATCHER   (1U << 20U)

Definition at line 108 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_SHADOW_LINKING

#define KERNEL_FEATURE_SHADOW_LINKING   (1U << 29U)

Definition at line 130 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_SUBSURFACE

#define KERNEL_FEATURE_SUBSURFACE   (1U << 17U)

Definition at line 99 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_TRANSPARENT

#define KERNEL_FEATURE_TRANSPARENT   (1U << 19U)

Definition at line 105 of file device/cpu/globals.h.

◆ KERNEL_FEATURE_VOLUME

#define KERNEL_FEATURE_VOLUME   (1U << 18U)

Definition at line 102 of file device/cpu/globals.h.

◆ KERNEL_STRUCT_BEGIN [1/2]

#define KERNEL_STRUCT_BEGIN ( name,
parent )
Value:
name parent;
const char * name

Definition at line 1431 of file device/cpu/globals.h.

◆ KERNEL_STRUCT_BEGIN [2/2]

#define KERNEL_STRUCT_BEGIN ( name,
parent )
Value:
struct ccl_align(16) name {
#define ccl_align(...)

Definition at line 1431 of file device/cpu/globals.h.

◆ KERNEL_STRUCT_END

#define KERNEL_STRUCT_END ( name)
Value:
} \
; \
static_assert_align(name, 16);

Definition at line 1432 of file device/cpu/globals.h.

◆ KERNEL_STRUCT_MEMBER

#define KERNEL_STRUCT_MEMBER ( parent,
type,
name )
Value:
type name;

Definition at line 1440 of file device/cpu/globals.h.

◆ KERNEL_STRUCT_MEMBER_DONT_SPECIALIZE

#define KERNEL_STRUCT_MEMBER_DONT_SPECIALIZE

◆ LAMP_NONE

#define LAMP_NONE   (~0)

Definition at line 48 of file device/cpu/globals.h.

◆ LIGHT_LINK_MASK_ALL

#define LIGHT_LINK_MASK_ALL   (~uint64_t(0))

Definition at line 55 of file device/cpu/globals.h.

◆ LIGHT_LINK_SET_MAX

#define LIGHT_LINK_SET_MAX   64

Definition at line 54 of file device/cpu/globals.h.

◆ LIGHTGROUP_NONE

#define LIGHTGROUP_NONE   (~0)

Definition at line 52 of file device/cpu/globals.h.

◆ LOCAL_MAX_HITS

#define LOCAL_MAX_HITS   4

Definition at line 41 of file device/cpu/globals.h.

◆ MAX_CLOSURE

#define MAX_CLOSURE   64

Definition at line 950 of file device/cpu/globals.h.

◆ MAX_TAB_SOBOL_SAMPLES

#define MAX_TAB_SOBOL_SAMPLES   8192

Definition at line 1823 of file device/cpu/globals.h.

◆ MAX_VOLUME_CLOSURE

#define MAX_VOLUME_CLOSURE   8

Definition at line 972 of file device/cpu/globals.h.

◆ MAX_VOLUME_STACK_SIZE

#define MAX_VOLUME_STACK_SIZE   32

Definition at line 967 of file device/cpu/globals.h.

◆ MIN_TAB_SOBOL_SAMPLES

#define MIN_TAB_SOBOL_SAMPLES   256

Definition at line 1822 of file device/cpu/globals.h.

◆ NUM_TAB_SOBOL_DIMENSIONS

#define NUM_TAB_SOBOL_DIMENSIONS   4

Definition at line 1824 of file device/cpu/globals.h.

◆ NUM_TAB_SOBOL_PATTERNS

#define NUM_TAB_SOBOL_PATTERNS   256

Definition at line 1825 of file device/cpu/globals.h.

◆ OBJECT_MOTION_PASS_SIZE

#define OBJECT_MOTION_PASS_SIZE   2

Definition at line 32 of file device/cpu/globals.h.

◆ OBJECT_NONE

#define OBJECT_NONE   (~0)

Definition at line 46 of file device/cpu/globals.h.

◆ PASS_ANY

#define PASS_ANY   (~0)

Definition at line 583 of file device/cpu/globals.h.

◆ PASS_NAME_JOIN

#define PASS_NAME_JOIN ( a,
b )
Value:

Definition at line 493 of file device/cpu/globals.h.

◆ PASS_UNUSED

#define PASS_UNUSED   (~0)

Definition at line 51 of file device/cpu/globals.h.

◆ PASSMASK

#define PASSMASK ( pass)
Value:
(1 << ((PASS_NAME_JOIN(PASS, pass)) % 32))
#define PASS_NAME_JOIN(a, b)

Definition at line 494 of file device/cpu/globals.h.

◆ PATCH_MAP_NODE_INDEX_MASK

#define PATCH_MAP_NODE_INDEX_MASK   (~(PATCH_MAP_NODE_IS_SET | PATCH_MAP_NODE_IS_LEAF))

Definition at line 1784 of file device/cpu/globals.h.

◆ PATCH_MAP_NODE_IS_LEAF

#define PATCH_MAP_NODE_IS_LEAF   (1u << 31)

Definition at line 1783 of file device/cpu/globals.h.

◆ PATCH_MAP_NODE_IS_SET

#define PATCH_MAP_NODE_IS_SET   (1 << 30)

Definition at line 1782 of file device/cpu/globals.h.

◆ PATCH_MAX_CONTROL_VERTS

#define PATCH_MAX_CONTROL_VERTS   16

Definition at line 1778 of file device/cpu/globals.h.

◆ PRIM_NONE

#define PRIM_NONE   (~0)

Definition at line 47 of file device/cpu/globals.h.

◆ PRIMITIVE_INDEX

#define PRIMITIVE_INDEX ( type)
Value:
(bitscan((uint32_t)(type)) * 2 + (((type) & PRIMITIVE_MOTION) ? 1 : 0))
@ PRIMITIVE_MOTION
__forceinline uint32_t bitscan(const uint32_t value)
Definition simd.h:449

Definition at line 848 of file device/cpu/globals.h.

◆ PRIMITIVE_PACK_SEGMENT

#define PRIMITIVE_PACK_SEGMENT ( type,
segment )
Value:
((segment << PRIMITIVE_NUM_BITS) | (type))
@ PRIMITIVE_NUM_BITS

Definition at line 852 of file device/cpu/globals.h.

◆ PRIMITIVE_UNPACK_SEGMENT

#define PRIMITIVE_UNPACK_SEGMENT ( type)
Value:

Definition at line 853 of file device/cpu/globals.h.

◆ RAMP_TABLE_SIZE

#define RAMP_TABLE_SIZE   256

Definition at line 34 of file device/cpu/globals.h.

◆ SHADER_CLOSURE_BASE

#define SHADER_CLOSURE_BASE
Value:
Spectrum weight; \
ClosureType type; \
float sample_weight; \
ClosureType
#define N
float3 Spectrum

Definition at line 988 of file device/cpu/globals.h.

◆ SHADER_CLOSURE_VOLUME_BASE

#define SHADER_CLOSURE_VOLUME_BASE
Value:
Spectrum weight; \
ClosureType type; \
float sample_weight

Definition at line 998 of file device/cpu/globals.h.

◆ SHADER_NODE_TYPE

#define SHADER_NODE_TYPE ( type)
Value:
KERNEL_STRUCT_MEMBER(svm_usage, int, type)
#define KERNEL_STRUCT_MEMBER(parent_struct, type, name, feature)

◆ SHADER_NONE

#define SHADER_NONE   (~0)

Definition at line 45 of file device/cpu/globals.h.

◆ SHADOW_CATCHER_OBJECT_VISIBILITY

#define SHADOW_CATCHER_OBJECT_VISIBILITY ( is_shadow_catcher,
visibility )
Value:
(((is_shadow_catcher) ? SHADOW_CATCHER_VISIBILITY_SHIFT(visibility) : 0) | (visibility))
#define SHADOW_CATCHER_VISIBILITY_SHIFT(visibility)

Definition at line 472 of file device/cpu/globals.h.

◆ SHADOW_CATCHER_PATH_VISIBILITY

#define SHADOW_CATCHER_PATH_VISIBILITY ( path_flag,
visibility )
Value:
(visibility))
@ PATH_RAY_SHADOW_CATCHER_PASS

Definition at line 468 of file device/cpu/globals.h.

◆ SHADOW_CATCHER_VISIBILITY_SHIFT

#define SHADOW_CATCHER_VISIBILITY_SHIFT ( visibility)
Value:
((visibility) << 16)

Definition at line 466 of file device/cpu/globals.h.

◆ SHUTTER_TABLE_SIZE

#define SHUTTER_TABLE_SIZE   256

Definition at line 35 of file device/cpu/globals.h.

◆ THIN_FILM_TABLE_SIZE

#define THIN_FILM_TABLE_SIZE   512

Definition at line 36 of file device/cpu/globals.h.

◆ VOLUME_BOUNDS_MAX

#define VOLUME_BOUNDS_MAX   1024

Definition at line 43 of file device/cpu/globals.h.

◆ VOLUME_OCTREE_MAX_DEPTH

#define VOLUME_OCTREE_MAX_DEPTH   7

Definition at line 974 of file device/cpu/globals.h.

Typedef Documentation

◆ ShaderDataCausticsStorage

using ShaderDataCausticsStorage = ShaderData

Definition at line 1228 of file kernel/types.h.

◆ ShaderDataTinyStorage

using ShaderDataTinyStorage = ShaderData

Definition at line 1227 of file kernel/types.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
DEVICE_KERNEL_INTEGRATOR_NUM 

Definition at line 1916 of file kernel/types.h.

◆ AttributeElement

Enumerator
ATTR_ELEMENT_NONE 
ATTR_ELEMENT_OBJECT 
ATTR_ELEMENT_MESH 
ATTR_ELEMENT_FACE 
ATTR_ELEMENT_VERTEX 
ATTR_ELEMENT_VERTEX_MOTION 
ATTR_ELEMENT_CORNER 
ATTR_ELEMENT_CORNER_BYTE 
ATTR_ELEMENT_CURVE 
ATTR_ELEMENT_CURVE_KEY 
ATTR_ELEMENT_CURVE_KEY_MOTION 
ATTR_ELEMENT_VOXEL 

Definition at line 872 of file kernel/types.h.

◆ AttributeFlag

Enumerator
ATTR_SUBDIVIDE_SMOOTH_FVAR 

Definition at line 927 of file kernel/types.h.

◆ AttributePrimitive

Enumerator
ATTR_PRIM_GEOMETRY 
ATTR_PRIM_SUBD 
ATTR_PRIM_TYPES 

Definition at line 865 of file kernel/types.h.

◆ AttributeStandard

Enumerator
ATTR_STD_NONE 
ATTR_STD_VERTEX_NORMAL 
ATTR_STD_UV 
ATTR_STD_UV_TANGENT 
ATTR_STD_UV_TANGENT_SIGN 
ATTR_STD_UV_TANGENT_UNDISPLACED 
ATTR_STD_UV_TANGENT_SIGN_UNDISPLACED 
ATTR_STD_VERTEX_COLOR 
ATTR_STD_GENERATED 
ATTR_STD_GENERATED_TRANSFORM 
ATTR_STD_POSITION_UNDEFORMED 
ATTR_STD_POSITION_UNDISPLACED 
ATTR_STD_NORMAL_UNDISPLACED 
ATTR_STD_MOTION_VERTEX_POSITION 
ATTR_STD_MOTION_VERTEX_NORMAL 
ATTR_STD_PARTICLE 
ATTR_STD_CURVE_INTERCEPT 
ATTR_STD_CURVE_LENGTH 
ATTR_STD_CURVE_RANDOM 
ATTR_STD_POINT_RANDOM 
ATTR_STD_PTEX_FACE_ID 
ATTR_STD_PTEX_UV 
ATTR_STD_VOLUME_DENSITY 
ATTR_STD_VOLUME_COLOR 
ATTR_STD_VOLUME_FLAME 
ATTR_STD_VOLUME_HEAT 
ATTR_STD_VOLUME_TEMPERATURE 
ATTR_STD_VOLUME_VELOCITY 
ATTR_STD_VOLUME_VELOCITY_X 
ATTR_STD_VOLUME_VELOCITY_Y 
ATTR_STD_VOLUME_VELOCITY_Z 
ATTR_STD_POINTINESS 
ATTR_STD_RANDOM_PER_ISLAND 
ATTR_STD_SHADOW_TRANSPARENCY 
ATTR_STD_NUM 
ATTR_STD_NOT_FOUND 

Definition at line 887 of file kernel/types.h.

◆ CameraType

enum CameraType
Enumerator
CAMERA_PERSPECTIVE 
CAMERA_ORTHOGRAPHIC 
CAMERA_PANORAMA 
CAMERA_CUSTOM 

Definition at line 674 of file kernel/types.h.

◆ ClosureLabel

Enumerator
LABEL_NONE 
LABEL_TRANSMIT 
LABEL_REFLECT 
LABEL_DIFFUSE 
LABEL_GLOSSY 
LABEL_SINGULAR 
LABEL_TRANSPARENT 
LABEL_VOLUME_SCATTER 
LABEL_TRANSMIT_TRANSPARENT 
LABEL_SUBSURFACE_SCATTER 
LABEL_RAY_PORTAL 

Definition at line 477 of file kernel/types.h.

◆ CryptomatteType

Enumerator
CRYPT_NONE 
CRYPT_OBJECT 
CRYPT_MATERIAL 
CRYPT_ASSET 
CRYPT_ACCURATE 

Definition at line 585 of file kernel/types.h.

◆ CurveShapeType

Enumerator
CURVE_RIBBON 
CURVE_THICK 
CURVE_THICK_LINEAR 
CURVE_NUM_SHAPE_TYPES 

Definition at line 855 of file kernel/types.h.

◆ DeviceKernel

enum DeviceKernel : int
Enumerator
DEVICE_KERNEL_INTEGRATOR_INIT_FROM_CAMERA 
DEVICE_KERNEL_INTEGRATOR_INIT_FROM_BAKE 
DEVICE_KERNEL_INTEGRATOR_INTERSECT_CLOSEST 
DEVICE_KERNEL_INTEGRATOR_INTERSECT_SHADOW 
DEVICE_KERNEL_INTEGRATOR_INTERSECT_SUBSURFACE 
DEVICE_KERNEL_INTEGRATOR_INTERSECT_VOLUME_STACK 
DEVICE_KERNEL_INTEGRATOR_INTERSECT_DEDICATED_LIGHT 
DEVICE_KERNEL_INTEGRATOR_SHADE_BACKGROUND 
DEVICE_KERNEL_INTEGRATOR_SHADE_LIGHT 
DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE 
DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE_RAYTRACE 
DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE_MNEE 
DEVICE_KERNEL_INTEGRATOR_SHADE_VOLUME 
DEVICE_KERNEL_INTEGRATOR_SHADE_VOLUME_RAY_MARCHING 
DEVICE_KERNEL_INTEGRATOR_SHADE_SHADOW 
DEVICE_KERNEL_INTEGRATOR_SHADE_DEDICATED_LIGHT 
DEVICE_KERNEL_INTEGRATOR_MEGAKERNEL 
DEVICE_KERNEL_INTEGRATOR_QUEUED_PATHS_ARRAY 
DEVICE_KERNEL_INTEGRATOR_QUEUED_SHADOW_PATHS_ARRAY 
DEVICE_KERNEL_INTEGRATOR_ACTIVE_PATHS_ARRAY 
DEVICE_KERNEL_INTEGRATOR_TERMINATED_PATHS_ARRAY 
DEVICE_KERNEL_INTEGRATOR_SORTED_PATHS_ARRAY 
DEVICE_KERNEL_INTEGRATOR_SORT_BUCKET_PASS 
DEVICE_KERNEL_INTEGRATOR_SORT_WRITE_PASS 
DEVICE_KERNEL_INTEGRATOR_COMPACT_PATHS_ARRAY 
DEVICE_KERNEL_INTEGRATOR_COMPACT_STATES 
DEVICE_KERNEL_INTEGRATOR_TERMINATED_SHADOW_PATHS_ARRAY 
DEVICE_KERNEL_INTEGRATOR_COMPACT_SHADOW_PATHS_ARRAY 
DEVICE_KERNEL_INTEGRATOR_COMPACT_SHADOW_STATES 
DEVICE_KERNEL_INTEGRATOR_RESET 
DEVICE_KERNEL_INTEGRATOR_SHADOW_CATCHER_COUNT_POSSIBLE_SPLITS 
DEVICE_KERNEL_SHADER_EVAL_DISPLACE 
DEVICE_KERNEL_SHADER_EVAL_BACKGROUND 
DEVICE_KERNEL_SHADER_EVAL_CURVE_SHADOW_TRANSPARENCY 
DEVICE_KERNEL_SHADER_EVAL_VOLUME_DENSITY 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DECLARE_FILM_CONVERT_KERNEL 
DEVICE_KERNEL_ADAPTIVE_SAMPLING_CONVERGENCE_CHECK 
DEVICE_KERNEL_ADAPTIVE_SAMPLING_CONVERGENCE_FILTER_X 
DEVICE_KERNEL_ADAPTIVE_SAMPLING_CONVERGENCE_FILTER_Y 
DEVICE_KERNEL_FILTER_GUIDING_PREPROCESS 
DEVICE_KERNEL_FILTER_GUIDING_SET_FAKE_ALBEDO 
DEVICE_KERNEL_FILTER_COLOR_PREPROCESS 
DEVICE_KERNEL_FILTER_COLOR_POSTPROCESS 
DEVICE_KERNEL_FILTER_COLOR_FLIP_Y 
DEVICE_KERNEL_VOLUME_GUIDING_FILTER_X 
DEVICE_KERNEL_VOLUME_GUIDING_FILTER_Y 
DEVICE_KERNEL_CRYPTOMATTE_POSTPROCESS 
DEVICE_KERNEL_PREFIX_SUM 
DEVICE_KERNEL_NUM 

Definition at line 1837 of file kernel/types.h.

◆ DirectLightSamplingType

Enumerator
DIRECT_LIGHT_SAMPLING_MIS 
DIRECT_LIGHT_SAMPLING_FORWARD 
DIRECT_LIGHT_SAMPLING_NEE 
DIRECT_LIGHT_SAMPLING_NUM 

Definition at line 703 of file kernel/types.h.

◆ EmissionSampling

Enumerator
EMISSION_SAMPLING_NONE 
EMISSION_SAMPLING_AUTO 
EMISSION_SAMPLING_FRONT 
EMISSION_SAMPLING_BACK 
EMISSION_SAMPLING_FRONT_BACK 
EMISSION_SAMPLING_NUM 

Definition at line 631 of file kernel/types.h.

◆ FilterClosures

Enumerator
FILTER_CLOSURE_EMISSION 
FILTER_CLOSURE_DIFFUSE 
FILTER_CLOSURE_GLOSSY 
FILTER_CLOSURE_TRANSMISSION 
FILTER_CLOSURE_TRANSPARENT 
FILTER_CLOSURE_DIRECT_LIGHT 

Definition at line 601 of file kernel/types.h.

◆ GuidingDirectionalSamplingType

Enumerator
GUIDING_DIRECTIONAL_SAMPLING_TYPE_PRODUCT_MIS 
GUIDING_DIRECTIONAL_SAMPLING_TYPE_RIS 
GUIDING_DIRECTIONAL_SAMPLING_TYPE_ROUGHNESS 
GUIDING_DIRECTIONAL_SAMPLING_NUM_TYPES 

Definition at line 664 of file kernel/types.h.

◆ GuidingDistributionType

Enumerator
GUIDING_TYPE_PARALLAX_AWARE_VMM 
GUIDING_TYPE_DIRECTIONAL_QUAD_TREE 
GUIDING_TYPE_VMM 
GUIDING_NUM_TYPES 

Definition at line 654 of file kernel/types.h.

◆ KernelBVHLayout

Enumerator
BVH_LAYOUT_NONE 
BVH_LAYOUT_BVH2 
BVH_LAYOUT_EMBREE 
BVH_LAYOUT_OPTIX 
BVH_LAYOUT_MULTI_OPTIX 
BVH_LAYOUT_MULTI_OPTIX_EMBREE 
BVH_LAYOUT_METAL 
BVH_LAYOUT_MULTI_METAL 
BVH_LAYOUT_MULTI_METAL_EMBREE 
BVH_LAYOUT_HIPRT 
BVH_LAYOUT_MULTI_HIPRT 
BVH_LAYOUT_MULTI_HIPRT_EMBREE 
BVH_LAYOUT_EMBREEGPU 
BVH_LAYOUT_MULTI_EMBREEGPU 
BVH_LAYOUT_MULTI_EMBREEGPU_EMBREE 
BVH_LAYOUT_AUTO 
BVH_LAYOUT_ALL 

Definition at line 1404 of file kernel/types.h.

◆ LightTreeNodeType

enum LightTreeNodeType : uint8_t
Enumerator
LIGHT_TREE_INSTANCE 
LIGHT_TREE_INNER 
LIGHT_TREE_LEAF 
LIGHT_TREE_DISTANT 

Definition at line 1651 of file kernel/types.h.

◆ LightType

enum LightType
Enumerator
LIGHT_POINT 
LIGHT_DISTANT 
LIGHT_BACKGROUND 
LIGHT_AREA 
LIGHT_SPOT 
LIGHT_TRIANGLE 

Definition at line 643 of file kernel/types.h.

◆ MotionPosition

Enumerator
MOTION_POSITION_START 
MOTION_POSITION_CENTER 
MOTION_POSITION_END 
MOTION_NUM_POSITIONS 

Definition at line 690 of file kernel/types.h.

◆ PanoramaType

Enumerator
PANORAMA_EQUIRECTANGULAR 
PANORAMA_FISHEYE_EQUIDISTANT 
PANORAMA_FISHEYE_EQUISOLID 
PANORAMA_MIRRORBALL 
PANORAMA_FISHEYE_LENS_POLYNOMIAL 
PANORAMA_EQUIANGULAR_CUBEMAP_FACE 
PANORAMA_CENTRAL_CYLINDRICAL 
PANORAMA_NUM_TYPES 

Definition at line 678 of file kernel/types.h.

◆ PassType

enum PassType
Enumerator
PASS_NONE 
PASS_COMBINED 
PASS_EMISSION 
PASS_BACKGROUND 
PASS_AO 
PASS_DIFFUSE 
PASS_DIFFUSE_DIRECT 
PASS_DIFFUSE_INDIRECT 
PASS_GLOSSY 
PASS_GLOSSY_DIRECT 
PASS_GLOSSY_INDIRECT 
PASS_TRANSMISSION 
PASS_TRANSMISSION_DIRECT 
PASS_TRANSMISSION_INDIRECT 
PASS_VOLUME 
PASS_VOLUME_DIRECT 
PASS_VOLUME_INDIRECT 
PASS_VOLUME_SCATTER 
PASS_VOLUME_TRANSMIT 
PASS_CATEGORY_LIGHT_END 
PASS_DEPTH 
PASS_POSITION 
PASS_NORMAL 
PASS_ROUGHNESS 
PASS_UV 
PASS_OBJECT_ID 
PASS_MATERIAL_ID 
PASS_MOTION 
PASS_MOTION_WEIGHT 
PASS_CRYPTOMATTE 
PASS_AOV_COLOR 
PASS_AOV_VALUE 
PASS_ADAPTIVE_AUX_BUFFER 
PASS_SAMPLE_COUNT 
PASS_DIFFUSE_COLOR 
PASS_GLOSSY_COLOR 
PASS_TRANSMISSION_COLOR 
PASS_MIST 
PASS_DENOISING_NORMAL 
PASS_DENOISING_ALBEDO 
PASS_DENOISING_DEPTH 
PASS_DENOISING_PREVIOUS 
PASS_RENDER_TIME 
PASS_SHADOW_CATCHER 
PASS_SHADOW_CATCHER_SAMPLE_COUNT 
PASS_SHADOW_CATCHER_MATTE 
PASS_GUIDING_COLOR 
PASS_GUIDING_PROBABILITY 
PASS_GUIDING_AVG_ROUGHNESS 
PASS_VOLUME_MAJORANT 
PASS_VOLUME_MAJORANT_SAMPLE_COUNT 
PASS_CATEGORY_DATA_END 
PASS_BAKE_PRIMITIVE 
PASS_BAKE_SEED 
PASS_BAKE_DIFFERENTIAL 
PASS_CATEGORY_BAKE_END 
PASS_NUM 

Definition at line 497 of file kernel/types.h.

◆ PathRayFlag

enum PathRayFlag : uint32_t
Enumerator
PATH_RAY_CAMERA 
PATH_RAY_REFLECT 
PATH_RAY_TRANSMIT 
PATH_RAY_DIFFUSE 
PATH_RAY_GLOSSY 
PATH_RAY_SINGULAR 
PATH_RAY_TRANSPARENT 
PATH_RAY_VOLUME_SCATTER 
PATH_RAY_IMPORTANCE_BAKE 
PATH_RAY_SHADOW_OPAQUE 
PATH_RAY_SHADOW_TRANSPARENT 
PATH_RAY_SHADOW 
PATH_RAY_ALL_VISIBILITY 
PATH_RAY_NODE_UNALIGNED 
PATH_RAY_MIS_HAD_TRANSMISSION 
PATH_RAY_MIS_SKIP 
PATH_RAY_DIFFUSE_ANCESTOR 
PATH_RAY_SINGLE_PASS_DONE 
PATH_RAY_TRANSPARENT_BACKGROUND 
PATH_RAY_TERMINATE_ON_NEXT_SURFACE 
PATH_RAY_TERMINATE_IN_NEXT_VOLUME 
PATH_RAY_TERMINATE_AFTER_TRANSPARENT 
PATH_RAY_TERMINATE_AFTER_VOLUME 
PATH_RAY_TERMINATE 
PATH_RAY_EMISSION 
PATH_RAY_SUBSURFACE_RANDOM_WALK 
PATH_RAY_SUBSURFACE_DISK 
PATH_RAY_SUBSURFACE_BACKFACING 
PATH_RAY_SUBSURFACE 
PATH_RAY_DENOISING_FEATURES 
PATH_RAY_SURFACE_PASS 
PATH_RAY_VOLUME_PASS 
PATH_RAY_ANY_PASS 
PATH_RAY_SHADOW_FOR_AO 
PATH_RAY_SHADOW_CATCHER_HIT 
PATH_RAY_SHADOW_CATCHER_PASS 
PATH_RAY_SHADOW_CATCHER_BACKGROUND 
PATH_RAY_VOLUME_PRIMARY_TRANSMIT 

Definition at line 336 of file kernel/types.h.

◆ PathRayMNEE

Enumerator
PATH_MNEE_NONE 
PATH_MNEE_VALID 
PATH_MNEE_RECEIVER_ANCESTOR 
PATH_MNEE_CULL_LIGHT_CONNECTION 

Definition at line 452 of file kernel/types.h.

◆ PathTraceDimension

Enumerator
PRNG_FILTER 
PRNG_LENS_TIME 
PRNG_TERMINATE 
PRNG_LIGHT 
PRNG_LIGHT_TERMINATE 
PRNG_SURFACE_BSDF 
PRNG_SURFACE_AO 
PRNG_SURFACE_BEVEL 
PRNG_SURFACE_BSDF_GUIDING 
PRNG_SURFACE_RIS_GUIDING_0 
PRNG_SURFACE_RIS_GUIDING_1 
PRNG_VOLUME_PHASE 
PRNG_VOLUME_RESERVOIR 
PRNG_VOLUME_SCATTER_DISTANCE 
PRNG_VOLUME_EXPANSION_ORDER 
PRNG_VOLUME_SHADE_OFFSET 
PRNG_VOLUME_PHASE_GUIDING_DISTANCE 
PRNG_VOLUME_PHASE_GUIDING_EQUIANGULAR 
PRNG_VOLUME_COLOR_CHANNEL 
PRNG_VOLUME_OFFSET 
PRNG_SUBSURFACE_BSDF 
PRNG_SUBSURFACE_COLOR_CHANNEL 
PRNG_SUBSURFACE_SCATTER_DISTANCE 
PRNG_SUBSURFACE_GUIDE_STRATEGY 
PRNG_SUBSURFACE_GUIDE_DIRECTION 
PRNG_SUBSURFACE_DISK 
PRNG_SUBSURFACE_DISK_RESAMPLE 
PRNG_BAKE_VOLUME_DENSITY_EVAL 
PRNG_BOUNCE_NUM 

Definition at line 273 of file kernel/types.h.

◆ PrimitiveType

Enumerator
PRIMITIVE_NONE 
PRIMITIVE_TRIANGLE 
PRIMITIVE_CURVE_THICK 
PRIMITIVE_CURVE_RIBBON 
PRIMITIVE_CURVE_THICK_LINEAR 
PRIMITIVE_POINT 
PRIMITIVE_VOLUME 
PRIMITIVE_LAMP 
PRIMITIVE_MOTION 
PRIMITIVE_MOTION_TRIANGLE 
PRIMITIVE_MOTION_CURVE_THICK 
PRIMITIVE_MOTION_CURVE_RIBBON 
PRIMITIVE_MOTION_CURVE_THICK_LINEAR 
PRIMITIVE_MOTION_POINT 
PRIMITIVE_CURVE 
PRIMITIVE_ALL 
PRIMITIVE_NUM_SHAPES 
PRIMITIVE_NUM_BITS 
PRIMITIVE_NUM 

Definition at line 820 of file kernel/types.h.

◆ SamplingPattern

Enumerator
SAMPLING_PATTERN_SOBOL_BURLEY 
SAMPLING_PATTERN_TABULATED_SOBOL 
SAMPLING_PATTERN_BLUE_NOISE_PURE 
SAMPLING_PATTERN_BLUE_NOISE_FIRST 
SAMPLING_PATTERN_BLUE_NOISE_ROUND 
SAMPLING_PATTERN_AUTOMATIC 
SAMPLING_NUM_PATTERNS 

Definition at line 322 of file kernel/types.h.

◆ ShaderDataFlag

Enumerator
SD_BACKFACING 
SD_EMISSION 
SD_BSDF 
SD_BSDF_HAS_EVAL 
SD_BSSRDF 
SD_HOLDOUT 
SD_EXTINCTION 
SD_SCATTER 
SD_IS_VOLUME_SHADER_EVAL 
SD_TRANSPARENT 
SD_BSDF_NEEDS_LCG 
SD_BSDF_HAS_TRANSMISSION 
SD_RAY_PORTAL 
SD_CLOSURE_FLAGS 
SD_HAS_LIGHT_PATH_NODE 
SD_USE_BUMP_MAP_CORRECTION 
SD_MIS_FRONT 
SD_HAS_TRANSPARENT_SHADOW 
SD_HAS_VOLUME 
SD_HAS_ONLY_VOLUME 
SD_HETEROGENEOUS_VOLUME 
SD_HAS_BSSRDF_BUMP 
SD_VOLUME_EQUIANGULAR 
SD_VOLUME_MIS 
SD_VOLUME_CUBIC 
SD_HAS_BUMP 
SD_HAS_DISPLACEMENT 
SD_HAS_CONSTANT_EMISSION 
SD_NEED_VOLUME_ATTRIBUTES 
SD_HAS_EMISSION 
SD_HAS_RAYTRACE 
SD_MIS_BACK 
SD_SHADER_FLAGS 

Definition at line 1017 of file kernel/types.h.

◆ ShaderDataObjectFlag

Enumerator
SD_OBJECT_HOLDOUT_MASK 
SD_OBJECT_MOTION 
SD_OBJECT_TRANSFORM_APPLIED 
SD_OBJECT_NEGATIVE_SCALE 
SD_OBJECT_HAS_VOLUME 
SD_OBJECT_INTERSECTS_VOLUME 
SD_OBJECT_HAS_VERTEX_MOTION 
SD_OBJECT_SHADOW_CATCHER 
SD_OBJECT_HAS_VOLUME_ATTRIBUTES 
SD_OBJECT_CAUSTICS_CASTER 
SD_OBJECT_CAUSTICS_RECEIVER 
SD_OBJECT_HAS_VOLUME_MOTION 
SD_OBJECT_CAUSTICS 
SD_OBJECT_FLAGS 

Definition at line 1098 of file kernel/types.h.

◆ ShaderFlag

enum ShaderFlag
Enumerator
SHADER_SMOOTH_NORMAL 
SHADER_CAST_SHADOW 
SHADER_AREA_LIGHT 
SHADER_USE_MIS 
SHADER_EXCLUDE_DIFFUSE 
SHADER_EXCLUDE_GLOSSY 
SHADER_EXCLUDE_TRANSMIT 
SHADER_EXCLUDE_CAMERA 
SHADER_EXCLUDE_SCATTER 
SHADER_EXCLUDE_SHADOW_CATCHER 
SHADER_EXCLUDE_ANY 
SHADER_MASK 

Definition at line 612 of file kernel/types.h.

Function Documentation

◆ ccl_align()

struct ccl_align ( 16 )

Definition at line 27 of file kernel/types.h.

◆ static_assert_align() [1/15]

static_assert_align ( KernelBake ,
16  )

◆ static_assert_align() [2/15]

static_assert_align ( KernelCamera ,
16  )

◆ static_assert_align() [3/15]

static_assert_align ( KernelCurve ,
16  )

◆ static_assert_align() [4/15]

static_assert_align ( KernelCurveSegment ,
8  )

◆ static_assert_align() [5/15]

static_assert_align ( KernelData ,
16  )

◆ static_assert_align() [6/15]

static_assert_align ( KernelFilmConvert ,
16  )

◆ static_assert_align() [7/15]

static_assert_align ( KernelLight ,
16  )

◆ static_assert_align() [8/15]

static_assert_align ( KernelLightDistribution ,
16  )

◆ static_assert_align() [9/15]

static_assert_align ( KernelLightTreeEmitter ,
16  )

◆ static_assert_align() [10/15]

static_assert_align ( KernelLightTreeNode ,
16  )

◆ static_assert_align() [11/15]

static_assert_align ( KernelObject ,
16  )

◆ static_assert_align() [12/15]

static_assert_align ( KernelParticle ,
16  )

◆ static_assert_align() [13/15]

static_assert_align ( KernelShader ,
16  )

◆ static_assert_align() [14/15]

static_assert_align ( KernelShaderEvalInput ,
16  )

◆ static_assert_align() [15/15]

static_assert_align ( KernelTables ,
16  )