Blender  V3.3
Classes | Macros | Typedefs | Enumerations | Functions | Variables
kernel/types.h File Reference
#include "util/math.h"
#include "util/math_fast.h"
#include "util/math_intersect.h"
#include "util/projection.h"
#include "util/static_assert.h"
#include "util/texture.h"
#include "util/transform.h"
#include "kernel/svm/types.h"
#include "kernel/data_template.h"

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  KernelData
 
struct  KernelObject
 
struct  KernelCurve
 
struct  KernelCurveSegment
 
struct  KernelSpotLight
 
struct  KernelAreaLight
 
struct  KernelDistantLight
 
struct  KernelLight
 
struct  KernelLightDistribution
 
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 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 BECKMANN_TABLE_SIZE   256
 
#define SHADER_NONE   (~0)
 
#define OBJECT_NONE   (~0)
 
#define PRIM_NONE   (~0)
 
#define LAMP_NONE   (~0)
 
#define ID_NONE   (0.0f)
 
#define PASS_UNUSED   (~0)
 
#define LIGHTGROUP_NONE   (~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 __SOBOL__
 
#define __DPDU__
 
#define __BACKGROUND__
 
#define __CAUSTICS_TRICKS__
 
#define __VISIBILITY_FLAG__
 
#define __RAY_DIFFERENTIALS__
 
#define __CAMERA_CLIPPING__
 
#define __INTERSECTION_REFINE__
 
#define __CLAMP_SAMPLE__
 
#define __PATCH_EVAL__
 
#define __SHADOW_CATCHER__
 
#define __DENOISING_FEATURES__
 
#define __SHADER_RAYTRACE__
 
#define __AO__
 
#define __PASSES__
 
#define __HAIR__
 
#define __POINTCLOUD__
 
#define __SVM__
 
#define __EMISSION__
 
#define __HOLDOUT__
 
#define __TRANSPARENT_SHADOWS__
 
#define __BACKGROUND_MIS__
 
#define __LAMP_MIS__
 
#define __CAMERA_MOTION__
 
#define __OBJECT_MOTION__
 
#define __PRINCIPLED__
 
#define __SUBSURFACE__
 
#define __VOLUME__
 
#define __CMJ__
 
#define __SHADOW_RECORD_ALL__
 
#define __BRANCHED_PATH__
 
#define __VOLUME_RECORD_ALL__
 
#define __MNEE__
 
#define __BVH_LOCAL__
 
#define SHADOW_CATCHER_VISIBILITY_SHIFT(visibility)   ((visibility) << 16)
 
#define SHADOW_CATCHER_PATH_VISIBILITY(path_flag, visibility)
 
#define SHADOW_CATCHER_OBJECT_VISIBILITY(is_shadow_catcher, visibility)    (((is_shadow_catcher) ? SHADOW_CATCHER_VISIBILITY_SHIFT(visibility) : 0) | (visibility))
 
#define PASS_NAME_JOIN(a, b)   a##_##b
 
#define PASSMASK(pass)   (1 << ((PASS_NAME_JOIN(PASS, pass)) % 32))
 
#define PASS_ANY   (~0)
 
#define PRIMITIVE_INDEX(type)   (bitscan((uint32_t)(type)) * 2 + (((type)&PRIMITIVE_MOTION) ? 1 : 0))
 
#define PRIMITIVE_PACK_SEGMENT(type, segment)   ((segment << PRIMITIVE_NUM_BITS) | (type))
 
#define PRIMITIVE_UNPACK_SEGMENT(type)   (type >> PRIMITIVE_NUM_BITS)
 
#define MAX_CLOSURE   64
 
#define CAUSTICS_MAX_CLOSURE   4
 
#define MAX_VOLUME_STACK_SIZE   32
 
#define MAX_VOLUME_CLOSURE   8
 
#define SHADER_CLOSURE_BASE
 
#define AS_SHADER_DATA(shader_data_tiny_storage)    ((ccl_private ShaderData *)shader_data_tiny_storage)
 
#define KERNEL_STRUCT_BEGIN(name, parent)   struct name {
 
#define KERNEL_STRUCT_END(name)
 
#define KERNEL_STRUCT_MEMBER(parent, type, name)   type name;
 
#define KERNEL_STRUCT_BEGIN(name, parent)   name parent;
 
#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 NUM_PMJ_DIVISIONS   32
 
#define NUM_PMJ_SAMPLES   ((NUM_PMJ_DIVISIONS) * (NUM_PMJ_DIVISIONS))
 
#define NUM_PMJ_PATTERNS   1
 
#define DECLARE_FILM_CONVERT_KERNEL(variant)    DEVICE_KERNEL_FILM_CONVERT_##variant, DEVICE_KERNEL_FILM_CONVERT_##variant##_HALF_RGBA
 
#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    (KERNEL_FEATURE_NODE_VORONOI_EXTRA | KERNEL_FEATURE_NODE_BUMP | KERNEL_FEATURE_NODE_BUMP_STATE)
 
#define KERNEL_FEATURE_NODE_MASK_BUMP   KERNEL_FEATURE_NODE_MASK_DISPLACEMENT
 
#define IF_KERNEL_FEATURE(feature)    if constexpr ((node_feature_mask & (KERNEL_FEATURE_##feature)) != 0U)
 
#define IF_KERNEL_NODES_FEATURE(feature)    if constexpr ((node_feature_mask & (KERNEL_FEATURE_NODE_##feature)) != 0U)
 

Typedefs

typedef enum ClosureLabel ClosureLabel
 
typedef enum PassType PassType
 
typedef enum CryptomatteType CryptomatteType
 
typedef struct BsdfEval BsdfEval
 
typedef enum FilterClosures FilterClosures
 
typedef enum ShaderFlag ShaderFlag
 
typedef enum LightType LightType
 
typedef struct differential3 differential3
 
typedef struct differential differential
 
typedef struct RaySelfPrimitives RaySelfPrimitives
 
typedef struct Ray Ray
 
typedef struct Intersection Intersection
 
typedef enum PrimitiveType PrimitiveType
 
typedef enum CurveShapeType CurveShapeType
 
typedef enum AttributePrimitive AttributePrimitive
 
typedef enum AttributeElement AttributeElement
 
typedef enum AttributeStandard AttributeStandard
 
typedef enum AttributeFlag AttributeFlag
 
typedef struct AttributeDescriptor AttributeDescriptor
 
typedef struct AttributeMap AttributeMap
 
typedef struct ShaderVolumeClosure ShaderVolumeClosure
 
typedef struct ShaderVolumePhases ShaderVolumePhases
 
typedef struct VolumeStack VolumeStack
 
typedef struct LocalIntersection LocalIntersection
 
typedef struct KernelCamera KernelCamera
 
typedef struct KernelFilmConvert KernelFilmConvert
 
typedef enum KernelBVHLayout KernelBVHLayout
 
typedef struct KernelTables KernelTables
 
typedef struct KernelBake KernelBake
 
typedef struct KernelData KernelData
 
typedef struct KernelObject KernelObject
 
typedef struct KernelCurve KernelCurve
 
typedef struct KernelCurveSegment KernelCurveSegment
 
typedef struct KernelSpotLight KernelSpotLight
 
typedef struct KernelAreaLight KernelAreaLight
 
typedef struct KernelDistantLight KernelDistantLight
 
typedef struct KernelLight KernelLight
 
typedef struct KernelLightDistribution KernelLightDistribution
 
typedef struct KernelParticle KernelParticle
 
typedef struct KernelShader KernelShader
 
typedef struct KernelWorkTile KernelWorkTile
 
typedef struct KernelShaderEvalInput KernelShaderEvalInput
 
typedef enum DeviceKernel DeviceKernel
 

Enumerations

enum  PathTraceDimension {
  PRNG_FILTER_U = 0 , PRNG_FILTER_V = 1 , PRNG_LENS_U = 2 , PRNG_LENS_V = 3 ,
  PRNG_TIME = 4 , PRNG_UNUSED_0 = 5 , PRNG_UNUSED_1 = 6 , PRNG_UNUSED_2 = 7 ,
  PRNG_BASE_NUM = 10 , PRNG_BSDF_U = 0 , PRNG_BSDF_V = 1 , PRNG_LIGHT_U = 2 ,
  PRNG_LIGHT_V = 3 , PRNG_LIGHT_TERMINATE = 4 , PRNG_TERMINATE = 5 , PRNG_PHASE_CHANNEL = 6 ,
  PRNG_SCATTER_DISTANCE = 7 , PRNG_BOUNCE_NUM = 8 , PRNG_BEVEL_U = 6 , PRNG_BEVEL_V = 7
}
 
enum  SamplingPattern { SAMPLING_PATTERN_SOBOL = 0 , SAMPLING_PATTERN_PMJ = 1 , 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_SHADOW_OPAQUE = (1U << 8U) , PATH_RAY_SHADOW_TRANSPARENT = (1U << 9U) , PATH_RAY_SHADOW = (PATH_RAY_SHADOW_OPAQUE | PATH_RAY_SHADOW_TRANSPARENT) , PATH_RAY_NODE_UNALIGNED = (1U << 10U) ,
  PATH_RAY_ALL_VISIBILITY = ((1U << 11U) - 1U) , PATH_RAY_MIS_SKIP = (1U << 11U) , PATH_RAY_DIFFUSE_ANCESTOR = (1U << 12U) , PATH_RAY_SINGLE_PASS_DONE = (1U << 13U) ,
  PATH_RAY_TRANSPARENT_BACKGROUND = (1U << 14U) , PATH_RAY_TERMINATE_ON_NEXT_SURFACE = (1U << 15U) , PATH_RAY_TERMINATE_IN_NEXT_VOLUME = (1U << 16U) , PATH_RAY_TERMINATE_AFTER_TRANSPARENT = (1U << 17U) ,
  PATH_RAY_TERMINATE_AFTER_VOLUME = (1U << 18U) , PATH_RAY_TERMINATE , PATH_RAY_EMISSION = (1U << 19U) , PATH_RAY_SUBSURFACE_RANDOM_WALK = (1U << 20U) ,
  PATH_RAY_SUBSURFACE_DISK = (1U << 21U) , PATH_RAY_SUBSURFACE_USE_FRESNEL = (1U << 22U) , PATH_RAY_SUBSURFACE_BACKFACING = (1U << 23U) , PATH_RAY_SUBSURFACE ,
  PATH_RAY_DENOISING_FEATURES = (1U << 24U) , PATH_RAY_SURFACE_PASS = (1U << 25U) , PATH_RAY_VOLUME_PASS = (1U << 26U) , PATH_RAY_ANY_PASS = (PATH_RAY_SURFACE_PASS | PATH_RAY_VOLUME_PASS) ,
  PATH_RAY_SHADOW_FOR_LIGHT = (1U << 27U) , 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)
}
 
enum  PathRayMNEE { 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
}
 
enum  PassType {
  PASS_NONE = 0 , PASS_COMBINED = 1 , PASS_EMISSION , PASS_BACKGROUND ,
  PASS_AO , PASS_SHADOW , 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_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_SHADOW_CATCHER , PASS_SHADOW_CATCHER_SAMPLE_COUNT , PASS_SHADOW_CATCHER_MATTE ,
  PASS_CATEGORY_DATA_END = 63 , PASS_BAKE_PRIMITIVE , 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  LightType {
  LIGHT_POINT , LIGHT_DISTANT , LIGHT_BACKGROUND , LIGHT_AREA ,
  LIGHT_SPOT , LIGHT_TRIANGLE
}
 
enum  CameraType { CAMERA_PERSPECTIVE , CAMERA_ORTHOGRAPHIC , CAMERA_PANORAMA }
 
enum  PanoramaType {
  PANORAMA_EQUIRECTANGULAR = 0 , PANORAMA_FISHEYE_EQUIDISTANT = 1 , PANORAMA_FISHEYE_EQUISOLID = 2 , PANORAMA_MIRRORBALL = 3 ,
  PANORAMA_FISHEYE_LENS_POLYNOMIAL = 4 , 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_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_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_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_FACE_NORMAL , ATTR_STD_UV ,
  ATTR_STD_UV_TANGENT , ATTR_STD_UV_TANGENT_SIGN , ATTR_STD_VERTEX_COLOR , ATTR_STD_GENERATED ,
  ATTR_STD_GENERATED_TRANSFORM , ATTR_STD_POSITION_UNDEFORMED , ATTR_STD_POSITION_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_FINAL_SIZE = (1 << 0) , ATTR_SUBDIVIDED = (1 << 1) }
 
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_TRANSPARENT = (1 << 9) , SD_BSDF_NEEDS_LCG = (1 << 10) , SD_CLOSURE_FLAGS , SD_USE_MIS = (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_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_APPLIED = (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_AUTO = BVH_LAYOUT_EMBREE , BVH_LAYOUT_ALL = BVH_LAYOUT_BVH2 | BVH_LAYOUT_EMBREE | BVH_LAYOUT_OPTIX | BVH_LAYOUT_METAL
}
 
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_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_SHADOW , 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_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 , 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_CRYPTOMATTE_POSTPROCESS , DEVICE_KERNEL_PREFIX_SUM , DEVICE_KERNEL_NUM
}
 
enum  { DEVICE_KERNEL_INTEGRATOR_NUM = DEVICE_KERNEL_INTEGRATOR_MEGAKERNEL + 1 }
 
enum  KernelFeatureFlag : uint32_t {
  KERNEL_FEATURE_NODE_BSDF = (1U << 0U) , KERNEL_FEATURE_NODE_EMISSION = (1U << 1U) , KERNEL_FEATURE_NODE_VOLUME = (1U << 2U) , KERNEL_FEATURE_NODE_BUMP = (1U << 3U) ,
  KERNEL_FEATURE_NODE_BUMP_STATE = (1U << 4U) , KERNEL_FEATURE_NODE_VORONOI_EXTRA = (1U << 5U) , KERNEL_FEATURE_NODE_RAYTRACE = (1U << 6U) , KERNEL_FEATURE_NODE_AOV = (1U << 7U) ,
  KERNEL_FEATURE_NODE_LIGHT_PATH = (1U << 8U) , KERNEL_FEATURE_DENOISING = (1U << 9U) , KERNEL_FEATURE_PATH_TRACING = (1U << 10U) , KERNEL_FEATURE_POINTCLOUD = (1U << 11U) ,
  KERNEL_FEATURE_HAIR = (1U << 12U) , KERNEL_FEATURE_HAIR_THICK = (1U << 13U) , KERNEL_FEATURE_OBJECT_MOTION = (1U << 14U) , KERNEL_FEATURE_CAMERA_MOTION = (1U << 15U) ,
  KERNEL_FEATURE_BAKING = (1U << 16U) , KERNEL_FEATURE_SUBSURFACE = (1U << 17U) , KERNEL_FEATURE_VOLUME = (1U << 18U) , KERNEL_FEATURE_PATCH_EVALUATION = (1U << 19U) ,
  KERNEL_FEATURE_TRANSPARENT = (1U << 20U) , KERNEL_FEATURE_SHADOW_CATCHER = (1U << 21U) , KERNEL_FEATURE_PRINCIPLED = (1U << 22U) , KERNEL_FEATURE_LIGHT_PASSES = (1U << 23U) ,
  KERNEL_FEATURE_SHADOW_PASS = (1U << 24U) , KERNEL_FEATURE_AO_PASS = (1U << 25U) , KERNEL_FEATURE_AO_ADDITIVE = (1U << 26U) , KERNEL_FEATURE_AO = (KERNEL_FEATURE_AO_PASS | KERNEL_FEATURE_AO_ADDITIVE) ,
  KERNEL_FEATURE_MNEE = (1U << 27U)
}
 

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 (KernelParticle, 16)
 
 static_assert_align (KernelShader, 16)
 
 static_assert_align (KernelShaderEvalInput, 16)
 

Variables

 ShaderClosure
 
 ShaderData
 
 ShaderDataTinyStorage
 
 ShaderDataCausticsStorage
 

Macro Definition Documentation

◆ __AO__

#define __AO__

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

◆ __BACKGROUND__

#define __BACKGROUND__

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

◆ __BACKGROUND_MIS__

#define __BACKGROUND_MIS__

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

◆ __BRANCHED_PATH__

#define __BRANCHED_PATH__

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

◆ __BVH_LOCAL__

#define __BVH_LOCAL__

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

◆ __CAMERA_CLIPPING__

#define __CAMERA_CLIPPING__

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

◆ __CAMERA_MOTION__

#define __CAMERA_MOTION__

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

◆ __CAUSTICS_TRICKS__

#define __CAUSTICS_TRICKS__

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

◆ __CLAMP_SAMPLE__

#define __CLAMP_SAMPLE__

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

◆ __CMJ__

#define __CMJ__

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

◆ __DENOISING_FEATURES__

#define __DENOISING_FEATURES__

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

◆ __DPDU__

#define __DPDU__

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

◆ __EMISSION__

#define __EMISSION__

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

◆ __HAIR__

#define __HAIR__

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

◆ __HOLDOUT__

#define __HOLDOUT__

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

◆ __INTERSECTION_REFINE__

#define __INTERSECTION_REFINE__

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

◆ __LAMP_MIS__

#define __LAMP_MIS__

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

◆ __MNEE__

#define __MNEE__

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

◆ __OBJECT_MOTION__

#define __OBJECT_MOTION__

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

◆ __PASSES__

#define __PASSES__

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

◆ __PATCH_EVAL__

#define __PATCH_EVAL__

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

◆ __POINTCLOUD__

#define __POINTCLOUD__

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

◆ __PRINCIPLED__

#define __PRINCIPLED__

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

◆ __RAY_DIFFERENTIALS__

#define __RAY_DIFFERENTIALS__

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

◆ __SHADER_RAYTRACE__

#define __SHADER_RAYTRACE__

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

◆ __SHADOW_CATCHER__

#define __SHADOW_CATCHER__

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

◆ __SHADOW_RECORD_ALL__

#define __SHADOW_RECORD_ALL__

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

◆ __SOBOL__

#define __SOBOL__

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

◆ __SUBSURFACE__

#define __SUBSURFACE__

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

◆ __SVM__

#define __SVM__

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

◆ __TRANSPARENT_SHADOWS__

#define __TRANSPARENT_SHADOWS__

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

◆ __VISIBILITY_FLAG__

#define __VISIBILITY_FLAG__

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

◆ __VOLUME__

#define __VOLUME__

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

◆ __VOLUME_RECORD_ALL__

#define __VOLUME_RECORD_ALL__

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

◆ AS_SHADER_DATA

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

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

◆ BECKMANN_TABLE_SIZE

#define BECKMANN_TABLE_SIZE   256

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

◆ BSSRDF_MAX_BOUNCES

#define BSSRDF_MAX_BOUNCES   256

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

◆ BSSRDF_MAX_HITS

#define BSSRDF_MAX_HITS   4

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

◆ BSSRDF_MIN_RADIUS

#define BSSRDF_MIN_RADIUS   1e-8f

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

◆ CAUSTICS_MAX_CLOSURE

#define CAUSTICS_MAX_CLOSURE   4

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

◆ DECLARE_FILM_CONVERT_KERNEL

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

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

◆ FILTER_TABLE_SIZE

#define FILTER_TABLE_SIZE   1024

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

◆ ID_NONE

#define ID_NONE   (0.0f)

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

◆ IF_KERNEL_FEATURE

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

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

◆ IF_KERNEL_NODES_FEATURE

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

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

◆ INTEGRATOR_SHADOW_ISECT_SIZE

#define INTEGRATOR_SHADOW_ISECT_SIZE   INTEGRATOR_SHADOW_ISECT_SIZE_CPU

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

◆ INTEGRATOR_SHADOW_ISECT_SIZE_CPU

#define INTEGRATOR_SHADOW_ISECT_SIZE_CPU   1024U

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

◆ INTEGRATOR_SHADOW_ISECT_SIZE_GPU

#define INTEGRATOR_SHADOW_ISECT_SIZE_GPU   4U

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

◆ KERNEL_FEATURE_NODE_MASK_BUMP

#define KERNEL_FEATURE_NODE_MASK_BUMP   KERNEL_FEATURE_NODE_MASK_DISPLACEMENT

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

◆ KERNEL_FEATURE_NODE_MASK_DISPLACEMENT

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

◆ KERNEL_FEATURE_NODE_MASK_SURFACE

#define KERNEL_FEATURE_NODE_MASK_SURFACE
Value:
KERNEL_FEATURE_NODE_AOV | KERNEL_FEATURE_NODE_LIGHT_PATH)
#define KERNEL_FEATURE_NODE_MASK_SURFACE_SHADOW
@ KERNEL_FEATURE_NODE_LIGHT_PATH
@ KERNEL_FEATURE_NODE_RAYTRACE

Definition at line 1526 of file kernel/types.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 1520 of file kernel/types.h.

◆ KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT

#define KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT
Value:
KERNEL_FEATURE_NODE_LIGHT_PATH)
@ KERNEL_FEATURE_NODE_EMISSION
@ KERNEL_FEATURE_NODE_VORONOI_EXTRA

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

◆ KERNEL_FEATURE_NODE_MASK_SURFACE_SHADOW

#define KERNEL_FEATURE_NODE_MASK_SURFACE_SHADOW
Value:
KERNEL_FEATURE_NODE_BUMP | KERNEL_FEATURE_NODE_BUMP_STATE | \
KERNEL_FEATURE_NODE_VORONOI_EXTRA | KERNEL_FEATURE_NODE_LIGHT_PATH)
@ KERNEL_FEATURE_NODE_VOLUME
@ KERNEL_FEATURE_NODE_BSDF
@ KERNEL_FEATURE_NODE_BUMP_STATE

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

◆ KERNEL_FEATURE_NODE_MASK_VOLUME

#define KERNEL_FEATURE_NODE_MASK_VOLUME
Value:

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

◆ KERNEL_STRUCT_BEGIN [1/2]

#define KERNEL_STRUCT_BEGIN (   name,
  parent 
)    struct name {

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

◆ KERNEL_STRUCT_BEGIN [2/2]

#define KERNEL_STRUCT_BEGIN (   name,
  parent 
)    name parent;

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

◆ KERNEL_STRUCT_END

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

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

◆ KERNEL_STRUCT_MEMBER

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

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

◆ LAMP_NONE

#define LAMP_NONE   (~0)

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

◆ LIGHTGROUP_NONE

#define LIGHTGROUP_NONE   (~0)

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

◆ LOCAL_MAX_HITS

#define LOCAL_MAX_HITS   4

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

◆ MAX_CLOSURE

#define MAX_CLOSURE   64

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

◆ MAX_VOLUME_CLOSURE

#define MAX_VOLUME_CLOSURE   8

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

◆ MAX_VOLUME_STACK_SIZE

#define MAX_VOLUME_STACK_SIZE   32

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

◆ NUM_PMJ_DIVISIONS

#define NUM_PMJ_DIVISIONS   32

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

◆ NUM_PMJ_PATTERNS

#define NUM_PMJ_PATTERNS   1

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

◆ NUM_PMJ_SAMPLES

#define NUM_PMJ_SAMPLES   ((NUM_PMJ_DIVISIONS) * (NUM_PMJ_DIVISIONS))

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

◆ OBJECT_MOTION_PASS_SIZE

#define OBJECT_MOTION_PASS_SIZE   2

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

◆ OBJECT_NONE

#define OBJECT_NONE   (~0)

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

◆ PASS_ANY

#define PASS_ANY   (~0)

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

◆ PASS_NAME_JOIN

#define PASS_NAME_JOIN (   a,
 
)    a##_##b

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

◆ PASS_UNUSED

#define PASS_UNUSED   (~0)

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

◆ PASSMASK

#define PASSMASK (   pass)    (1 << ((PASS_NAME_JOIN(PASS, pass)) % 32))

Definition at line 331 of file kernel/types.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 1336 of file kernel/types.h.

◆ PATCH_MAP_NODE_IS_LEAF

#define PATCH_MAP_NODE_IS_LEAF   (1u << 31)

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

◆ PATCH_MAP_NODE_IS_SET

#define PATCH_MAP_NODE_IS_SET   (1 << 30)

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

◆ PATCH_MAX_CONTROL_VERTS

#define PATCH_MAX_CONTROL_VERTS   16

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

◆ PRIM_NONE

#define PRIM_NONE   (~0)

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

◆ PRIMITIVE_INDEX

#define PRIMITIVE_INDEX (   type)    (bitscan((uint32_t)(type)) * 2 + (((type)&PRIMITIVE_MOTION) ? 1 : 0))

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

◆ PRIMITIVE_PACK_SEGMENT

#define PRIMITIVE_PACK_SEGMENT (   type,
  segment 
)    ((segment << PRIMITIVE_NUM_BITS) | (type))

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

◆ PRIMITIVE_UNPACK_SEGMENT

#define PRIMITIVE_UNPACK_SEGMENT (   type)    (type >> PRIMITIVE_NUM_BITS)

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

◆ RAMP_TABLE_SIZE

#define RAMP_TABLE_SIZE   256

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

◆ SHADER_CLOSURE_BASE

#define SHADER_CLOSURE_BASE
Value:
float3 weight; \
ClosureType type; \
float sample_weight; \
float3 N
_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
#define N

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

◆ SHADER_NONE

#define SHADER_NONE   (~0)

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

◆ SHADOW_CATCHER_OBJECT_VISIBILITY

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

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

◆ SHADOW_CATCHER_PATH_VISIBILITY

#define SHADOW_CATCHER_PATH_VISIBILITY (   path_flag,
  visibility 
)
Value:
(visibility))
#define SHADOW_CATCHER_VISIBILITY_SHIFT(visibility)
Definition: kernel/types.h:304
@ PATH_RAY_SHADOW_CATCHER_PASS
Definition: kernel/types.h:285

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

◆ SHADOW_CATCHER_VISIBILITY_SHIFT

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

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

◆ SHUTTER_TABLE_SIZE

#define SHUTTER_TABLE_SIZE   256

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

◆ VOLUME_BOUNDS_MAX

#define VOLUME_BOUNDS_MAX   1024

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

Typedef Documentation

◆ AttributeDescriptor

◆ AttributeElement

◆ AttributeFlag

◆ AttributeMap

typedef struct AttributeMap AttributeMap

◆ AttributePrimitive

◆ AttributeStandard

◆ BsdfEval

typedef struct BsdfEval BsdfEval

◆ ClosureLabel

typedef enum ClosureLabel ClosureLabel

◆ CryptomatteType

◆ CurveShapeType

◆ DeviceKernel

typedef enum DeviceKernel DeviceKernel

◆ differential

typedef struct differential differential

◆ differential3

typedef struct differential3 differential3

◆ FilterClosures

◆ Intersection

typedef struct Intersection Intersection

◆ KernelAreaLight

◆ KernelBake

typedef struct KernelBake KernelBake

◆ KernelBVHLayout

◆ KernelCamera

typedef struct KernelCamera KernelCamera

◆ KernelCurve

typedef struct KernelCurve KernelCurve

◆ KernelCurveSegment

◆ KernelData

typedef struct KernelData KernelData

◆ KernelDistantLight

◆ KernelFilmConvert

◆ KernelLight

typedef struct KernelLight KernelLight

◆ KernelLightDistribution

◆ KernelObject

typedef struct KernelObject KernelObject

◆ KernelParticle

◆ KernelShader

typedef struct KernelShader KernelShader

◆ KernelShaderEvalInput

◆ KernelSpotLight

◆ KernelTables

typedef struct KernelTables KernelTables

◆ KernelWorkTile

◆ LightType

typedef enum LightType LightType

◆ LocalIntersection

◆ PassType

typedef enum PassType PassType

◆ PrimitiveType

◆ Ray

typedef struct Ray Ray

◆ RaySelfPrimitives

◆ ShaderFlag

typedef enum ShaderFlag ShaderFlag

◆ ShaderVolumeClosure

◆ ShaderVolumePhases

◆ VolumeStack

typedef struct VolumeStack VolumeStack

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
DEVICE_KERNEL_INTEGRATOR_NUM 

Definition at line 1448 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 597 of file kernel/types.h.

◆ AttributeFlag

Enumerator
ATTR_FINAL_SIZE 
ATTR_SUBDIVIDED 

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

◆ AttributePrimitive

Enumerator
ATTR_PRIM_GEOMETRY 
ATTR_PRIM_SUBD 
ATTR_PRIM_TYPES 

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

◆ AttributeStandard

Enumerator
ATTR_STD_NONE 
ATTR_STD_VERTEX_NORMAL 
ATTR_STD_FACE_NORMAL 
ATTR_STD_UV 
ATTR_STD_UV_TANGENT 
ATTR_STD_UV_TANGENT_SIGN 
ATTR_STD_VERTEX_COLOR 
ATTR_STD_GENERATED 
ATTR_STD_GENERATED_TRANSFORM 
ATTR_STD_POSITION_UNDEFORMED 
ATTR_STD_POSITION_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 612 of file kernel/types.h.

◆ CameraType

enum CameraType
Enumerator
CAMERA_PERSPECTIVE 
CAMERA_ORTHOGRAPHIC 
CAMERA_PANORAMA 

Definition at line 466 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 

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

◆ CryptomatteType

Enumerator
CRYPT_NONE 
CRYPT_OBJECT 
CRYPT_MATERIAL 
CRYPT_ASSET 
CRYPT_ACCURATE 

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

◆ CurveShapeType

Enumerator
CURVE_RIBBON 
CURVE_THICK 
CURVE_NUM_SHAPE_TYPES 

Definition at line 581 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_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_SHADOW 
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_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 
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_CRYPTOMATTE_POSTPROCESS 
DEVICE_KERNEL_PREFIX_SUM 
DEVICE_KERNEL_NUM 

Definition at line 1381 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 494 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 423 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_AUTO 
BVH_LAYOUT_ALL 

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

◆ KernelFeatureFlag

Enumerator
KERNEL_FEATURE_NODE_BSDF 
KERNEL_FEATURE_NODE_EMISSION 
KERNEL_FEATURE_NODE_VOLUME 
KERNEL_FEATURE_NODE_BUMP 
KERNEL_FEATURE_NODE_BUMP_STATE 
KERNEL_FEATURE_NODE_VORONOI_EXTRA 
KERNEL_FEATURE_NODE_RAYTRACE 
KERNEL_FEATURE_NODE_AOV 
KERNEL_FEATURE_NODE_LIGHT_PATH 
KERNEL_FEATURE_DENOISING 
KERNEL_FEATURE_PATH_TRACING 
KERNEL_FEATURE_POINTCLOUD 
KERNEL_FEATURE_HAIR 
KERNEL_FEATURE_HAIR_THICK 
KERNEL_FEATURE_OBJECT_MOTION 
KERNEL_FEATURE_CAMERA_MOTION 
KERNEL_FEATURE_BAKING 
KERNEL_FEATURE_SUBSURFACE 
KERNEL_FEATURE_VOLUME 
KERNEL_FEATURE_PATCH_EVALUATION 
KERNEL_FEATURE_TRANSPARENT 
KERNEL_FEATURE_SHADOW_CATCHER 
KERNEL_FEATURE_PRINCIPLED 
KERNEL_FEATURE_LIGHT_PASSES 
KERNEL_FEATURE_SHADOW_PASS 
KERNEL_FEATURE_AO_PASS 
KERNEL_FEATURE_AO_ADDITIVE 
KERNEL_FEATURE_AO 
KERNEL_FEATURE_MNEE 

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

◆ LightType

enum LightType
Enumerator
LIGHT_POINT 
LIGHT_DISTANT 
LIGHT_BACKGROUND 
LIGHT_AREA 
LIGHT_SPOT 
LIGHT_TRIANGLE 

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

◆ MotionPosition

Enumerator
MOTION_POSITION_START 
MOTION_POSITION_CENTER 
MOTION_POSITION_END 
MOTION_NUM_POSITIONS 

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

◆ PanoramaType

Enumerator
PANORAMA_EQUIRECTANGULAR 
PANORAMA_FISHEYE_EQUIDISTANT 
PANORAMA_FISHEYE_EQUISOLID 
PANORAMA_MIRRORBALL 
PANORAMA_FISHEYE_LENS_POLYNOMIAL 
PANORAMA_NUM_TYPES 

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

◆ PassType

enum PassType
Enumerator
PASS_NONE 
PASS_COMBINED 
PASS_EMISSION 
PASS_BACKGROUND 
PASS_AO 
PASS_SHADOW 
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_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_SHADOW_CATCHER 
PASS_SHADOW_CATCHER_SAMPLE_COUNT 
PASS_SHADOW_CATCHER_MATTE 
PASS_CATEGORY_DATA_END 
PASS_BAKE_PRIMITIVE 
PASS_BAKE_DIFFERENTIAL 
PASS_CATEGORY_BAKE_END 
PASS_NUM 

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

◆ PathRayFlag

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_SHADOW_OPAQUE 
PATH_RAY_SHADOW_TRANSPARENT 
PATH_RAY_SHADOW 
PATH_RAY_NODE_UNALIGNED 
PATH_RAY_ALL_VISIBILITY 
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_USE_FRESNEL 
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_LIGHT 
PATH_RAY_SHADOW_FOR_AO 
PATH_RAY_SHADOW_CATCHER_HIT 
PATH_RAY_SHADOW_CATCHER_PASS 
PATH_RAY_SHADOW_CATCHER_BACKGROUND 

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

◆ PathRayMNEE

Enumerator
PATH_MNEE_VALID 
PATH_MNEE_RECEIVER_ANCESTOR 
PATH_MNEE_CULL_LIGHT_CONNECTION 

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

◆ PathTraceDimension

Enumerator
PRNG_FILTER_U 
PRNG_FILTER_V 
PRNG_LENS_U 
PRNG_LENS_V 
PRNG_TIME 
PRNG_UNUSED_0 
PRNG_UNUSED_1 
PRNG_UNUSED_2 
PRNG_BASE_NUM 
PRNG_BSDF_U 
PRNG_BSDF_V 
PRNG_LIGHT_U 
PRNG_LIGHT_V 
PRNG_LIGHT_TERMINATE 
PRNG_TERMINATE 
PRNG_PHASE_CHANNEL 
PRNG_SCATTER_DISTANCE 
PRNG_BOUNCE_NUM 
PRNG_BEVEL_U 
PRNG_BEVEL_V 

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

◆ PrimitiveType

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

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

◆ SamplingPattern

Enumerator
SAMPLING_PATTERN_SOBOL 
SAMPLING_PATTERN_PMJ 
SAMPLING_NUM_PATTERNS 

Definition at line 178 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_TRANSPARENT 
SD_BSDF_NEEDS_LCG 
SD_CLOSURE_FLAGS 
SD_USE_MIS 
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_SHADER_FLAGS 

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

◆ ShaderDataObjectFlag

Enumerator
SD_OBJECT_HOLDOUT_MASK 
SD_OBJECT_MOTION 
SD_OBJECT_TRANSFORM_APPLIED 
SD_OBJECT_NEGATIVE_SCALE_APPLIED 
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 802 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 434 of file kernel/types.h.

Function Documentation

◆ ccl_align()

struct ccl_align ( 16  )

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

◆ static_assert_align() [1/13]

static_assert_align ( KernelBake  ,
16   
)

◆ static_assert_align() [2/13]

static_assert_align ( KernelCamera  ,
16   
)

◆ static_assert_align() [3/13]

static_assert_align ( KernelCurve  ,
16   
)

◆ static_assert_align() [4/13]

static_assert_align ( KernelCurveSegment  ,
 
)

◆ static_assert_align() [5/13]

static_assert_align ( KernelData  ,
16   
)

◆ static_assert_align() [6/13]

static_assert_align ( KernelFilmConvert  ,
16   
)

◆ static_assert_align() [7/13]

static_assert_align ( KernelLight  ,
16   
)

◆ static_assert_align() [8/13]

static_assert_align ( KernelLightDistribution  ,
16   
)

◆ static_assert_align() [9/13]

static_assert_align ( KernelObject  ,
16   
)

◆ static_assert_align() [10/13]

static_assert_align ( KernelParticle  ,
16   
)

◆ static_assert_align() [11/13]

static_assert_align ( KernelShader  ,
16   
)

◆ static_assert_align() [12/13]

static_assert_align ( KernelShaderEvalInput  ,
16   
)

◆ static_assert_align() [13/13]

static_assert_align ( KernelTables  ,
16   
)

Variable Documentation

◆ ShaderClosure

ShaderClosure

◆ ShaderData

ShaderData

◆ ShaderDataCausticsStorage

ShaderDataCausticsStorage

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

◆ ShaderDataTinyStorage

ShaderDataTinyStorage