Blender V5.0
BKE_subdiv_eval.hh File Reference
#include "BLI_math_vector_types.hh"
#include "BLI_span.hh"

Go to the source code of this file.

Namespaces

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

Enumerations

enum  blender::bke::subdiv::eSubdivEvaluatorType { blender::bke::subdiv::SUBDIV_EVALUATOR_TYPE_CPU , blender::bke::subdiv::SUBDIV_EVALUATOR_TYPE_GPU }

Functions

bool blender::bke::subdiv::eval_begin (Subdiv *subdiv, eSubdivEvaluatorType evaluator_type, OpenSubdiv_EvaluatorCache *evaluator_cache, const OpenSubdiv_EvaluatorSettings *settings)
bool blender::bke::subdiv::eval_begin_from_mesh (Subdiv *subdiv, const Mesh *mesh, eSubdivEvaluatorType evaluator_type, Span< float3 > coarse_vert_positions={}, OpenSubdiv_EvaluatorCache *evaluator_cache=nullptr)
bool blender::bke::subdiv::eval_refine_from_mesh (Subdiv *subdiv, const Mesh *mesh, Span< float3 > coarse_vert_positions)
void blender::bke::subdiv::eval_init_displacement (Subdiv *subdiv)
float3 blender::bke::subdiv::eval_limit_point (Subdiv *subdiv, int ptex_face_index, float u, float v)
void blender::bke::subdiv::eval_limit_point_and_derivatives (Subdiv *subdiv, int ptex_face_index, float u, float v, float3 &r_P, float3 &r_dPdu, float3 &r_dPdv)
void blender::bke::subdiv::eval_limit_point_and_normal (Subdiv *subdiv, int ptex_face_index, float u, float v, float3 &r_P, float3 &r_N)
void blender::bke::subdiv::eval_vertex_data (Subdiv *subdiv, int ptex_face_index, float u, float v, float r_vertex_data[])
void blender::bke::subdiv::eval_face_varying (Subdiv *subdiv, int face_varying_channel, int ptex_face_index, float u, float v, float2 &r_face_varying)
void blender::bke::subdiv::eval_displacement (Subdiv *subdiv, int ptex_face_index, float u, float v, const float3 &dPdu, const float3 &dPdv, float3 &r_D)
float3 blender::bke::subdiv::eval_final_point (Subdiv *subdiv, int ptex_face_index, float u, float v)