Blender V4.3
subdiv_displacement_multires.cc File Reference
#include <cmath>
#include "BKE_subdiv.hh"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_modifier_types.h"
#include "BLI_math_matrix.h"
#include "BLI_math_vector.h"
#include "BLI_utildefines.h"
#include "BKE_customdata.hh"
#include "BKE_mesh.hh"
#include "BKE_multires.hh"
#include "BKE_subdiv_eval.hh"
#include "MEM_guardedalloc.h"

Go to the source code of this file.

Classes

struct  blender::bke::subdiv::PolyCornerIndex
 
struct  blender::bke::subdiv::MultiresDisplacementData
 

Namespaces

namespace  blender
 
namespace  blender::bke
 
namespace  blender::bke::subdiv
 

Enumerations

enum  blender::bke::subdiv::eAverageWith { blender::bke::subdiv::AVERAGE_WITH_NONE , blender::bke::subdiv::AVERAGE_WITH_ALL , blender::bke::subdiv::AVERAGE_WITH_PREV , blender::bke::subdiv::AVERAGE_WITH_NEXT }
 

Functions

static int blender::bke::subdiv::displacement_get_grid_and_coord (Displacement *displacement, const int ptex_face_index, const float u, const float v, const MDisps **r_displacement_grid, float *grid_u, float *grid_v)
 
static const MDispsblender::bke::subdiv::displacement_get_other_grid (Displacement *displacement, const int ptex_face_index, const int corner, const int corner_delta)
 
BLI_INLINE eAverageWith blender::bke::subdiv::read_displacement_grid (const MDisps *displacement_grid, const int grid_size, const float grid_u, const float grid_v, float r_tangent_D[3])
 
static void blender::bke::subdiv::average_convert_grid_coord_to_ptex (const int num_corners, const int corner, const float grid_u, const float grid_v, float *r_ptex_face_u, float *r_ptex_face_v)
 
static void blender::bke::subdiv::average_construct_tangent_matrix (Subdiv *subdiv, const int num_corners, const int ptex_face_index, const int corner, const float u, const float v, float r_tangent_matrix[3][3])
 
static void blender::bke::subdiv::average_read_displacement_tangent (MultiresDisplacementData *data, const MDisps *other_displacement_grid, const float grid_u, const float grid_v, float r_tangent_D[3])
 
static void blender::bke::subdiv::average_read_displacement_object (MultiresDisplacementData *data, const MDisps *displacement_grid, const float grid_u, const float grid_v, const int ptex_face_index, const int corner_index, float r_D[3])
 
static void blender::bke::subdiv::average_get_other_ptex_and_corner (MultiresDisplacementData *data, const int ptex_face_index, const int corner, const int corner_delta, int *r_other_ptex_face_index, int *r_other_corner_index)
 
static void blender::bke::subdiv::average_with_other (Displacement *displacement, const int ptex_face_index, const int corner, const float grid_u, const float grid_v, const int corner_delta, float r_D[3])
 
static void blender::bke::subdiv::average_with_all (Displacement *displacement, const int ptex_face_index, const int corner, const float, const float, float r_D[3])
 
static void blender::bke::subdiv::average_with_next (Displacement *displacement, const int ptex_face_index, const int corner, const float grid_u, const float, float r_D[3])
 
static void blender::bke::subdiv::average_with_prev (Displacement *displacement, const int ptex_face_index, const int corner, const float, const float grid_v, float r_D[3])
 
static void blender::bke::subdiv::average_displacement (Displacement *displacement, eAverageWith average_with, const int ptex_face_index, const int corner, const float grid_u, const float grid_v, float r_D[3])
 
static int blender::bke::subdiv::displacement_get_face_corner (MultiresDisplacementData *data, const int ptex_face_index, const float u, const float v)
 
static void blender::bke::subdiv::initialize (Displacement *displacement)
 
static void blender::bke::subdiv::eval_displacement (Displacement *displacement, const int ptex_face_index, const float u, const float v, const float dPdu[3], const float dPdv[3], float r_D[3])
 
static void blender::bke::subdiv::free_displacement (Displacement *displacement)
 
static int blender::bke::subdiv::count_num_ptex_faces (const Mesh *mesh)
 
static void blender::bke::subdiv::displacement_data_init_mapping (Displacement *displacement, const Mesh *mesh)
 
static void blender::bke::subdiv::displacement_init_data (Displacement *displacement, Subdiv *subdiv, Mesh *mesh, const MultiresModifierData *mmd)
 
static void blender::bke::subdiv::displacement_init_functions (Displacement *displacement)
 
void blender::bke::subdiv::displacement_attach_from_multires (Subdiv *subdiv, Mesh *mesh, const MultiresModifierData *mmd)