Cysles: Avoid having ShaderData on the stack
[blender.git] / intern / cycles / kernel / kernel_types.h
index 5ccbc1de94c84f02734568194f7dde03e7d5953e..e04f500e41069c7fdf1424804dbd09e15fb67ac2 100644 (file)
@@ -520,6 +520,18 @@ typedef ccl_addr_space struct Intersection {
 #endif
 } Intersection;
 
+/* Subsurface Intersection result */
+
+struct SubsurfaceIntersection
+{
+       Ray ray;
+       float3 weight[BSSRDF_MAX_HITS];
+
+       int num_hits;
+       struct Intersection hits[BSSRDF_MAX_HITS];
+       float3 Ng[BSSRDF_MAX_HITS];
+};
+
 /* Primitives */
 
 typedef enum PrimitiveType {