Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/kernel_types.h
| Show First 20 Lines • Show All 323 Lines • ▼ Show 20 Lines | enum PathRayFlag { | ||||
| /* Ray is to be terminated, but continue with transparent bounces and | /* Ray is to be terminated, but continue with transparent bounces and | ||||
| * emission as long as we encounter them. This is required to make the | * emission as long as we encounter them. This is required to make the | ||||
| * MIS between direct and indirect light rays match, as shadow rays go | * MIS between direct and indirect light rays match, as shadow rays go | ||||
| * through transparent surfaces to reach emission too. */ | * through transparent surfaces to reach emission too. */ | ||||
| PATH_RAY_TERMINATE_AFTER_TRANSPARENT = (1 << 21), | PATH_RAY_TERMINATE_AFTER_TRANSPARENT = (1 << 21), | ||||
| /* Ray is to be terminated. */ | /* Ray is to be terminated. */ | ||||
| PATH_RAY_TERMINATE = (PATH_RAY_TERMINATE_IMMEDIATE | PATH_RAY_TERMINATE_AFTER_TRANSPARENT), | PATH_RAY_TERMINATE = (PATH_RAY_TERMINATE_IMMEDIATE | PATH_RAY_TERMINATE_AFTER_TRANSPARENT), | ||||
| /* Path and shader is being evaluated for direct lighting emission. */ | /* Path and shader is being evaluated for direct lighting emission. */ | ||||
| PATH_RAY_EMISSION = (1 << 22) | PATH_RAY_EMISSION = (1 << 22), | ||||
| /* Shader is being evaluated for AOV baking. */ | |||||
| PATH_RAY_BAKE_AOV = (1 << 23) | |||||
| }; | }; | ||||
| /* Closure Label */ | /* Closure Label */ | ||||
| typedef enum ClosureLabel { | typedef enum ClosureLabel { | ||||
| LABEL_NONE = 0, | LABEL_NONE = 0, | ||||
| LABEL_TRANSMIT = 1, | LABEL_TRANSMIT = 1, | ||||
| LABEL_REFLECT = 2, | LABEL_REFLECT = 2, | ||||
| ▲ Show 20 Lines • Show All 654 Lines • ▼ Show 20 Lines | #endif | ||||
| uint lcg_state; | uint lcg_state; | ||||
| /* Closure data, we store a fixed array of closures */ | /* Closure data, we store a fixed array of closures */ | ||||
| int num_closure; | int num_closure; | ||||
| int num_closure_left; | int num_closure_left; | ||||
| float randb_closure; | float randb_closure; | ||||
| float3 svm_closure_weight; | float3 svm_closure_weight; | ||||
| #ifdef __BAKING__ | |||||
| /* Used to store the AOV color/value during AOV baking. */ | |||||
| float aov_value[3]; | |||||
| #endif | |||||
| /* Closure weights summed directly, so we can evaluate | /* Closure weights summed directly, so we can evaluate | ||||
| * emission and shadow transparency with MAX_CLOSURE 0. */ | * emission and shadow transparency with MAX_CLOSURE 0. */ | ||||
| float3 closure_emission_background; | float3 closure_emission_background; | ||||
| float3 closure_transparent_extinction; | float3 closure_transparent_extinction; | ||||
| /* At the end so we can adjust size in ShaderDataTinyStorage. */ | /* At the end so we can adjust size in ShaderDataTinyStorage. */ | ||||
| struct ShaderClosure closure[MAX_CLOSURE]; | struct ShaderClosure closure[MAX_CLOSURE]; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 679 Lines • Show Last 20 Lines | |||||