40template<u
int node_feature_mask>
55 if (primitive_is_volume_attribute(sd, desc)) {
56 const float4 value = volume_attribute_float4(kg, sd, desc);
59 const float f = volume_attribute_value_to_float(value);
63 const float3 f = volume_attribute_value_to_float3(value);
67 const float f = volume_attribute_value_to_alpha(value);
170 if (primitive_is_volume_attribute(sd, desc)) {
268 if (primitive_is_volume_attribute(sd, desc)) {
const KernelGlobalsCPU *ccl_restrict KernelGlobals
#define ccl_device_forceinline
#define ccl_device_noinline
#define CCL_NAMESPACE_END
ccl_device_forceinline differential3 differential_from_compact(const float3 D, const float dD)
ccl_device_inline AttributeDescriptor attribute_not_found()
ccl_device_inline void object_inverse_position_transform(KernelGlobals kg, ccl_private const ShaderData *sd, ccl_private float3 *P)
ccl_device_forceinline float3 svm_node_bump_P_dx(const ccl_private ShaderData *sd)
ccl_device_noinline void svm_node_attr_bump_dx(KernelGlobals kg, ccl_private ShaderData *sd, ccl_private float *stack, uint4 node)
ccl_device_noinline void svm_node_attr(KernelGlobals kg, ccl_private ShaderData *sd, ccl_private float *stack, uint4 node)
ccl_device_forceinline float3 svm_node_bump_P_dy(const ccl_private ShaderData *sd)
CCL_NAMESPACE_BEGIN ccl_device AttributeDescriptor svm_node_attr_init(KernelGlobals kg, ccl_private ShaderData *sd, uint4 node, ccl_private NodeAttributeOutputType *type, ccl_private uint *out_offset)
ccl_device_noinline void svm_node_attr_bump_dy(KernelGlobals kg, ccl_private ShaderData *sd, ccl_private float *stack, uint4 node)
ccl_device_inline void stack_store_float3(ccl_private float *stack, uint a, float3 f)
ccl_device_inline void stack_store_float(ccl_private float *stack, uint a, float f)
@ NODE_ATTR_OUTPUT_FLOAT3
#define IF_KERNEL_NODES_FEATURE(feature)
ccl_device_inline float average(const float2 a)
ccl_device_forceinline float3 primitive_surface_attribute_float3(KernelGlobals kg, ccl_private const ShaderData *sd, const AttributeDescriptor desc, ccl_private float3 *dx, ccl_private float3 *dy)
ccl_device_forceinline float2 primitive_surface_attribute_float2(KernelGlobals kg, ccl_private const ShaderData *sd, const AttributeDescriptor desc, ccl_private float2 *dx, ccl_private float2 *dy)
ccl_device_forceinline float4 primitive_surface_attribute_float4(KernelGlobals kg, ccl_private const ShaderData *sd, const AttributeDescriptor desc, ccl_private float4 *dx, ccl_private float4 *dy)
CCL_NAMESPACE_BEGIN ccl_device_forceinline float primitive_surface_attribute_float(KernelGlobals kg, ccl_private const ShaderData *sd, const AttributeDescriptor desc, ccl_private float *dx, ccl_private float *dy)
static bool find_attribute(const std::string &attributes, const char *search_attribute)
ccl_device_inline float3 float4_to_float3(const float4 a)