28 const int *corner_verts,
29 float (*r_looptangent)[4],
30 const float (*corner_normals)[3],
31 const float (*loop_uvs)[2],
44 float (*r_looptangents)[4],
57 bool calc_active_tangent,
59 int tangent_names_len,
66 uint loopdata_out_len,
67 short *tangent_mask_curr_p);
70 bool calc_active_tangent,
72 int tangent_names_len);
78 const char *layer_name);
80#define DM_TANGENT_MASK_ORCO (1 << 9)
88 bool calc_active_tangent,
90 int tangent_names_count,
97 short *rtangent_mask);
void BKE_mesh_calc_loop_tangents(Mesh *mesh_eval, bool calc_active_tangent, const char(*tangent_names)[MAX_CUSTOMDATA_LAYER_NAME], int tangent_names_len)
void BKE_mesh_add_loop_tangent_named_layer_for_uv(const CustomData *uv_data, CustomData *tan_data, int numLoopData, const char *layer_name)
void BKE_mesh_calc_loop_tangent_ex(blender::Span< blender::float3 > vert_positions, blender::OffsetIndices< int > faces, blender::Span< int > corner_verts, blender::Span< blender::int3 > corner_tris, blender::Span< int > corner_tri_faces, blender::Span< bool > sharp_faces, const CustomData *loopdata, bool calc_active_tangent, const char(*tangent_names)[MAX_CUSTOMDATA_LAYER_NAME], int tangent_names_len, blender::Span< blender::float3 > vert_normals, blender::Span< blender::float3 > face_normals, blender::Span< blender::float3 > corner_normals, blender::Span< blender::float3 > vert_orco, CustomData *loopdata_out, uint loopdata_out_len, short *tangent_mask_curr_p)
void BKE_mesh_calc_loop_tangent_step_0(const CustomData *loopData, bool calc_active_tangent, const char(*tangent_names)[MAX_CUSTOMDATA_LAYER_NAME], int tangent_names_count, bool *rcalc_act, bool *rcalc_ren, int *ract_uv_n, int *rren_uv_n, char *ract_uv_name, char *rren_uv_name, short *rtangent_mask)
void BKE_mesh_calc_loop_tangent_single(Mesh *mesh, const char *uvmap, float(*r_looptangents)[4], ReportList *reports)
void BKE_mesh_calc_loop_tangent_single_ex(const float(*vert_positions)[3], int numVerts, const int *corner_verts, float(*r_looptangent)[4], const float(*corner_normals)[3], const float(*loop_uvs)[2], int numLoops, blender::OffsetIndices< int > faces, ReportList *reports)
#define MAX_CUSTOMDATA_LAYER_NAME