Cycles: Render volume by ray marching through octrees

One octree per volume per shader based on the density. In preparation
for the null scattering
This commit is contained in:
Weizhen Huang
2024-11-29 12:20:56 +01:00
committed by Weizhen Huang
parent 4e65ab4490
commit b2b2d9a4f3
46 changed files with 2014 additions and 98 deletions

View File

@@ -22,7 +22,8 @@ bool device_kernel_has_shading(DeviceKernel kernel)
kernel == DEVICE_KERNEL_INTEGRATOR_SHADE_DEDICATED_LIGHT ||
kernel == DEVICE_KERNEL_SHADER_EVAL_DISPLACE ||
kernel == DEVICE_KERNEL_SHADER_EVAL_BACKGROUND ||
kernel == DEVICE_KERNEL_SHADER_EVAL_CURVE_SHADOW_TRANSPARENCY);
kernel == DEVICE_KERNEL_SHADER_EVAL_CURVE_SHADOW_TRANSPARENCY ||
kernel == DEVICE_KERNEL_SHADER_EVAL_VOLUME_DENSITY);
}
bool device_kernel_has_intersection(DeviceKernel kernel)
@@ -108,6 +109,8 @@ const char *device_kernel_as_string(DeviceKernel kernel)
return "shader_eval_background";
case DEVICE_KERNEL_SHADER_EVAL_CURVE_SHADOW_TRANSPARENCY:
return "shader_eval_curve_shadow_transparency";
case DEVICE_KERNEL_SHADER_EVAL_VOLUME_DENSITY:
return "shader_eval_volume_density";
/* Film. */