|
Blender V5.0
|
#include "kernel/globals.h"#include "kernel/geom/attribute.h"#include "kernel/geom/object.h"#include "kernel/geom/primitive.h"#include "kernel/geom/volume.h"#include "kernel/svm/util.h"#include "kernel/util/differential.h"Go to the source code of this file.
| ccl_device_noinline void svm_node_attr | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| ccl_private float * | stack, | ||
| const uint4 | node ) |
Definition at line 158 of file kernel/svm/attribute.h.
References ATTR_ELEMENT_NONE, ATTR_STD_GENERATED, ATTR_STD_UV, ccl_device_noinline, ccl_private, AttributeDescriptor::element, IF_KERNEL_NODES_FEATURE, make_float3(), NODE_ATTR_FLOAT, NODE_ATTR_FLOAT2, NODE_ATTR_FLOAT4, NODE_ATTR_OUTPUT_FLOAT, NODE_ATTR_OUTPUT_FLOAT3, NODE_ATTR_RGBA, object_inverse_position_transform(), OBJECT_NONE, PRIMITIVE_LAMP, stack_store_float(), stack_store_float3(), svm_node_attr_init(), svm_node_attr_store(), svm_surface_attr(), AttributeDescriptor::type, uint4::w, and uint4::y.
Referenced by svm_eval_nodes().
| ccl_device_noinline void svm_node_attr_bump_dx | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| ccl_private float * | stack, | ||
| const uint4 | node ) |
Definition at line 238 of file kernel/svm/attribute.h.
References __uint_as_float, ATTR_ELEMENT_NONE, ATTR_STD_GENERATED, ccl_device_noinline, ccl_private, AttributeDescriptor::element, NODE_ATTR_FLOAT, NODE_ATTR_FLOAT2, NODE_ATTR_FLOAT4, NODE_ATTR_OUTPUT_FLOAT, NODE_ATTR_RGBA, object_inverse_position_transform(), OBJECT_NONE, svm_node_attr_init(), svm_node_attr_store(), svm_node_bump_P_dx(), svm_surface_attr_dx(), AttributeDescriptor::type, uint4::w, and uint4::y.
Referenced by svm_eval_nodes().
| ccl_device_noinline void svm_node_attr_bump_dy | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| ccl_private float * | stack, | ||
| const uint4 | node ) |
Definition at line 282 of file kernel/svm/attribute.h.
References __uint_as_float, ATTR_ELEMENT_NONE, ATTR_STD_GENERATED, ccl_device_noinline, ccl_private, AttributeDescriptor::element, NODE_ATTR_FLOAT, NODE_ATTR_FLOAT2, NODE_ATTR_FLOAT4, NODE_ATTR_OUTPUT_FLOAT, NODE_ATTR_RGBA, object_inverse_position_transform(), OBJECT_NONE, svm_node_attr_init(), svm_node_attr_store(), svm_node_bump_P_dy(), svm_surface_attr_dy(), AttributeDescriptor::type, uint4::w, and uint4::y.
Referenced by svm_eval_nodes().
| CCL_NAMESPACE_BEGIN ccl_device AttributeDescriptor svm_node_attr_init | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| const uint4 | node, | ||
| ccl_private NodeAttributeOutputType * | type, | ||
| ccl_private uint * | out_offset ) |
Definition at line 22 of file kernel/svm/attribute.h.
References ATTR_STD_NOT_FOUND, attribute_not_found(), ccl_device, ccl_private, find_attribute(), OBJECT_NONE, AttributeDescriptor::offset, svm_unpack_node_uchar2(), AttributeDescriptor::type, uint4::y, and uint4::z.
Referenced by svm_node_attr(), svm_node_attr_bump_dx(), and svm_node_attr_bump_dy().
| ccl_device_inline void svm_node_attr_store | ( | const NodeAttributeOutputType | type, |
| ccl_private float * | stack, | ||
| const uint | out_offset, | ||
| const ccl_private float2 & | f ) |
Definition at line 68 of file kernel/svm/attribute.h.
References ccl_device_inline, ccl_private, make_float3(), NODE_ATTR_OUTPUT_FLOAT, NODE_ATTR_OUTPUT_FLOAT3, stack_store_float(), and stack_store_float3().
| ccl_device_inline void svm_node_attr_store | ( | const NodeAttributeOutputType | type, |
| ccl_private float * | stack, | ||
| const uint | out_offset, | ||
| const ccl_private float3 & | f ) |
Definition at line 84 of file kernel/svm/attribute.h.
References average(), ccl_device_inline, ccl_private, NODE_ATTR_OUTPUT_FLOAT, NODE_ATTR_OUTPUT_FLOAT3, stack_store_float(), and stack_store_float3().
| ccl_device_inline void svm_node_attr_store | ( | const NodeAttributeOutputType | type, |
| ccl_private float * | stack, | ||
| const uint | out_offset, | ||
| const ccl_private float4 & | f ) |
Definition at line 100 of file kernel/svm/attribute.h.
References average(), ccl_device_inline, ccl_private, kernel_assert, make_float3(), NODE_ATTR_OUTPUT_FLOAT, NODE_ATTR_OUTPUT_FLOAT3, NODE_ATTR_OUTPUT_FLOAT_ALPHA, stack_store_float(), and stack_store_float3().
| ccl_device_inline void svm_node_attr_store | ( | const NodeAttributeOutputType | type, |
| ccl_private float * | stack, | ||
| const uint | out_offset, | ||
| const float | f ) |
Definition at line 52 of file kernel/svm/attribute.h.
References ccl_device_inline, ccl_private, make_float3(), NODE_ATTR_OUTPUT_FLOAT, NODE_ATTR_OUTPUT_FLOAT3, stack_store_float(), and stack_store_float3().
Referenced by svm_node_attr(), svm_node_attr_bump_dx(), svm_node_attr_bump_dy(), svm_surface_attr(), svm_surface_attr_dx(), and svm_surface_attr_dy().
| ccl_device_forceinline float3 svm_node_bump_P_dx | ( | const ccl_private ShaderData * | sd, |
| const float | bump_filter_width ) |
Definition at line 224 of file kernel/svm/attribute.h.
References ccl_device_forceinline, ccl_private, and dPdx().
Referenced by svm_node_attr_bump_dx(), svm_node_geometry_bump_dx(), and svm_node_tex_coord_bump_dx().
| ccl_device_forceinline float3 svm_node_bump_P_dy | ( | const ccl_private ShaderData * | sd, |
| const float | bump_filter_width ) |
Definition at line 231 of file kernel/svm/attribute.h.
References ccl_device_forceinline, ccl_private, and dPdy().
Referenced by svm_node_attr_bump_dy(), svm_node_geometry_bump_dy(), and svm_node_tex_coord_bump_dy().
| ccl_device_inline void svm_surface_attr | ( | KernelGlobals | kg, |
| const ccl_private ShaderData * | sd, | ||
| const AttributeDescriptor | desc, | ||
| const NodeAttributeOutputType | type, | ||
| ccl_private float * | stack, | ||
| const uint | out_offset ) |
Definition at line 118 of file kernel/svm/attribute.h.
References ccl_device_inline, ccl_private, primitive_surface_attribute(), svm_node_attr_store(), and T.
Referenced by svm_node_attr().
| ccl_device_inline void svm_surface_attr_dx | ( | KernelGlobals | kg, |
| const ccl_private ShaderData * | sd, | ||
| const AttributeDescriptor | desc, | ||
| const float | bump_filter_width, | ||
| const NodeAttributeOutputType | type, | ||
| ccl_private float * | stack, | ||
| const uint | out_offset ) |
Definition at line 130 of file kernel/svm/attribute.h.
References ccl_device_inline, ccl_private, dual< T >::dx, primitive_surface_attribute(), svm_node_attr_store(), and dual< T >::val.
Referenced by svm_node_attr_bump_dx().
| ccl_device_inline void svm_surface_attr_dy | ( | KernelGlobals | kg, |
| const ccl_private ShaderData * | sd, | ||
| const AttributeDescriptor | desc, | ||
| const float | bump_filter_width, | ||
| const NodeAttributeOutputType | type, | ||
| ccl_private float * | stack, | ||
| const uint | out_offset ) |
Definition at line 144 of file kernel/svm/attribute.h.
References ccl_device_inline, ccl_private, dual< T >::dy, primitive_surface_attribute(), svm_node_attr_store(), and dual< T >::val.
Referenced by svm_node_attr_bump_dy().