Blender V2.61 - r43446
|
Go to the source code of this file.
Functions | |
CCL_NAMESPACE_BEGIN __device_inline float3 | triangle_point_MT (KernelGlobals *kg, int tri_index, float u, float v) |
__device_inline float3 | triangle_sample_MT (KernelGlobals *kg, int tri_index, float randu, float randv) |
__device_inline float3 | triangle_normal_MT (KernelGlobals *kg, int tri_index, int *shader) |
__device_inline float3 | triangle_smooth_normal (KernelGlobals *kg, int tri_index, float u, float v) |
__device_inline void | triangle_dPdudv (KernelGlobals *kg, float3 *dPdu, float3 *dPdv, int tri) |
__device float | triangle_attribute_float (KernelGlobals *kg, const ShaderData *sd, AttributeElement elem, int offset, float *dx, float *dy) |
__device float3 | triangle_attribute_float3 (KernelGlobals *kg, const ShaderData *sd, AttributeElement elem, int offset, float3 *dx, float3 *dy) |
__device float triangle_attribute_float | ( | KernelGlobals * | kg, |
const ShaderData * | sd, | ||
AttributeElement | elem, | ||
int | offset, | ||
float * | dx, | ||
float * | dy | ||
) |
Definition at line 96 of file kernel_triangle.h.
References __float_as_int(), ATTR_ELEMENT_CORNER, ATTR_ELEMENT_FACE, ATTR_ELEMENT_VERTEX, ShaderData::du, ShaderData::dv, differential::dx, differential::dy, float4_to_float3(), kernel_tex_fetch, ShaderData::prim, ShaderData::u, ShaderData::v, float3::x, float3::y, and float3::z.
Referenced by get_mesh_attribute(), svm_node_attr(), svm_node_attr_bump_dx(), and svm_node_attr_bump_dy().
__device float3 triangle_attribute_float3 | ( | KernelGlobals * | kg, |
const ShaderData * | sd, | ||
AttributeElement | elem, | ||
int | offset, | ||
float3 * | dx, | ||
float3 * | dy | ||
) |
Definition at line 139 of file kernel_triangle.h.
References __float_as_int(), ATTR_ELEMENT_CORNER, ATTR_ELEMENT_FACE, ATTR_ELEMENT_VERTEX, ShaderData::du, ShaderData::dv, differential::dx, differential::dy, float4_to_float3(), kernel_tex_fetch, make_float3(), ShaderData::prim, ShaderData::u, ShaderData::v, float3::x, float3::y, and float3::z.
Referenced by get_mesh_attribute(), svm_node_attr(), svm_node_attr_bump_dx(), and svm_node_attr_bump_dy().
Definition at line 80 of file kernel_triangle.h.
References __float_as_int(), float4_to_float3(), kernel_tex_fetch, float3::x, float3::y, and float3::z.
Referenced by shader_setup_from_ray(), and shader_setup_from_sample().
__device_inline float3 triangle_normal_MT | ( | KernelGlobals * | kg, |
int | tri_index, | ||
int * | shader | ||
) |
Definition at line 49 of file kernel_triangle.h.
References __float_as_int(), cross(), float4_to_float3(), kernel_tex_fetch, make_float3(), normalize(), float4::w, float3::x, float4::x, float3::y, float4::y, float3::z, and float4::z.
Referenced by shader_setup_from_displace(), and triangle_light_sample().
CCL_NAMESPACE_BEGIN __device_inline float3 triangle_point_MT | ( | KernelGlobals * | kg, |
int | tri_index, | ||
float | u, | ||
float | v | ||
) |
Definition at line 22 of file kernel_triangle.h.
References __float_as_int(), float4_to_float3(), kernel_tex_fetch, float3::x, float3::y, and float3::z.
Referenced by shader_setup_from_displace(), and triangle_sample_MT().
__device_inline float3 triangle_sample_MT | ( | KernelGlobals * | kg, |
int | tri_index, | ||
float | randu, | ||
float | randv | ||
) |
Definition at line 37 of file kernel_triangle.h.
References sqrtf, and triangle_point_MT().
Referenced by triangle_light_sample().
__device_inline float3 triangle_smooth_normal | ( | KernelGlobals * | kg, |
int | tri_index, | ||
float | u, | ||
float | v | ||
) |
Definition at line 68 of file kernel_triangle.h.
References __float_as_int(), float4_to_float3(), kernel_tex_fetch, normalize(), float3::x, float3::y, and float3::z.
Referenced by shader_setup_from_ray(), and shader_setup_from_sample().