Changeset View
Changeset View
Standalone View
Standalone View
source/blender/render/intern/source/volumetric.c
| Show First 20 Lines • Show All 166 Lines • ▼ Show 20 Lines | static void shade_intersection(ShadeInput *shi, float col_r[4], Isect *is) | ||||
| shi_new.thread = shi->thread; | shi_new.thread = shi->thread; | ||||
| shi_new.depth = shi->depth + 1; | shi_new.depth = shi->depth + 1; | ||||
| shi_new.volume_depth = shi->volume_depth + 1; | shi_new.volume_depth = shi->volume_depth + 1; | ||||
| shi_new.xs = shi->xs; | shi_new.xs = shi->xs; | ||||
| shi_new.ys = shi->ys; | shi_new.ys = shi->ys; | ||||
| shi_new.lay = shi->lay; | shi_new.lay = shi->lay; | ||||
| shi_new.passflag = SCE_PASS_COMBINED; /* result of tracing needs no pass info */ | shi_new.passflag = SCE_PASS_COMBINED; /* result of tracing needs no pass info */ | ||||
| shi_new.combinedflag = 0xFFFFFF; /* ray trace does all options */ | shi_new.combinedflag = 0xFFFFFF; /* ray trace does all options */ | ||||
| shi_new.light_override = shi->light_override; | |||||
| shi_new.mat_override = shi->mat_override; | |||||
| copy_v3_v3(shi_new.camera_co, is->start); | copy_v3_v3(shi_new.camera_co, is->start); | ||||
| memset(&shr_new, 0, sizeof(ShadeResult)); | memset(&shr_new, 0, sizeof(ShadeResult)); | ||||
| /* hardcoded limit of 100 for now - prevents problems in weird geometry */ | /* hardcoded limit of 100 for now - prevents problems in weird geometry */ | ||||
| if (shi->volume_depth < 100) { | if (shi->volume_depth < 100) { | ||||
| shade_ray(is, &shi_new, &shr_new); | shade_ray(is, &shi_new, &shr_new); | ||||
| ▲ Show 20 Lines • Show All 652 Lines • Show Last 20 Lines | |||||