|
Blender V5.0
|
#include "BLI_math_geom.h"#include "BLI_math_vector.h"#include "BLI_task.hh"#include "DNA_customdata_types.h"#include "BKE_customdata.hh"#include "BKE_editmesh.hh"#include "BKE_editmesh_tangent.hh"#include "BKE_mesh.hh"#include "MEM_guardedalloc.h"#include "mikktspace.hh"Go to the source code of this file.
Classes | |
| struct | SGLSLEditMeshToTangent |
Typedefs | |
| using | float3 |
| using | float4 |
Tangent Space Calculation | |
| #define | USE_LOOPTRI_DETECT_QUADS |
| static void | calc_face_as_quad_map (BMEditMesh *&em, BMesh *&bm, int &totface, int &num_face_as_quad_map, int *&face_as_quad_map) |
| Array< Array< float4 > > | BKE_editmesh_uv_tangents_calc (BMEditMesh *em, const Span< float3 > face_normals, const Span< float3 > corner_normals, const Span< StringRef > uv_names) |
| Array< float4 > | BKE_editmesh_orco_tangents_calc (BMEditMesh *em, const Span< float3 > face_normals, const Span< float3 > corner_normals, const Span< float3 > vert_orco) |
| #define USE_LOOPTRI_DETECT_QUADS |
Definition at line 36 of file editmesh_tangent.cc.
| using blender::float3 |
Definition at line 619 of file BLI_math_vector_types.hh.
| using blender::float4 |
Definition at line 620 of file BLI_math_vector_types.hh.
| Array< float4 > BKE_editmesh_orco_tangents_calc | ( | BMEditMesh * | em, |
| const Span< float3 > | face_normals, | ||
| const Span< float3 > | corner_normals, | ||
| const Span< float3 > | vert_orco ) |
Definition at line 238 of file editmesh_tangent.cc.
References bm, BMEditMesh::bm, BM_FACE, BM_LOOP, BM_mesh_elem_index_ensure(), BM_VERT, calc_face_as_quad_map(), SGLSLEditMeshToTangent::cd_loop_uv_offset, SGLSLEditMeshToTangent::corner_normals, SGLSLEditMeshToTangent::face_as_quad_map, SGLSLEditMeshToTangent::face_normals, Array< T, InlineBufferCapacity, Allocator >::is_empty(), blender::Span< T >::is_empty(), BMEditMesh::looptris, SGLSLEditMeshToTangent::looptris, MEM_SAFE_FREE, SGLSLEditMeshToTangent::num_face_as_quad_map, SGLSLEditMeshToTangent::numTessFaces, SGLSLEditMeshToTangent::orco, result, Array< T, InlineBufferCapacity, Allocator >::size(), and SGLSLEditMeshToTangent::tangent.
| Array< Array< float4 > > BKE_editmesh_uv_tangents_calc | ( | BMEditMesh * | em, |
| const Span< float3 > | face_normals, | ||
| const Span< float3 > | corner_normals, | ||
| const Span< StringRef > | uv_names ) |
Definition at line 183 of file editmesh_tangent.cc.
References bm, BMEditMesh::bm, BM_FACE, BM_LOOP, BM_mesh_elem_index_ensure(), calc_face_as_quad_map(), blender::Span< T >::index_range(), Array< T, InlineBufferCapacity, Allocator >::is_empty(), blender::Span< T >::is_empty(), BMEditMesh::looptris, blender::threading::parallel_for(), result, Array< T, InlineBufferCapacity, Allocator >::size(), and blender::Span< T >::size().
|
static |
Definition at line 155 of file editmesh_tangent.cc.
References bm, i, BMEditMesh::looptris, MEM_malloc_arrayN(), and Array< T, InlineBufferCapacity, Allocator >::size().
Referenced by BKE_editmesh_orco_tangents_calc(), BKE_editmesh_uv_tangents_calc(), and blender::bke::mesh::calc_orco_tangents().