69 float mapref_imat[4][4];
77 float mat_bone_world[4][4];
108 for (i = 0, mp = mpoly; i < polys_num; i++, mp++) {
113 uint vidx = mloop[lidx].
v;
117 r_texco[vidx][0] = (mloop_uv[lidx].
uv[0] * 2.0f) - 1.0f;
118 r_texco[vidx][1] = (mloop_uv[lidx].
uv[1] * 2.0f) - 1.0f;
134 for (i = 0; i < verts_num; i++,
mv++, r_texco++) {
135 switch (texmapping) {
170 const float (*vertexCos)[3],
172 const bool use_normals,
187 &mesh_prior_modifiers->
id,
198 else if (vertexCos) {
240 if (*defgrp_index != -1) {
260 const char *bonename,
261 const char *description)
263 if (
object ==
NULL) {
276 #define INIT_TYPE(typeName) (types[eModifierType_##typeName] = &modifierType_##typeName)
Blender kernel action and pose functionality.
struct bPoseChannel * BKE_pose_channel_find_name(const struct bPose *pose, const char *name)
bool CustomData_has_layer(const struct CustomData *data, int type)
void * CustomData_get_layer_named(const struct CustomData *data, int type, const char *name)
void CustomData_validate_layer_name(const struct CustomData *data, int type, const char *name, char *outname)
bool BKE_image_is_animated(struct Image *image)
void BKE_image_user_frame_calc(struct Image *ima, struct ImageUser *iuser, int cfra)
struct MDeformVert * BKE_lattice_deform_verts_get(const struct Object *oblatt)
@ LIB_ID_COPY_CD_REFERENCE
struct ID * BKE_id_copy_ex(struct Main *bmain, const struct ID *id, struct ID **r_newid, int flag)
void BKE_id_free(struct Main *bmain, void *idv)
void BKE_mesh_orco_ensure(struct Object *ob, struct Mesh *mesh)
void BKE_mesh_vert_coords_apply(struct Mesh *mesh, const float(*vert_coords)[3])
const float(* BKE_mesh_vertex_normals_ensure(const struct Mesh *mesh))[3]
struct Mesh * BKE_mesh_new_nomain_from_curve(const struct Object *ob)
struct Mesh * BKE_mesh_wrapper_from_editmesh_with_coords(struct BMEditMesh *em, const struct CustomData_MeshMasks *cd_mask_extra, const float(*vert_coords)[3], const struct Mesh *me_settings)
General operations, lookup, etc. for blender objects.
struct Mesh * BKE_object_get_pre_modified_mesh(const struct Object *object)
#define BLI_BITMAP_NEW(_num, _alloc_string)
#define BLI_BITMAP_TEST(_bitmap, _index)
#define BLI_BITMAP_ENABLE(_bitmap, _index)
void mul_m4_m4m4(float R[4][4], const float A[4][4], const float B[4][4])
bool invert_m4_m4(float R[4][4], const float A[4][4])
void mul_m4_v3(const float M[4][4], float r[3])
void mul_v3_m4v3(float r[3], const float M[4][4], const float v[3])
MINLINE void copy_v3_v3(float r[3], const float a[3])
void DEG_add_object_relation(struct DepsNodeHandle *node_handle, struct Object *object, eDepsObjectComponentType component, const char *description)
float DEG_get_ctime(const Depsgraph *graph)
#define MAX_CUSTOMDATA_LAYER_NAME
Object is a sort of wrapper for general info.
Read Guarded memory(de)allocation.
Mesh * MOD_deform_mesh_eval_get(Object *ob, struct BMEditMesh *em, Mesh *mesh, const float(*vertexCos)[3], const int verts_num, const bool use_normals, const bool use_orco)
void MOD_init_texture(MappingInfoModifierData *dmd, const ModifierEvalContext *ctx)
#define INIT_TYPE(typeName)
void MOD_depsgraph_update_object_bone_relation(struct DepsNodeHandle *node, Object *object, const char *bonename, const char *description)
void MOD_previous_vcos_store(ModifierData *md, const float(*vert_coords)[3])
void MOD_get_texture_coords(MappingInfoModifierData *dmd, const ModifierEvalContext *UNUSED(ctx), Object *ob, Mesh *mesh, float(*cos)[3], float(*r_texco)[3])
void MOD_get_vgroup(Object *ob, struct Mesh *mesh, const char *name, MDeformVert **dvert, int *defgrp_index)
void modifier_type_init(ModifierTypeInfo *types[])
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block Image Sample an image file as a texture Sky Generate a procedural sky texture Noise Generate fractal Perlin noise Wave Generate procedural bands or rings with noise Voronoi Generate Worley noise based on the distance to random points Typically used to generate textures such as or biological cells Brick Generate a procedural texture producing bricks Texture Retrieve multiple types of texture coordinates nTypically used as inputs for texture nodes Vector Convert a or normal between and object coordinate space Combine Create a color from its and value channels Color Retrieve a color or the default fallback if none is specified Separate Split a vector into its and Z components Bevel
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Wireframe
void(* MEM_freeN)(void *vmemh)
void *(* MEM_dupallocN)(const void *vmemh)
INLINE Rall1d< T, V, S > cos(const Rall1d< T, V, S > &arg)
float(* vert_coords_prev)[3]
struct Object * map_object
struct MDeformVert * dvert
struct ModifierData * next
struct Depsgraph * depsgraph