Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/integrator/surface_shader.h
| Show First 20 Lines • Show All 821 Lines • ▼ Show 20 Lines | ccl_device void surface_shader_eval(KernelGlobals kg, | ||||
| else { | else { | ||||
| max_closures = use_caustics_storage ? CAUSTICS_MAX_CLOSURE : kernel_data.max_closures; | max_closures = use_caustics_storage ? CAUSTICS_MAX_CLOSURE : kernel_data.max_closures; | ||||
| } | } | ||||
| sd->num_closure = 0; | sd->num_closure = 0; | ||||
| sd->num_closure_left = max_closures; | sd->num_closure_left = max_closures; | ||||
| #ifdef __OSL__ | #ifdef __OSL__ | ||||
| if (kg->osl) { | if (kernel_data.kernel_features & KERNEL_FEATURE_OSL) { | ||||
| if (sd->object == OBJECT_NONE && sd->lamp == LAMP_NONE) { | osl_eval_nodes<SHADER_TYPE_SURFACE>(kg, state, sd, path_flag); | ||||
| OSLShader::eval_background(kg, state, sd, path_flag); | |||||
| } | |||||
| else { | |||||
| OSLShader::eval_surface(kg, state, sd, path_flag); | |||||
| } | |||||
| } | } | ||||
| else | else | ||||
| #endif | #endif | ||||
| { | { | ||||
| #ifdef __SVM__ | #ifdef __SVM__ | ||||
| svm_eval_nodes<node_feature_mask, SHADER_TYPE_SURFACE>(kg, state, sd, buffer, path_flag); | svm_eval_nodes<node_feature_mask, SHADER_TYPE_SURFACE>(kg, state, sd, buffer, path_flag); | ||||
| #else | #else | ||||
| if (sd->object == OBJECT_NONE) { | if (sd->object == OBJECT_NONE) { | ||||
| Show All 16 Lines | |||||