Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/integrator/integrator_shade_surface.h
| Show First 20 Lines • Show All 372 Lines • ▼ Show 20 Lines | |||||
| #endif | #endif | ||||
| { | { | ||||
| /* Evaluate shader. */ | /* Evaluate shader. */ | ||||
| PROFILING_EVENT(PROFILING_SHADE_SURFACE_EVAL); | PROFILING_EVENT(PROFILING_SHADE_SURFACE_EVAL); | ||||
| shader_eval_surface<node_feature_mask>(INTEGRATOR_STATE_PASS, &sd, render_buffer, path_flag); | shader_eval_surface<node_feature_mask>(INTEGRATOR_STATE_PASS, &sd, render_buffer, path_flag); | ||||
| } | } | ||||
| #ifdef __SUBSURFACE__ | #ifdef __SUBSURFACE__ | ||||
| if (INTEGRATOR_STATE(path, flag) & PATH_RAY_SUBSURFACE) { | if (path_flag & PATH_RAY_SUBSURFACE) { | ||||
| /* When coming from inside subsurface scattering, setup a diffuse | /* When coming from inside subsurface scattering, setup a diffuse | ||||
| * closure to perform lighting at the exit point. */ | * closure to perform lighting at the exit point. */ | ||||
| subsurface_shader_data_setup(INTEGRATOR_STATE_PASS, &sd, path_flag); | |||||
| INTEGRATOR_STATE_WRITE(path, flag) &= ~PATH_RAY_SUBSURFACE; | INTEGRATOR_STATE_WRITE(path, flag) &= ~PATH_RAY_SUBSURFACE; | ||||
| subsurface_shader_data_setup(INTEGRATOR_STATE_PASS, &sd); | |||||
| } | } | ||||
| #endif | #endif | ||||
| shader_prepare_surface_closures(INTEGRATOR_STATE_PASS, &sd); | shader_prepare_surface_closures(INTEGRATOR_STATE_PASS, &sd); | ||||
| #ifdef __HOLDOUT__ | #ifdef __HOLDOUT__ | ||||
| /* Evaluate holdout. */ | /* Evaluate holdout. */ | ||||
| if (!integrate_surface_holdout(INTEGRATOR_STATE_PASS, &sd, render_buffer)) { | if (!integrate_surface_holdout(INTEGRATOR_STATE_PASS, &sd, render_buffer)) { | ||||
| ▲ Show 20 Lines • Show All 109 Lines • Show Last 20 Lines | |||||