|
Blender V5.0
|
Go to the source code of this file.
| ccl_device dual< T > triangle_attribute | ( | KernelGlobals | kg, |
| const ccl_private ShaderData * | sd, | ||
| const AttributeDescriptor | desc, | ||
| const bool | dx = false, | ||
| const bool | dy = false ) |
Definition at line 225 of file geom/triangle.h.
References ATTR_ELEMENT_CORNER, ATTR_ELEMENT_CORNER_BYTE, ATTR_ELEMENT_FACE, ATTR_ELEMENT_VERTEX, ATTR_ELEMENT_VERTEX_MOTION, attribute_data_fetch(), attribute_data_fetch_bytecolor(), ccl_device, ccl_private, AttributeDescriptor::element, kernel_data_fetch, make_zero(), AttributeDescriptor::offset, result, T, triangle_attribute_dfdx(), triangle_attribute_dfdy(), uint3::x, uint3::y, and uint3::z.
Referenced by primitive_motion_vector(), and primitive_surface_attribute().
| ccl_device_inline T triangle_attribute_dfdx | ( | const ccl_private differential & | du, |
| const ccl_private differential & | dv, | ||
| const ccl_private T & | f0, | ||
| const ccl_private T & | f1, | ||
| const ccl_private T & | f2 ) |
Definition at line 202 of file geom/triangle.h.
References ccl_device_inline, ccl_private, and T.
Referenced by triangle_attribute().
| ccl_device_inline T triangle_attribute_dfdy | ( | const ccl_private differential & | du, |
| const ccl_private differential & | dv, | ||
| const ccl_private T & | f0, | ||
| const ccl_private T & | f1, | ||
| const ccl_private T & | f2 ) |
Definition at line 213 of file geom/triangle.h.
References ccl_device_inline, ccl_private, and T.
Referenced by triangle_attribute().
| ccl_device_inline void triangle_dPdudv | ( | KernelGlobals | kg, |
| const int | prim, | ||
| ccl_private float3 * | dPdu, | ||
| ccl_private float3 * | dPdv ) |
Definition at line 177 of file geom/triangle.h.
References ccl_device_inline, ccl_private, kernel_data_fetch, uint3::x, uint3::y, and uint3::z.
Referenced by integrator_init_from_bake(), shader_setup_from_sample(), and triangle_shader_setup().
| CCL_NAMESPACE_BEGIN ccl_device_inline T triangle_interpolate | ( | const float | u, |
| const float | v, | ||
| const T | f0, | ||
| const T | f1, | ||
| const T | f2 ) |
Definition at line 24 of file geom/triangle.h.
Referenced by motion_triangle_smooth_normal(), and triangle_smooth_normal().
| ccl_device_inline float3 triangle_normal | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd ) |
Definition at line 30 of file geom/triangle.h.
References ccl_device_inline, ccl_private, cross, kernel_data_fetch, normalize, object_negative_scale_applied(), v2, uint3::x, uint3::y, and uint3::z.
Referenced by GIM_TRIANGLE::get_edge_plane(), GIM_TRIANGLE::ray_collision(), GIM_TRIANGLE::ray_collision_front_side(), and triangle_shader_setup().
| ccl_device_inline void triangle_point_normal | ( | KernelGlobals | kg, |
| const int | object, | ||
| const int | prim, | ||
| const float | u, | ||
| const float | v, | ||
| ccl_private float3 * | P, | ||
| ccl_private float3 * | Ng, | ||
| ccl_private int * | shader ) |
Definition at line 46 of file geom/triangle.h.
References ccl_device_inline, ccl_private, cross, kernel_data_fetch, normalize, object_negative_scale_applied(), P, v, v2, w(), uint3::x, uint3::y, and uint3::z.
Referenced by integrator_init_from_bake(), and shader_setup_from_displace().
| ccl_device_inline float3 triangle_smooth_normal | ( | KernelGlobals | kg, |
| const float3 | Ng, | ||
| const int | prim, | ||
| const float | u, | ||
| float | v ) |
Definition at line 107 of file geom/triangle.h.
References is_zero(), kernel_data_fetch, N, safe_normalize(), v, uint3::x, uint3::y, and uint3::z.
Referenced by attribute_bump_map_normal(), integrator_init_from_bake(), shader_setup_from_sample(), texco_normal_from_uv(), and triangle_shader_setup().
| ccl_device_inline float3 triangle_smooth_normal | ( | KernelGlobals | kg, |
| const float3 | Ng, | ||
| const int | prim, | ||
| const float | u, | ||
| float | v, | ||
| const differential | du, | ||
| const differential | dv, | ||
| ccl_private float3 & | N_x, | ||
| ccl_private float3 & | N_y ) |
Definition at line 123 of file geom/triangle.h.
References ccl_device_inline, ccl_private, differential::dx, differential::dy, is_zero(), kernel_data_fetch, N, safe_normalize(), triangle_interpolate(), v, uint3::x, uint3::y, and uint3::z.
| ccl_device_inline float3 triangle_smooth_normal_unnormalized | ( | KernelGlobals | kg, |
| const ccl_private ShaderData * | sd, | ||
| const float3 | Ng, | ||
| const int | prim, | ||
| const float | u, | ||
| float | v ) |
Definition at line 149 of file geom/triangle.h.
References ccl_device_inline, ccl_private, is_zero(), kernel_data_fetch, N, object_inverse_normal_transform(), SD_OBJECT_TRANSFORM_APPLIED, v, uint3::x, uint3::y, and uint3::z.
Referenced by get_object_standard_attribute(), OSLRenderServices::get_object_standard_attribute(), and svm_node_normal_map().
| ccl_device_inline void triangle_vertices | ( | KernelGlobals | kg, |
| const int | prim, | ||
| float3 | P[3] ) |
Definition at line 79 of file geom/triangle.h.
References ccl_device_inline, kernel_data_fetch, P, uint3::x, uint3::y, and uint3::z.
Referenced by bake_offset_towards_center(), compute_emitter_centroid_and_dir(), OSLRenderServices::get_object_standard_attribute(), integrate_surface_ray_offset(), triangle_light_tree_parameters(), triangle_world_space_vertices(), and wireframe().
| ccl_device_inline void triangle_vertices_and_normals | ( | KernelGlobals | kg, |
| const int | prim, | ||
| float3 | P[3], | ||
| float3 | N[3] ) |
Definition at line 89 of file geom/triangle.h.
References ccl_device_inline, kernel_data_fetch, N, P, uint3::x, uint3::y, and uint3::z.
Referenced by mnee_setup_manifold_vertex(), and shadow_ray_smooth_surface_offset().