28#if defined(__HAIR__) || defined(__POINTCLOUD__)
35 float pixelwidth = 1.0f;
56 const float pixelwidth_x =
len(dP.
dx -
dot(dP.
dx, sd->wi) * sd->wi);
57 const float pixelwidth_y =
len(dP.
dy -
dot(dP.
dy, sd->wi) * sd->wi);
59 pixelwidth = (pixelwidth_x + pixelwidth_y) * 0.5f;
64 pixelwidth *= 0.5f *
size;
65 pixelwidth *= pixelwidth;
66 for (
int i = 0;
i < np;
i++) {
67 const int i2 =
i ?
i - 1 : np - 1;
69 const float3 edge = Co[
i] - Co[i2];
74 if (
dot(crs, crs) < (
dot(edge, edge) * pixelwidth)) {
87 const uint in_size = node.
y;
96 const int pixel_size = (int)use_pixel_size;
103 P += dP.
dx * bump_filter_width;
106 P += dP.
dy * bump_filter_width;
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
dot(value.rgb, luminance_coefficients)") DEFINE_VALUE("REDUCE(lhs
ccl_device_inline float stack_load_float(const ccl_private float *stack, const uint a)
ccl_device_inline void stack_store_float(ccl_private float *stack, const uint a, const float f)
ccl_device_forceinline void svm_unpack_node_uchar3(const uint i, ccl_private uint *x, ccl_private uint *y, ccl_private uint *z)
ccl_device_inline bool stack_valid(const uint a)
const ThreadKernelGlobalsCPU * KernelGlobals
#define ccl_device_inline
#define ccl_device_noinline
#define CCL_NAMESPACE_END
ccl_device_forceinline differential3 differential_from_compact(const float3 D, const float dD)
ccl_device_inline void triangle_vertices(KernelGlobals kg, const int prim, float3 P[3])
VecBase< float, 3 > cross(VecOp< float, 3 >, VecOp< float, 3 >) RET
ccl_device_inline void object_position_transform(KernelGlobals kg, const ccl_private ShaderData *sd, ccl_private T *P)
@ SD_OBJECT_TRANSFORM_APPLIED
ccl_device_inline void motion_triangle_vertices(KernelGlobals kg, const int object, const uint3 tri_vindex, const int numsteps, const int numverts, const int step, const float t, float3 verts[3])
CCL_NAMESPACE_BEGIN ccl_device_inline float wireframe(KernelGlobals kg, ccl_private ShaderData *sd, const differential3 dP, const float size, const int pixel_size, ccl_private float3 *P)
ccl_device_noinline void svm_node_wireframe(KernelGlobals kg, ccl_private ShaderData *sd, ccl_private float *stack, const uint4 node)