|
Blender V4.3
|
#include <optional>#include "blender/attribute_convert.h"#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.hh"#include "BKE_attribute.hh"#include "BKE_attribute_math.hh"#include "BKE_customdata.hh"#include "BKE_mesh.hh"Go to the source code of this file.
Classes | |
| struct | MikkMeshWrapper< is_subd > |
| class | VertexAverageComparator |
Functions | |
| static void | mikk_compute_tangents (const ::Mesh &b_mesh, const char *layer_name, Mesh *mesh, bool need_sign, bool active_render) |
| static void | attr_create_motion_from_velocity (Mesh *mesh, const blender::Span< blender::float3 > b_attr, const float motion_scale) |
| static void | attr_create_generic (Scene *scene, Mesh *mesh, const ::Mesh &b_mesh, const bool subdivision, const bool need_motion, const float motion_scale) |
| static set< ustring > | get_blender_uv_names (const ::Mesh &b_mesh) |
| static void | attr_create_uv_map (Scene *scene, Mesh *mesh, const ::Mesh &b_mesh, const set< ustring > &blender_uv_names) |
| static void | attr_create_subd_uv_map (Scene *scene, Mesh *mesh, const ::Mesh &b_mesh, bool subdivide_uvs, const set< ustring > &blender_uv_names) |
| static void | attr_create_pointiness (Mesh *mesh, const blender::Span< blender::float3 > positions, const blender::Span< blender::float3 > b_vert_normals, const blender::Span< blender::int2 > edges, bool subdivision) |
| static void | attr_create_random_per_island (Scene *scene, Mesh *mesh, const ::Mesh &b_mesh, bool subdivision) |
| static void | create_mesh (Scene *scene, Mesh *mesh, const ::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, const ::Mesh &b_mesh, const array< Node * > &used_shaders, const bool need_motion, const float motion_scale, float dicing_rate, int max_subdivisions) |
|
static |
Definition at line 270 of file blender/mesh.cpp.
References Attribute::add(), attr_create_motion_from_velocity(), ATTR_ELEMENT_CORNER, ATTR_ELEMENT_CORNER_BYTE, ATTR_ELEMENT_FACE, ATTR_ELEMENT_NONE, ATTR_ELEMENT_VERTEX, ATTR_STD_VERTEX_COLOR, BKE_id_attributes_default_color_name(), CD_PROP_BYTE_COLOR, blender::bke::attribute_math::convert_to_static_type(), blender::bke::Corner, blender::bke::AttributeIter::data_type, Attribute::data_uchar4(), blender::bke::AttributeIter::domain, blender::bke::GAttributeReader::domain, blender::bke::Edge, blender::bke::Face, blender::bke::AttributeAccessor::foreach_attribute(), blender::bke::AttributeIter::get(), blender::Span< T >::index_range(), blender::GVArrayCommon::is_empty(), make_uchar4(), blender::bke::AttributeIter::name, blender::bke::Point, Attribute::std, blender::GVArrayCommon::type(), blender::GVArray::typed(), TypeRGBA(), and blender::bke::GAttributeReader::varray.
Referenced by create_mesh().
|
static |
Definition at line 241 of file blender/mesh.cpp.
References Attribute::add(), ATTR_STD_MOTION_VERTEX_POSITION, Attribute::data_float3(), make_float3(), and P.
Referenced by attr_create_generic().
|
static |
Definition at line 606 of file blender/mesh.cpp.
References Attribute::add(), ATTR_STD_POINTINESS, EdgeMap::clear(), Attribute::data_float(), dot(), EdgeMap::exists(), vector< value_type, allocator_type >::free_memory(), EdgeMap::insert(), len_squared(), make_float3(), normalize(), safe_acosf(), array< T, alignment >::size(), sort(), float3::x, float3::y, float3::z, and zero_float3().
Referenced by create_mesh().
|
static |
Definition at line 761 of file blender/mesh.cpp.
References Attribute::add(), ATTR_STD_RANDOM_PER_ISLAND, DisjointSet::find(), hash_uint_to_float(), blender::Span< T >::index_range(), blender::Span< T >::is_empty(), and DisjointSet::join().
Referenced by create_mesh().
|
static |
Definition at line 504 of file blender/mesh.cpp.
References Attribute::add(), ATTR_ELEMENT_CORNER, ATTR_STD_GENERATED, ATTR_STD_NONE, ATTR_STD_UV, ATTR_STD_UV_TANGENT, ATTR_STD_UV_TANGENT_SIGN, ATTR_SUBDIVIDED, CD_PROP_FLOAT2, blender::bke::Corner, CustomData_get_render_layer_name(), Attribute::data_float2(), Attribute::flags, blender::bke::AttributeAccessor::lookup(), make_float2(), mikk_compute_tangents(), NULL, and TypeFloat2().
Referenced by create_mesh().
|
static |
Definition at line 435 of file blender/mesh.cpp.
References Attribute::add(), ATTR_ELEMENT_CORNER, ATTR_STD_GENERATED, ATTR_STD_NONE, ATTR_STD_UV, ATTR_STD_UV_TANGENT, ATTR_STD_UV_TANGENT_SIGN, CD_PROP_FLOAT2, blender::bke::Corner, CustomData_get_render_layer_name(), Attribute::data_float2(), blender::Span< T >::index_range(), blender::bke::AttributeAccessor::lookup(), make_float2(), mikk_compute_tangents(), NULL, and TypeFloat2().
Referenced by create_mesh().
|
static |
Definition at line 809 of file blender/mesh.cpp.
References Attribute::add(), attr_create_generic(), attr_create_pointiness(), attr_create_random_per_island(), attr_create_subd_uv_map(), attr_create_uv_map(), ATTR_STD_GENERATED, ATTR_STD_GENERATED_TRANSFORM, ATTR_STD_POINTINESS, ATTR_STD_UV_TANGENT, ATTR_STD_VERTEX_NORMAL, ATTR_SUBDIVIDED, BKE_mesh_texspace_get(), CD_ORCO, clamp(), blender::bke::Corner, CustomData_get_layer(), blender::Span< T >::data(), Attribute::data_float3(), Attribute::data_transform(), blender::bke::Face, Attribute::flags, float, get_blender_uv_names(), blender::Span< T >::index_range(), blender::Span< T >::is_empty(), blender::bke::AttributeAccessor::lookup(), madd_v3_v3v3v3(), make_float3(), mesh_texture_space(), N, array< T, alignment >::size(), blender::Span< T >::size(), size(), blender::IndexRange::start(), Mesh::SUBDIVISION_CATMULL_CLARK, transform_scale(), transform_translate(), and verts.
Referenced by create_subd_mesh().
|
static |
Definition at line 1042 of file blender/mesh.cpp.
References create_mesh(), blender::bke::Edge, get_transform(), blender::Span< T >::index_range(), blender::Span< T >::is_empty(), max, blender::bke::Point, BObjectInfo::real_object, RNA_float_get(), and RNA_pointer_get().
|
static |
Definition at line 421 of file blender/mesh.cpp.
References CD_PROP_FLOAT2, blender::bke::Corner, blender::bke::AttributeIter::data_type, and blender::bke::AttributeIter::domain.
Referenced by create_mesh().
|
static |
Definition at line 186 of file blender/mesh.cpp.
References Attribute::add(), ATTR_ELEMENT_CORNER, ATTR_STD_UV_TANGENT, ATTR_STD_UV_TANGENT_SIGN, AttributeSet::attributes, Attribute::data_float(), Attribute::data_float3(), mikk::Mikktspace< Mesh >::genTangSpace(), and NULL.
Referenced by attr_create_subd_uv_map(), and attr_create_uv_map().