Blender V5.0
BKE_mesh_tangent.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4#pragma once
5
9
10#include "BLI_array.hh"
12#include "BLI_offset_indices.hh"
13
14struct ReportList;
15struct Mesh;
16
17namespace blender::bke::mesh {
18
26void calc_uv_tangent_tris_quads(Span<float3> vert_positions,
27 OffsetIndices<int> faces,
28 Span<int> corner_verts,
29 Span<float3> corner_normals,
30 Span<float2> uv_map,
31 MutableSpan<float4> results,
32 ReportList *reports);
33
37Array<Array<float4>> calc_uv_tangents(Span<float3> vert_positions,
38 OffsetIndices<int> faces,
39 Span<int> corner_verts,
40 Span<int3> corner_tris,
41 Span<int> corner_tri_faces,
42 Span<bool> sharp_faces,
43 Span<float3> vert_normals,
44 Span<float3> face_normals,
45 Span<float3> corner_normals,
46 Span<Span<float2>> uv_maps);
47
48Array<float4> calc_orco_tangents(Span<float3> vert_positions,
49 OffsetIndices<int> faces,
50 Span<int> corner_verts,
51 Span<int3> corner_tris,
52 Span<int> corner_tri_faces,
53 Span<bool> sharp_faces,
54 Span<float3> vert_normals,
55 Span<float3> face_normals,
56 Span<float3> corner_normals,
57 Span<float3> vert_orco);
58
59} // namespace blender::bke::mesh
static char faces[256]
Array< float4 > calc_orco_tangents(Span< float3 > vert_positions, OffsetIndices< int > faces, Span< int > corner_verts, Span< int3 > corner_tris, Span< int > corner_tri_faces, Span< bool > sharp_faces, Span< float3 > vert_normals, Span< float3 > face_normals, Span< float3 > corner_normals, Span< float3 > vert_orco)
Array< Array< float4 > > calc_uv_tangents(Span< float3 > vert_positions, OffsetIndices< int > faces, Span< int > corner_verts, Span< int3 > corner_tris, Span< int > corner_tri_faces, Span< bool > sharp_faces, Span< float3 > vert_normals, Span< float3 > face_normals, Span< float3 > corner_normals, Span< Span< float2 > > uv_maps)
void calc_uv_tangent_tris_quads(Span< float3 > vert_positions, OffsetIndices< int > faces, Span< int > corner_verts, Span< float3 > corner_normals, Span< float2 > uv_map, MutableSpan< float4 > results, ReportList *reports)