Blender  V2.93
Classes | Functions
blender_mesh.cpp File Reference
#include "render/camera.h"
#include "render/colorspace.h"
#include "render/mesh.h"
#include "render/object.h"
#include "render/scene.h"
#include "blender/blender_session.h"
#include "blender/blender_sync.h"
#include "blender/blender_util.h"
#include "subd/subd_patch.h"
#include "subd/subd_split.h"
#include "util/util_algorithm.h"
#include "util/util_disjoint_set.h"
#include "util/util_foreach.h"
#include "util/util_hash.h"
#include "util/util_logging.h"
#include "util/util_math.h"
#include "mikktspace.h"

Go to the source code of this file.

Classes

struct  MikkUserData
 
class  VertexAverageComparator
 

Functions

static int mikk_get_num_faces (const SMikkTSpaceContext *context)
 
static int mikk_get_num_verts_of_face (const SMikkTSpaceContext *context, const int face_num)
 
static int mikk_vertex_index (const Mesh *mesh, const int face_num, const int vert_num)
 
static int mikk_corner_index (const Mesh *mesh, const int face_num, const int vert_num)
 
static void mikk_get_position (const SMikkTSpaceContext *context, float P[3], const int face_num, const int vert_num)
 
static void mikk_get_texture_coordinate (const SMikkTSpaceContext *context, float uv[2], const int face_num, const int vert_num)
 
static void mikk_get_normal (const SMikkTSpaceContext *context, float N[3], const int face_num, const int vert_num)
 
static void mikk_set_tangent_space (const SMikkTSpaceContext *context, const float T[], const float sign, const int face_num, const int vert_num)
 
static void mikk_compute_tangents (const BL::Mesh &b_mesh, const char *layer_name, Mesh *mesh, bool need_sign, bool active_render)
 
static void attr_create_sculpt_vertex_color (Scene *scene, Mesh *mesh, BL::Mesh &b_mesh, bool subdivision)
 
template<typename TypeInCycles , typename GetValueAtIndex >
static void fill_generic_attribute (BL::Mesh &b_mesh, TypeInCycles *data, const AttributeElement element, const GetValueAtIndex &get_value_at_index)
 
static void attr_create_generic (Scene *scene, Mesh *mesh, BL::Mesh &b_mesh, bool subdivision)
 
static void attr_create_vertex_color (Scene *scene, Mesh *mesh, BL::Mesh &b_mesh, bool subdivision)
 
static void attr_create_uv_map (Scene *scene, Mesh *mesh, BL::Mesh &b_mesh)
 
static void attr_create_subd_uv_map (Scene *scene, Mesh *mesh, BL::Mesh &b_mesh, bool subdivide_uvs)
 
static void attr_create_pointiness (Scene *scene, Mesh *mesh, BL::Mesh &b_mesh, bool subdivision)
 
static void attr_create_random_per_island (Scene *scene, Mesh *mesh, BL::Mesh &b_mesh, bool subdivision)
 
static void create_mesh (Scene *scene, Mesh *mesh, BL::Mesh &b_mesh, const array< Node * > &used_shaders, bool subdivision=false, bool subdivide_uvs=true)
 
static void create_subd_mesh (Scene *scene, Mesh *mesh, BL::Object &b_ob, BL::Mesh &b_mesh, const array< Node * > &used_shaders, float dicing_rate, int max_subdivisions)
 
static BL::MeshSequenceCacheModifier object_mesh_cache_find (BL::Object &b_ob)
 
static void sync_mesh_cached_velocities (BL::Object &b_ob, Scene *scene, Mesh *mesh)
 
static void sync_mesh_fluid_motion (BL::Object &b_ob, Scene *scene, Mesh *mesh)
 

Function Documentation

◆ attr_create_generic()

static void attr_create_generic ( Scene scene,
Mesh mesh,
BL::Mesh b_mesh,
bool  subdivision 
)
static

◆ attr_create_pointiness()

static void attr_create_pointiness ( Scene scene,
Mesh mesh,
BL::Mesh b_mesh,
bool  subdivision 
)
static

◆ attr_create_random_per_island()

static void attr_create_random_per_island ( Scene scene,
Mesh mesh,
BL::Mesh b_mesh,
bool  subdivision 
)
static

◆ attr_create_sculpt_vertex_color()

static void attr_create_sculpt_vertex_color ( Scene scene,
Mesh mesh,
BL::Mesh b_mesh,
bool  subdivision 
)
static

◆ attr_create_subd_uv_map()

static void attr_create_subd_uv_map ( Scene scene,
Mesh mesh,
BL::Mesh b_mesh,
bool  subdivide_uvs 
)
static

◆ attr_create_uv_map()

static void attr_create_uv_map ( Scene scene,
Mesh mesh,
BL::Mesh b_mesh 
)
static

◆ attr_create_vertex_color()

static void attr_create_vertex_color ( Scene scene,
Mesh mesh,
BL::Mesh b_mesh,
bool  subdivision 
)
static

◆ create_mesh()

static void create_mesh ( Scene scene,
Mesh mesh,
BL::Mesh b_mesh,
const array< Node * > &  used_shaders,
bool  subdivision = false,
bool  subdivide_uvs = true 
)
static

◆ create_subd_mesh()

static void create_subd_mesh ( Scene scene,
Mesh mesh,
BL::Object b_ob,
BL::Mesh b_mesh,
const array< Node * > &  used_shaders,
float  dicing_rate,
int  max_subdivisions 
)
static

◆ fill_generic_attribute()

template<typename TypeInCycles , typename GetValueAtIndex >
static void fill_generic_attribute ( BL::Mesh b_mesh,
TypeInCycles *  data,
const AttributeElement  element,
const GetValueAtIndex &  get_value_at_index 
)
static

Definition at line 314 of file blender_mesh.cpp.

References ATTR_ELEMENT_CORNER, ATTR_ELEMENT_FACE, ATTR_ELEMENT_VERTEX, data, element, and t.

Referenced by attr_create_generic().

◆ mikk_compute_tangents()

static void mikk_compute_tangents ( const BL::Mesh b_mesh,
const char *  layer_name,
Mesh mesh,
bool  need_sign,
bool  active_render 
)
static

◆ mikk_corner_index()

static int mikk_corner_index ( const Mesh mesh,
const int  face_num,
const int  vert_num 
)
static

◆ mikk_get_normal()

static void mikk_get_normal ( const SMikkTSpaceContext context,
float  N[3],
const int  face_num,
const int  vert_num 
)
static

◆ mikk_get_num_faces()

static int mikk_get_num_faces ( const SMikkTSpaceContext context)
static

◆ mikk_get_num_verts_of_face()

static int mikk_get_num_verts_of_face ( const SMikkTSpaceContext context,
const int  face_num 
)
static

Definition at line 96 of file blender_mesh.cpp.

References context, Mesh::get_num_subd_faces(), if(), MikkUserData::mesh, and mesh.

Referenced by mikk_compute_tangents().

◆ mikk_get_position()

static void mikk_get_position ( const SMikkTSpaceContext context,
float  P[3],
const int  face_num,
const int  vert_num 
)
static

◆ mikk_get_texture_coordinate()

static void mikk_get_texture_coordinate ( const SMikkTSpaceContext context,
float  uv[2],
const int  face_num,
const int  vert_num 
)
static

◆ mikk_set_tangent_space()

static void mikk_set_tangent_space ( const SMikkTSpaceContext context,
const float  T[],
const float  sign,
const int  face_num,
const int  vert_num 
)
static

◆ mikk_vertex_index()

static int mikk_vertex_index ( const Mesh mesh,
const int  face_num,
const int  vert_num 
)
static

◆ object_mesh_cache_find()

static BL::MeshSequenceCacheModifier object_mesh_cache_find ( BL::Object b_ob)
static

Definition at line 1041 of file blender_mesh.cpp.

References PointerRNA_NULL.

Referenced by sync_mesh_cached_velocities().

◆ sync_mesh_cached_velocities()

static void sync_mesh_cached_velocities ( BL::Object b_ob,
Scene scene,
Mesh mesh 
)
static

◆ sync_mesh_fluid_motion()

static void sync_mesh_fluid_motion ( BL::Object b_ob,
Scene scene,
Mesh mesh 
)
static