Blender V5.0
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_matrix.hh"
#include "BLI_math_vector.h"
#include "BLI_offset_indices.hh"
#include "BKE_customdata.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 class  blender::bke::subdiv::AverageWith : int8_t { blender::bke::subdiv::None , blender::bke::subdiv::All , blender::bke::subdiv::Prev , blender::bke::subdiv::Next }

Functions

static int blender::bke::subdiv::displacement_get_grid_and_coord (const Displacement &displacement, const int ptex_face_index, const float u, const float v, const MDisps **r_displacement_grid, float &r_grid_u, float &r_grid_v)
static const MDispsblender::bke::subdiv::displacement_get_other_grid (const Displacement &displacement, const int ptex_face_index, const int corner, const int corner_delta)
BLI_INLINE AverageWith blender::bke::subdiv::read_displacement_grid (const MDisps &displacement_grid, const int grid_size, const float grid_u, const float grid_v, float3 &r_tangent_D)
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, float3x3 &r_tangent_matrix)
static void blender::bke::subdiv::average_read_displacement_tangent (const MultiresDisplacementData &data, const MDisps &other_displacement_grid, const float grid_u, const float grid_v, float3 &r_tangent_D)
static void blender::bke::subdiv::average_read_displacement_object (const MultiresDisplacementData &data, const MDisps &displacement_grid, const float grid_u, const float grid_v, const int ptex_face_index, const int corner_index, float3 &r_D)
static void blender::bke::subdiv::average_get_other_ptex_and_corner (const 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 (const Displacement &displacement, const int ptex_face_index, const int corner, const float grid_u, const float grid_v, const int corner_delta, float3 &r_D)
static void blender::bke::subdiv::average_with_all (const Displacement &displacement, const int ptex_face_index, const int corner, const float, const float, float3 &r_D)
static void blender::bke::subdiv::average_with_next (const Displacement &displacement, const int ptex_face_index, const int corner, const float grid_u, const float, float3 &r_D)
static void blender::bke::subdiv::average_with_prev (const Displacement &displacement, const int ptex_face_index, const int corner, const float, const float grid_v, float3 &r_D)
static void blender::bke::subdiv::average_displacement (const Displacement &displacement, const AverageWith average_with, const int ptex_face_index, const int corner, const float grid_u, const float grid_v, float3 &r_D)
static int blender::bke::subdiv::displacement_get_face_corner (const 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 float3 &dPdu, const float3 &dPdv, float3 &r_D)
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, const Mesh &mesh, const MultiresModifierData &mmd)
static void blender::bke::subdiv::displacement_init_functions (Displacement *displacement)
Displacement API
void blender::bke::subdiv::displacement_attach_from_multires (Subdiv *subdiv, const Mesh *mesh, const MultiresModifierData *mmd)