Blender  V3.3
Classes | Functions
blender/mesh.cpp File Reference
#include "blender/session.h"
#include "blender/sync.h"
#include "blender/util.h"
#include "scene/camera.h"
#include "scene/colorspace.h"
#include "scene/mesh.h"
#include "scene/object.h"
#include "scene/scene.h"
#include "subd/patch.h"
#include "subd/split.h"
#include "util/algorithm.h"
#include "util/color.h"
#include "util/disjoint_set.h"
#include "util/foreach.h"
#include "util/hash.h"
#include "util/log.h"
#include "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)
 
template<typename TypeInCycles , typename GetValueAtIndex >
static void fill_generic_attribute (BL::Mesh &b_mesh, TypeInCycles *data, const BL::Attribute::domain_enum b_domain, const bool subdivision, const GetValueAtIndex &get_value_at_index)
 
static void attr_create_motion (Mesh *mesh, BL::Attribute &b_attribute, const float motion_scale)
 
static void attr_create_generic (Scene *scene, Mesh *mesh, BL::Mesh &b_mesh, const bool subdivision, const bool need_motion, const float motion_scale)
 
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, const bool need_motion, const float motion_scale, const bool subdivision=false, const bool subdivide_uvs=true)
 
static void create_subd_mesh (Scene *scene, Mesh *mesh, BObjectInfo &b_ob_info, BL::Mesh &b_mesh, const array< Node * > &used_shaders, const bool need_motion, const float motion_scale, float dicing_rate, int max_subdivisions)
 

Function Documentation

◆ attr_create_generic()

static void attr_create_generic ( Scene scene,
Mesh mesh,
BL::Mesh b_mesh,
const bool  subdivision,
const bool  need_motion,
const float  motion_scale 
)
static

◆ attr_create_motion()

static void attr_create_motion ( Mesh mesh,
BL::Attribute b_attribute,
const float  motion_scale 
)
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_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

◆ create_mesh()

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

◆ create_subd_mesh()

static void create_subd_mesh ( Scene scene,
Mesh mesh,
BObjectInfo b_ob_info,
BL::Mesh b_mesh,
const array< Node * > &  used_shaders,
const bool  need_motion,
const float  motion_scale,
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 BL::Attribute::domain_enum  b_domain,
const bool  subdivision,
const GetValueAtIndex &  get_value_at_index 
)
static

Definition at line 271 of file blender/mesh.cpp.

References count, data, e, float(), 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

◆ 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