70 data = 2.0f *
dot(sd->N, sd->I) * sd->N - sd->I;
88 data = volume_normalized_position(
kg, sd,
data);
100 #ifdef __RAY_DIFFERENTIALS__
107 data = sd->P + sd->dP.dx;
147 data = 2.0f *
dot(sd->N, sd->I) * sd->N - sd->I;
161 data = sd->P + sd->dP.dx;
165 data = volume_normalized_position(
kg, sd,
data);
180 #ifdef __RAY_DIFFERENTIALS__
187 data = sd->P + sd->dP.dy;
227 data = 2.0f *
dot(sd->N, sd->I) * sd->N - sd->I;
241 data = sd->P + sd->dP.dy;
245 data = volume_normalized_position(
kg, sd,
data);
259 uint color_offset, strength_offset, normal_offset, space;
263 color = 2.0f *
make_float3(color.
x - 0.5f, color.
y - 0.5f, color.
z - 0.5f);
337 if (strength != 1.0f) {
338 strength =
max(strength, 0.0f);
353 uint tangent_offset, direction_type, axis;
362 attribute_value.
x = value.
x;
363 attribute_value.
y = value.
y;
364 attribute_value.
z = 0.0f;
378 tangent = attribute_value;
388 generated = attribute_value;
391 tangent =
make_float3(0.0f, -(generated.
z - 0.5f), (generated.
y - 0.5f));
393 tangent =
make_float3(-(generated.
z - 0.5f), 0.0f, (generated.
x - 0.5f));
395 tangent =
make_float3(-(generated.
y - 0.5f), (generated.
x - 0.5f), 0.0f);
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
ccl_device_inline AttributeDescriptor find_attribute(KernelGlobals *kg, const ShaderData *sd, uint id)
ccl_device_inline void object_inverse_position_transform(KernelGlobals *kg, const ShaderData *sd, float3 *P)
ccl_device_inline void object_normal_transform(KernelGlobals *kg, const ShaderData *sd, float3 *N)
ccl_device_inline float3 object_dupli_uv(KernelGlobals *kg, int object)
ccl_device_inline void object_inverse_normal_transform(KernelGlobals *kg, const ShaderData *sd, float3 *N)
ccl_device_inline float3 object_dupli_generated(KernelGlobals *kg, int object)
ccl_device_inline float2 primitive_surface_attribute_float2(KernelGlobals *kg, const ShaderData *sd, const AttributeDescriptor desc, float2 *dx, float2 *dy)
CCL_NAMESPACE_BEGIN ccl_device_inline float primitive_surface_attribute_float(KernelGlobals *kg, const ShaderData *sd, const AttributeDescriptor desc, float *dx, float *dy)
ccl_device_inline float3 primitive_surface_attribute_float3(KernelGlobals *kg, const ShaderData *sd, const AttributeDescriptor desc, float3 *dx, float3 *dy)
IconTextureDrawCall normal
CCL_NAMESPACE_BEGIN ccl_device_inline float3 stack_load_float3(float *stack, uint a)
ccl_device_inline float4 read_node_float(KernelGlobals *kg, int *offset)
ccl_device_inline float stack_load_float(float *stack, uint a)
ccl_device_forceinline void svm_unpack_node_uchar3(uint i, uint *x, uint *y, uint *z)
ccl_device_inline void stack_store_float3(float *stack, uint a, float3 f)
ccl_device_forceinline void svm_unpack_node_uchar4(uint i, uint *x, uint *y, uint *z, uint *w)
ccl_device_inline float3 camera_world_to_ndc(KernelGlobals *kg, ShaderData *sd, float3 P)
ccl_device_inline float3 camera_position(KernelGlobals *kg)
#define CCL_NAMESPACE_END
#define make_float3(x, y, z)
ccl_device float3 ensure_valid_reflection(float3 Ng, float3 I, float3 N)
ccl_device void svm_node_normal_map(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node)
CCL_NAMESPACE_BEGIN ccl_device void svm_node_tex_coord(KernelGlobals *kg, ShaderData *sd, int path_flag, float *stack, uint4 node, int *offset)
ccl_device void svm_node_tex_coord_bump_dy(KernelGlobals *kg, ShaderData *sd, int path_flag, float *stack, uint4 node, int *offset)
ccl_device void svm_node_tangent(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node)
ccl_device void svm_node_tex_coord_bump_dx(KernelGlobals *kg, ShaderData *sd, int path_flag, float *stack, uint4 node, int *offset)
@ NODE_TEXCO_VOLUME_GENERATED
@ NODE_TEXCO_DUPLI_GENERATED
@ NODE_NORMAL_MAP_TANGENT
@ NODE_NORMAL_MAP_BLENDER_WORLD
@ NODE_NORMAL_MAP_BLENDER_OBJECT
__forceinline avxf cross(const avxf &a, const avxf &b)
ccl_device_inline float2 normalize(const float2 &a)
ccl_device_inline float dot(const float2 &a, const float2 &b)
ccl_device_inline float2 safe_normalize(const float2 &a)
ccl_device_inline bool is_zero(const float2 &a)
ccl_device_inline float3 zero_float3()